To view parent comment, click here.
To read all comments associated with this story, please click here.
No, Vala really has no runtime. It compiles directly to C, no bytecode, interpreters or whatever. It also has no standard library. The result only depends on GLib (they use GObject to implement the object model) and the C library (for obvious reasons).
Vala is very interesting but I wouldn't use it because it doesn't look mature enough. The website looks like it's incomplete, there doesn't seem to be much tool support, there doesn't seem to be much of a community around it and documentation is lacking.
Edited 2010-02-09 23:54 UTC
Then I advise you to go back to your compiler design classes, since you seem to have missed quite a few of them.
All languages have runtimes!
Assembly - The microcode used by the processor to perform all steps required by the each instruction
C - The code that usually lives in crt0 and allows main() to be called from the OS, execution of atexit() registed callbacks, sbr() style of memory management from malloc and friends
C++ - Same as C, plus the code to ensure proper initialization of constructors for static objects, object construction/destruction, management of stack unwinding for exceptions
Should I carry on with more examples?
A runtime is more than just people know JVM or CLR for. It is all the required library infrastructure a language needs to exist.
For example, on embedded systems the languages sometimes target directly the hardware, without any OS support. On those cases, the required infrastructure to start the application and interface with the hardware is the runtime.
Again, please remember to attend your compiler classes.





Member since:
2005-07-08
All programming languages have runtimes. They can be bigger or smaller, simple or complex, but that is all.