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...
Thread beginning with 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
idmillington
Member since:
2011-08-26

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

RE: What's the Problem
by opadikt on Fri 26th Aug 2011 15:17 in reply to "What's the Problem"
opadikt Member since:
2011-08-26

@idmillington: thanks for your candid interest in Opa. I understand you don't like its licence, though. We may be open to changing it. What would you advocate instead ?

Reply Parent Score: 1

RE[2]: What's the Problem
by DavidStone on Fri 26th Aug 2011 17:27 in reply to "RE: What's the Problem"
DavidStone Member since:
2011-08-26

Maybe LGPLv3? Allows linking/using the framework without 'infecting' the code 'linking' against it. It also solves the Tivoization problem which is obviously a concern with server side code that gets deployed but not distributed in the traditional sense.

Reply Parent Score: 1

RE[2]: What's the Problem
by idmillington on Mon 29th Aug 2011 20:10 in reply to "RE: What's the Problem"
idmillington Member since:
2011-08-26

The problem with the license is that it doesn't fit with the commercials of how I do the web.

Typically I grind away for a couple of months, building something neat, then release it, and it either flops or gets some traction. If the latter I find some money to throw at taking it more seriously.

The license as I read it is incompatible with this. Either I have to release my source code from day 1, or I have to pay from day 1. If the former, then I've got virtually no defendability, if the latter then I can't afford to use it. So it just doesn't work out for me beyond messing about.

Although AGPL is used for Mongo, this is a different kettle of fish, because with a DB, there is a fire-break at the interface (and the Mongo interfaces are Apache licensed). I don't have to share my application code with the world, only stuff I do to Mongo itself (which I'd imagine almost nobody ever does).

In short AGPL for a programming language is always going to seriously hurt, if not totally torpedo adoption. But obviously a BSD-style license isn't painful enough to encourage many to pay you. Its a catch-22. But I suspect you'll probably end up being forced to use a more liberal license in due course, to encourage great apps to be written which in turn will raise Opa's profile. The ultimate aim has to be for a big-huge-web-success-story to say "We built our system on Opa", and a company that you can provide vast amounts of training, consultancy and support for - that, I think, is a numbers game, ubiquity is more important than incremental revenue at this stage, imho.

Now a few more days into playing with Opa, and I do think it has some very strong points. I also very much like the effort that has gone into documentation. It is an impressive package.

Reply Parent Score: 1