JavaFX

I’m not convinced.

It looks to me like they’re aiming at something a bit more dynamic/higher level than Java, in more or less the space that Javascript, Ruby and Python operate in.

The declarative GUI stuff looks pretty good, but I don’t know if the rest will make that worth it.

The language itself seems neither here nor there. It’s a lot like Javascript – but not quite. It doesn’t have real hash tables, something I don’t care for in JS, and I didn’t see an eval() method in the documentation, which means that their aim is to make something that you compile, and that doesn’t carry around an interpreter with it like most dynamic languages with eval have to.

I wonder what kind of support it will get from Sun and the open source community? Will the internal Java group view this as some sort of competitor? I wonder what sort of discussions went on during the creation of this system at Sun. They can’t have take the decision to make a new, incompatible language very lightly.

A new language has to have a killer app to drive acceptance, and I don’t quite see one for this. The FAQ sheds some light on where they’d like to go:

Why did you create another scripting language?

JavaFX Script is specifically designed to optimize the creative process of building rich and compelling UIs leveraging Java Swing, Java 2D and Java 3D for developers and content authors.

Why isn’t Groovy enough?

Groovy and other languages have two specific traits which don’t precisely meet these needs, namely that they are generic in nature and don’t provide the appropriate abstractions necessary to optimize the UI design process and similarly are designed specifically for programmers other than content authors.

So it does look like they’re aiming for a language that makes it easy to quickly create GUI’s for people who perhaps aren’t expert enough (or patient enough) to deal with Java itself. Pity they didn’t just stick with Tcl and Tk, which have had a more or less declarative syntax for specifying layout for something like 10 years, and in any case have a flexible enough syntax to “run DSL circles” around most languages that are currently popular.

As the author of Hecl, I’m particularly curious about their mobile strategy. If I may be permitted a bit of hubris, it’s nice that they see things my way, that mobile apps need a good scripting language in order to make them more accessible to the masses, but it wasn’t too hard to see that coming, with the ever increasing capabilities of higher end phones, and the “scaling down” that scripting languages bring to programming (making it easier for people to get started even if they aren’t experts).

I wonder what sort of diffusion they’ll get with their phone system, and how fast, and how easy it will actually be to program the phones. For many people it’s probably not as important, but by creating a real interpreter, rather than something that’s compiled and doesn’t have an eval function, Hecl lets you download and execute code, which makes for some very interesting possibilities (as well as some risks, of course). That’s probably not important though, if they can actually make a system that’s widely used, and easier to create applications for than J2ME currently is. I wonder if they’ll allow J2ME on the phone platform, or close that down in favor of JavaFX?

Even for Big Companies, launching a new language is a difficult endeavour[1], and it will be a number of years before we see where this ends up, but I’m not convinced.

[1]
The Economics of Programming Languages

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s