Linked by David Adams on Thu 1st Mar 2012 22:29 UTC, submitted by akoprowski
General Development A detailed comparison of two novel approaches to developing web apps : Node.js and Opa. Both technologies are open source, allow writing "Hello world" web app in just a few lines and both focus on the Web rather than on generic programming. However, Opa seems to be much more concise, is strongly typed and by design makes most popular security threats void.
Thread beginning with comment 509282
To read all comments associated with this story, please click here.
Something new-
by voidlogic on Fri 2nd Mar 2012 13:32 UTC
voidlogic
Member since:
2005-09-03

If doing something new on the server side I think I would be more tempted by Google's Go than either of these.

http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=v...

I think a [Server-side Go / MySQL + Client-Side GWT] project sounds fun ;)

+ No javascript! (written), unlike node.js...
+ I don't need a commercial license from Opa*...
+ All strongly typed
+ Should be fast to run and develop!

But this is coming from a person who's web projects are ASP.NET, JSF and PHP and really likes C.

* Firstly, "if I'm using AGPL Opa to develop an app does it need to be AGPL, too?". Long story short — yes, it does. http://blog.opalang.org/2011/08/opa-license-contributions.html

Reply Score: 2

RE: Something new-
by moondevil on Fri 2nd Mar 2012 13:51 in reply to "Something new-"
moondevil Member since:
2005-07-08

Comparing with ML, Go is just too primitive as it is basically C + Interfaces + Modules + GC.

Lacking many of the nowadays abstractions:

- enums
- generic types
- exception handling
- functional programming concepts

The oversold channels feature can be easily done with message queues in any current mainstream language.

Reply Parent Score: 2

RE[2]: Something new-
by voidlogic on Fri 2nd Mar 2012 14:10 in reply to "RE: Something new-"
voidlogic Member since:
2005-09-03

My opinion of course:

- enums
Superfluous

- generic types
Interfaces with go's loose binding is good enough most of the time. You are right, this would be nice.

- exception handling
Go's take is better IMHO. C style programming by contract + panic/recover/defer leads to better code (for OK/competent and better coders).

- functional programming concepts
When I want this I will invoke my Haskell program... Most of the time this stuffis marketing/buzzword fluff, again IMHO.

Reply Parent Score: 2

RE: Something new-
by lambdaterm on Fri 2nd Mar 2012 15:26 in reply to "Something new-"
lambdaterm Member since:
2011-08-26

I don't agree with what's written on the Opa blog.
Basically, the AGPL license allows you to mix it with GPL code.
So, applications written in Opa can be GPL licensed, which means that for instance you can host the applications online without providing the source code to users. Or am I wrong?

Reply Parent Score: 1