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 449763
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Comment by sukru
by JeffS on Fri 12th Nov 2010 16:41 UTC in reply to "Comment by sukru"
JeffS
Member since:
2005-07-12

Why bother? Simple. So you can use those goodies on other platforms besides Windows, or .Net. I'm not knocking those, but lots of people prefer choice of platforms as well as vendor.

And give credit where credit is due. Ander Hejlsberg and his team at MS have done a fantastic job of designing and evolving C#.

And unfortunately, Java (the language) has fallen behind.

However, the JVM itself is a fantastic, wonderful feat of software engineering, and a great platform to run on, and loaded with huge, fantastic, libraries.

Java (the Language) being behind the times, + the JVM (the runtime/platform) being a wonderful platform and great engineering = need for other JVM languages. Enter Scala, Groovy, JRuby, Jython, Clojure, and now Gosu. And some of these are already well into large production environments - Groovy and Grails, Scala + Lift, JRuby, etc.

This is where the excitement of Java lies - JVM + newer JVM languages.

Edited 2010-11-12 16:41 UTC

Reply Parent Score: 2

RE[2]: Comment by sukru
by sukru on Fri 12th Nov 2010 18:11 in reply to "RE: Comment by sukru"
sukru 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.

Reply Parent Score: 2

RE[3]: Comment by sukru
by carsongross on Sat 13th Nov 2010 17:17 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