Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Cloud Open Source Programming News

Announcing Opa: Making Web Programming Transparent 253

phy_si_kal writes "Opa, a new open source 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 logic, 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 discussion has been archived. No new comments can be posted.

Announcing Opa: Making Web Programming Transparent

Comments Filter:
  • by Cyberax ( 705495 ) on Saturday August 27, 2011 @06:41PM (#37230694)

    How is it different from, say, Wicket or ZK, or even GWT?

    I can write complete AJAX-y webapps in Wicket or ZK, including database. They both store state of pages on server side, so AJAX becomes trivial (just rerender the page and send the difference in DOM trees using JSON).

    Then there's GWT which compiles static Java code into JavaScript.

  • by Anonymous Coward on Saturday August 27, 2011 @07:42PM (#37231060)

    In German too. So Germany, Austria, half of Switzerland and Luxemburg are already going WTF or laughing before they even check if itâ(TM)s useful.

    (It's not. There is a reason there are different languages: The right tool for the right job. Trying to auto-translate e.g. JavaScript into SQL or regular expressions, is bound to result in a horrible frankenstein monster [which luckily is as slow as a glacier]. And for those languages where itâ(TM)s easy, like PHP, Python, Java, C++, it's not worth it since they are so easy that if you know one, you can learn the other one in a single day.
    The real problem are the different libraries. Those are the ones that need unification. [But there should still be at least 3 competing unified libraries, so no monopoly or duopoly can ever happen.] Provided they don't ignore the language differences.)

  • Wt (Score:4, Interesting)

    by paugq ( 443696 ) <pgquiles.elpauer@org> on Saturday August 27, 2011 @08:23PM (#37231288) Homepage

    Why is a new programming language required to "make web development transparent"?

    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

    Wt [] does exactly the same but in C++. You develop webapps like desktop apps: widgets, ORM, etc. No need to care about Javascript, HTML, etc. Compilers available on all platforms. The result is a single binary which includes an embedded HTTP(S) server.

    While I agree with what Opa wants to achieve, inventing a new programming language for that end is unnecessary and, in fact, will become a burden: they will need to maintain both the language and the library. But actually the value lies in the library, which is the one that needs to deal with HTTP, Javascript, AJAX, etc

  • by Seferino ( 837142 ) on Sunday August 28, 2011 @12:59AM (#37232294) Homepage

    Integrating everything into one thing seems like a poor idea. Sure, it makes it a little easier for the dev, but in the end, you are just learning 5 times the amount of Opa when you could learn each thing.

    Well, that's not quite true. Having the same language for database manipulation and for in-memory manipulation is a huge time-saver. Having the same language (indeed, the same piece of code) for server-side validation and for client-side validation is more efficient and less bug-prone. And you have only learnt one thing.

    Not only that, but can one thing really do all those tasks the other things do, and do it as well? Even if it can, it's harder to keep all of those on a level, you can't replace those parts if you find something better. It just seems to me that splitting things down into the parts seems like something we should be doing, not reversing.

    Ok, on this, you may have a point.

    I also really don't like the whole compiling to JavaScript behaviour. Maybe just because I don't like JavaScript.

    Well, that's part of the point: with Opa, you do not need to write any JavaScript.

    Caveat I'm part of the Opa team. Well, worse than that, I'm the architect-in-chief.

This process can check if this value is zero, and if it is, it does something child-like. -- Forbes Burkowski, CS 454, University of Washington