I too was impressed by the video, and the demo. The team seems like they are building some great tools.
But that is where my fascination with 280 ends, they are taking a great language, Javascript, and turning it into something its not. Take a look at Objective-J its not javascript. It doesn't really even look like javascript.
As a JS developer, I am not certain I will be willing to give up JS, just so I can use these visual programming tools.
I am going to spend the 20 bucks though, I really want to see how much of the Objective-J I can strip out just use JS.
Objective-J looks as much like Javascript as Objective-C looks like C.
To an objective-C programmer, it looks like home :)
And in both cases, you can drop down to the native language whenever you want. In objective-C you can write straight C code, and in Objective-J you can write straight javascript if you want.
Stop thinking about it as "turning JavaScript into something" and start thinking about it as adding new features to the language that were previously missing.
Code importing is clearly a feature we can all get behind. Classes are clearly something that almost every JavaScript library uses. We make those things language features instead of library features.
The unique feature we add, and the reason we really have to introduce a custom syntax at all, is dynamic message passing. Message passing enables all kinds of cool new features, because method implementations aren't bound until the message is received.
If you really wanted you could do this yourself:
objj_msgSend(anObject, "message:", aParam);
But clearly this is much cleaner:
[anObject message:aParam];
Objective-J is not compiled really, it's translated. All of it's features are part of the Objective-J runtime, which is written purely in JavaScript. So you can use it without using the syntax if you like. It's simply a lot more work to do so.
I think its great that these guys are trying something. They have an argument, and instead of theorizing they are going for it. I just think that its to far away from what JS is, JS has a long history behind it, and these 3 guys are trying to change that entire history with one broad stroke, I think that is nearly impossible to achieve.
Besides if they feel they have something JS developers want why not take it through the standards bodies.
I am one of those people, so no need to refer to me in the third person :)
Standards bodies are hopelessly slow. If I wanted to wait a decade to get a new feature, I'd propose it to a standards body. I actually want to write programs.
Part of the power of Objective-J is taking control of the language away from standards bodies. Objective-J can evolve at any pace we like, and anyone can fork it and make their own changes.
JavaScript does have a long history, but it's an awful one. It's a history of being a second class language that was slow and that was not used to produce anything significant. Only recently has that changed. And there is now a growing culture of implementing languages on top of JavaScript. Python, Ruby, Smalltak, and others have all been written on top of JS. GWT compiles from Java to JS. There are similar compilers for Lisp, PHP, C# and others. It seems narrow minded to assume that only the flavor of JS that has existed for over a decade should be allowed to exist. That's why we build abstractions.
We are not rewriting history nor are we moving far away from what JavaScript is. Most of the code you write is pure JavaScript anyway. You can do as much in pure JS as you like. We are making the programming environment easier to use, should you choose to take advantage of that.
But that is where my fascination with 280 ends, they are taking a great language, Javascript, and turning it into something its not. Take a look at Objective-J its not javascript. It doesn't really even look like javascript.
As a JS developer, I am not certain I will be willing to give up JS, just so I can use these visual programming tools.
I am going to spend the 20 bucks though, I really want to see how much of the Objective-J I can strip out just use JS.