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 321450
To read all comments associated with this story, please click here.
Why?
by evangs on Sat 5th Jul 2008 11:09 UTC
evangs
Member since:
2005-07-07

I'm amazed that nobody has asked the all too important question. Why Vala?

Just browsing through the sample code, it looks similar to C# and Java. In fact, everything I've seen done in Vala can be done with a similar line count in C#.

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.

Why?

RE: Why?
by pseudocode on Sat 5th Jul 2008 11:26 in reply to "Why?"
pseudocode Member since:
2007-05-30

The NIH syndrom, this time coming from the open-source planet ?

Reply Parent Bookmark Score: 1

RE: Why?
by abraxas on Sat 5th Jul 2008 11:31 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[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

RE: Why?
by smitty on Sat 5th Jul 2008 18:30 in reply to "Why?"
smitty Member since:
2005-10-13

Why design a new language when there isn't anything that sufficiently differentiates it from every other programming language in existence?


C development is simply to low level for a lot of GNOME programmers and there is a general agreement that something is needed.

90% of them feel that C++ is stupid and used by that other desktop, and would be a mistake to use. 90% feel like C# is an evil MS patent trap. 90% feel like Java is an ugly slow monstrosity. 90% don't like any other language either, for various reasons.

So if the developer base can't agree on any existing language, their only choice was to create an entirely new one. This also gives them some advantages, because they can customize it the way they want to integrate better into the GNOME system. The downfall is that no one is going to be familiar with it, but generally to do GNOME/KDE type development you have to familiarize yourself with libraries anyway. As long as the language is familiar enough to others, that might not be a big leap.

Reply Parent Bookmark Score: 4