Linked by David Adams on Sat 5th Jul 2008 05:03 UTC, submitted by Pfeifer
General Development "Vala is, in some sense, a new programming language. It’s syntax and structure leans heavily towards C#. As Jurg Billeter, the mastermind behind Vala, likes to put it; Vala is an amalgam of different C inspired languages, mostly C++ and C#. An though there is no mercury in this mixture, you'll find many a gold nugget in Vala."
Thread beginning with comment 321453
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Why?
by abraxas on Sat 5th Jul 2008 11:31 UTC in reply to "Why?"
abraxas
Member since:
2005-07-07

So that begs the question. Why design a new language when there isn't anything that sufficiently differentiates it from every other programming language in existence? OK, that veering off into the realm of hyperbole. Still, the point remains.

Both Java and C# use a VM. Vala does not. Vala generates C code. Vala also is specifically geared towards the GObject system of GNOME. Vala gives you a fast, low overhead language with OO features that integrates nicely with GNOME. Neither Java nor C# does that.

It's also worth noting that GNOME is already developed in C and switching to Vala makes a lot more sense than Java or C#.

Edited 2008-07-05 11:33 UTC

Reply Parent Bookmark Score: 11

RE[2]: Why?
by evangs on Sat 5th Jul 2008 18:20 in reply to "RE: Why?"
evangs Member since:
2005-07-07

Java and C# use a VM.


Use GCJ and remove the need for the JVM?


Vala generates C code.


The first implementation of C++, C with classes did that. I find it hard to see how such a thing could be beneficial?


Vala also is specifically geared towards the GObject system of GNOME. Vala gives you a fast, low overhead language with OO features that integrates nicely with GNOME. Neither Java nor C# does that.


GObject is a hack that allows some semblance of object oriented programming in C. In a true object oriented library, it's no different to any base class type. See Object in Java, CObject in MFC, QObject in Qt, etc. The fact is that the GTK way of doing things is starting to show its age and unless something is done about it, creating a new language is not going to solve anything.

Then again, if C compatibility is so important, theres always C++ or Objective-C.


It's also worth noting that GNOME is already developed in C and switching to Vala makes a lot more sense than Java or C#.


I beg to differ. Switch to a brand new language that nobody actively uses does not seem like a sensible thing to me.

But to each his own, I guess. Having said all that, I'll still be keeping an eye on Vala to see how it develops.

Reply Parent Bookmark Score: 5

RE[3]: Why?
by abraxas on Sat 5th Jul 2008 22:48 in reply to "RE[2]: Why?"
abraxas Member since:
2005-07-07

Use GCJ and remove the need for the JVM?

Vala works better with the GObject system than Java.

The first implementation of C++, C with classes did that. I find it hard to see how such a thing could be beneficial?

GObject is much better suited to language bindings than C++ and has signals built in, unlike C++.

GObject is a hack that allows some semblance of object oriented programming in C. In a true object oriented library, it's no different to any base class type. See Object in Java, CObject in MFC, QObject in Qt, etc. The fact is that the GTK way of doing things is starting to show its age and unless something is done about it, creating a new language is not going to solve anything.

GObject works well for what it was inteded to do. The use of Vala does not mean that GObject and other GNOME technologies cannot be advanced either.

Then again, if C compatibility is so important, theres always C++ or Objective-C.

Again the crucial difference here is GObject. Whether you like it or not GNOME is built around it and only Vala makes it easy to take advantage of GObject directly.

I beg to differ. Switch to a brand new language that nobody actively uses does not seem like a sensible thing to me.

Syntax for Vala is very familiar and the politics of Java and C# pretty much preclude their use as an official GNOME language. C++ isn't very portable and would ruin some of GNOME's strengths.

Contrary to what you believe I think Vala makes a lot more sense when you take these things into consideration.

Reply Parent Bookmark Score: 3

RE[2]: Why?
by renox on Sat 5th Jul 2008 19:40 in reply to "RE: Why?"
renox Member since:
2005-07-06

The thing is: there's already some Free languages without GC similar to Vala: D for example.

I agree that Vala suffers from NIH syndrome..

Reply Parent Bookmark Score: 3