To view parent comment, click here.
To read all comments associated with this story, please click here.
Hi Guys,
I'm one of the gosu developers, the guy who gave the presentation to the SacJUG.
So, yeah, Gosu isn't revolutionary in many ways: it takes good ideas from C#, Ruby, etc. and then tries to be a very smooth lateral transition for java developers. It is statically typed mainly to support tooling (code competion, etc.) It has a few interesting features, such as a delegate keyword that allows you to implement interfaces with a field, which allows for easy compositional programming ("Favor composition over inheritance" the experts always tell me.)
It also has automatic downcasting after a type test:
var foo : Object = "foo"
if( foo typeis String ) {
print( foo.capitalize() ) // <-- automatically downcast to String
}
These are small things, but nice.
The core innovation of the language is the Open Type System, which allows frameworks to generate Domain Specific Type Systems. It's effectively a formalized and simple to understand metaprogramming system that gives library and framework developers a heck of a tool. Scott McKinney, the father of the language, will be putting a post up on this concept soon here:
http://guidewiredevelopment.wordpress.com/
If you are a JVM programmer or someone who likes to dabble in lots of languages, Gosu is worth watching.
Also, for the concerns that this language might be too oriented towards a particular client: don't worry. Gosu is a general programming language that used in all sorts of ways by Guidewire. The commercial support increases the chance that it won't go away. (Guidewire actually makes money, this isn't a vanity project.)
I'm happy to answer any questions or comments.




Member since:
2006-11-19
You're right, I agree that there is still value in the Java platform.
However with the real thing, I mean the thing itself. You can actually use C# with JVM. For example:
* Grasshopper lets you use C# to directly write JVM code. It was expensive, but I think it became free: http://dev.mainsoft.com/Default.aspx?tabid=29
* Stab (another open source project) is already an implementation of a C# like language on the JVM: http://code.google.com/p/stab-language/
* As a side note, IKVM lets you do the reverse: Java JAR -> .Net DLL conversion, thus you can employ Java libraries in .Net project
And there could be others. That's why I'm questioning the novelty of this new language.