Linked by Thom Holwerda on Mon 8th Feb 2010 13:23 UTC, submitted by kragil
Graphics, User Interfaces You may remember that back in November last year, I wrote about the lack of a decent Paint.NET-like application for Linux (or, more specifically, for Gtk+ distributions, since Qt has Krita). As it turns out, this compelled Novell employee Jonathan Pobst to code a Paint.NET clone in Gtk+ using Cairo. Version 0.1 is here, and it's remarkably advanced for something so young.
Thread beginning with comment 408518
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: valanator
by moondevil on Tue 9th Feb 2010 15:05 UTC in reply to "RE: valanator"
moondevil
Member since:
2005-07-08

All programming languages have runtimes. They can be bigger or smaller, simple or complex, but that is all.

Reply Parent Score: 2

RE[3]: valanator
by FooBarWidget on Tue 9th Feb 2010 23:52 in reply to "RE[2]: valanator"
FooBarWidget Member since:
2005-11-11

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

Reply Parent Score: 2

RE[4]: valanator
by moondevil on Wed 10th Feb 2010 09:56 in reply to "RE[3]: valanator"
moondevil Member since:
2005-07-08

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.

Reply Parent Score: 2