Linked by Thom Holwerda on Wed 10th Nov 2010 18:56 UTC, submitted by fran
Java "Programmers in the Java environment have another tool in their box, following the launch of a new programming language called Gosu. Publicly released by Guidewire Software, Gosu is a general purpose programming language that runs on the Java Virtual Machine. According to the developers, Gosu is an object-oriented language that is 100% compatible with Java and has a promising set of attributes compared to other JVM languages. For example, Gosu boasts solid IDE tooling and static typing (meaning variables don't have to be defined before they're used), which remain rare in the world of JVMs."
Thread beginning with comment 449878
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: Comment by sukru
by carsongross on Sat 13th Nov 2010 17:17 UTC in reply to "RE[2]: Comment by sukru"
carsongross
Member since:
2010-11-13

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.

Reply Parent Score: 1