14 comments

[ 5.4 ms ] story [ 47.4 ms ] thread
(comment deleted)
The design goals are insufficient for creating a new language. Java fulfills the goals perfectly.
Downvoted because you present no arguments for two non-obvious statements.
The second statement seems obvious to me looking at the design goals, since the goals are mainly expressed in terms of compatibility with Java.

From that I'd conclude that these are not really 'design goals', but rather requirements.

As a C# developer it looks like the main design goals should have been formulated in terms of C#'s design goals (insofar as those differ from Java). Because it looks like this project is about porting C# language features not found in Java to a language that otherwise looks more or less like Java (to my untrained eye).

Many of the features listed are implemented by C# in the compiler (and some library code), not the runtime. So that makes it seem like a perfectly reasonable project to me.

...well, did you read the "design goals"? I'm sure he had other design goals than those, otherwise he wouldn't have created the language, so those bullet points are definitely not the "design goals". But I'm sure he's a much better programmer than copywriter.

To the language creator: please write a more informative description of the language's goals, because the whole point of something that's not just a research/toy language is to get people using it!

These days, a language compiler is only a part of what makes a new language interesting: without tool support (IDE plug-ins) and extensive libraries, your language will go largely unnoticed.

Wishing Stab good luck, the more languages, the better!

Definitely requires more than just a compiler - but I think publicity and broad developer support is even more important that IDE plug-ins and libraries. Java already has extensive libraries, so it is probably possible to leverage these. Also, a lot of languages gain some popularity before plugins start appearing. But completely agree - a compiler is not enough...
This isn't correct, is it?

  Because the Java platform does not have a common interface
  to specify disposable objects, the Stab compiler uses the 
  stab.lang.Dispose annotation to find the method to call to 
  dispose the instances of a given type. 
Java has Closeable to specify this.

http://docs.oracle.com/javase/1.5.0/docs/api/java/io/Closeab...

Mmmh, last check-in was December 2010...
Your remark should be at the top of this thread just as a remainder not to rely on this code.

BTW, another good tip is to always look first at the source code itself, ignoring the documentation or website style. That will keep you away from a lot of pain.

Or just run C# on the JVM with Grasshopper:

http://dev.mainsoft.com/

(not 100% clear on the licensing issues, but it sounds like 'free as in beer'.)