Linked by hbbio on Thu 25th Aug 2011 22:14 UTC
General Development "Opa, a new opensource programming language aiming to make web development transparent has been publicly launched. Opa automatically generates client-side Javascript and handles communication and session control. The ultimate goal of this project is to allow writing distributed web applications using a single programming language to code application logics, database queries and user interfaces. Among existing applications already developed in Opa, some are worth a look. Best place to start is the project homepage which contains extensive documentation while the code of the technology is on GitHub. A programming challenge ends October 17th." This is weird. 'Opa' is the nickname my friends gave me 6 years ago. It's still used more often than my actual name...
Permalink for comment 487049
To read all comments associated with this story, please click here.
What's the Problem
by idmillington on Fri 26th Aug 2011 14:49 UTC
Member since:

Any press-release is going to hype up its topic.

I've been programming with Opa for all of 24 hours now, but it has some neat ideas. There is an artificial dividing line between client and server in most apps, and often significant boiler-plate in keeping them in sync. I've used common javascript code on client and server before to mitigate this, but it isn't painless. Opa so far does that quite nicely.

It is vaguely ML-like and written in Ocaml.

But I don't really get why the resistance to 'another language'. I say bring it on. Every language is another attempt to build a grammar around a problem space, and that encourages different thinking patterns. You might not use Opa for anything but experiments (actually because of its license, I definitely won't). But its design might influence how you build other apps in the future. And if not, at the very least, it means you've learned another language. And the more you learn, the faster you learn them. The first couple of dozen are definitely the hardest....

Reply Score: 2