Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Opa 1.0 Released

timothy posted more than 2 years ago | from the just-like-the-kraken dept.

Programming 79

phy_si_kal writes "The open source Opa project just released its 1.0 version. Opa appeared last year and was discussed a few times. Throughout the year, Opa adopted a JavaScript-like syntax, gained support for MongoDB and now Node.js. Opa positions itself as the enterprise JavaScript framework due to the safety and security provided by its strong static typing system. Indeed, Opa checks the type safety of the application over the whole application, from client, to server, to database. Opa also provides many automation algorithms, such as the automated use of Node.js fibers at runtime, automated client/server and server/database dialog. The site of the project also announces a developer challenge."

cancel ×

79 comments

Sorry! There are no comments related to the filter you selected.

Dreadful summary (5, Informative)

benjfowler (239527) | more than 2 years ago | (#40399513)

So what does Opa actually do?

I'm an enterprise Java developer, and even I had to read that three times to work out what it's meant for.

Re:Dreadful summary (4, Funny)

djdanlib (732853) | more than 2 years ago | (#40399643)

Well, it celebrates new releases of Opa.

That's about all I can figure out right now.

Re:Dreadful summary (1)

gagol (583737) | more than 2 years ago | (#40399671)

From the summary alone, I get it is a new language based on JavaScript syntax but adds string type definition. Now back to read the article...

Re:Dreadful summary (1)

gagol (583737) | more than 2 years ago | (#40399681)

I meant strOng type defenition... sorry for the typo

Re:Dreadful summary (1)

hlavac (914630) | more than 2 years ago | (#40401145)

Wow, they invented Java?

or as3 strict mode (0)

Anonymous Coward | more than 2 years ago | (#40402599)

or as3 strict mode

Re:Dreadful summary (1)

yefrederic (2142978) | more than 2 years ago | (#40404181)

One of the part of Opa is it's type inference, so you still can write JavaScript like code, but with the type being infered without the need to precise it most of the time.

Re:Dreadful summary (5, Funny)

Anonymous Coward | more than 2 years ago | (#40399697)

Opa watches TV and grumbles a lot. (Opa is German for Grandpa.)

Re:Dreadful summary (1)

Anonymous Coward | more than 2 years ago | (#40400047)

Actually, it's Yiddish for "he who has nose hair longer than head hair". Same for Oma, but "she".

Re:Dreadful summary (1)

rubycodez (864176) | more than 2 years ago | (#40407199)

It's also a Greek exclamation of job made by Grandpa when he blows his load.

Re:Dreadful summary (0)

Anonymous Coward | more than 2 years ago | (#40400085)

I wonder how many Germans will (consciously or unconsciously) associate the product with slowness due to the name.

Re:Dreadful summary (4, Funny)

Razgorov Prikazka (1699498) | more than 2 years ago | (#40400465)

Like SAP, sanduhr anschau program (program that makes you watch an hour glass)

Re:Dreadful summary (2)

pahles (701275) | more than 2 years ago | (#40401803)

I thought it meant Software Against People. Or Submit And Pray.

Re:Dreadful summary (1)

Razgorov Prikazka (1699498) | more than 2 years ago | (#40405451)

Good one. I heard Stops All Projects as well... :-D

Re:Dreadful summary (1)

Mabhatter (126906) | more than 2 years ago | (#40405629)

Solves All Problems

IT management turns over or the company goes bankrupt.... No more problems!

Re:Dreadful summary (1)

koper (2179858) | more than 2 years ago | (#40436621)

http://opalang.org/faq.xmlt [opalang.org] -> "What does Opa mean"

Re:Dreadful summary (0)

templar07 (876869) | more than 2 years ago | (#40400115)

In Dutch too. When I read the article I am roflmao...hahaha

Re:Dreadful summary (2, Informative)

Anonymous Coward | more than 2 years ago | (#40399715)

Wikipedia is more helpful than TFA on this one. It's just a language designed for writing the 'AMP' part of a LAMP stack as a single program. It's what all the cool kids are doing now that Ruby on Rails is mainstream.

Re:Dreadful summary (0)

Anonymous Coward | more than 2 years ago | (#40399737)

As long as it doesn't allow me to write the L part as well, it's not sufficient! :-)

All I do know... (2)

ChickenNugget (2032826) | more than 2 years ago | (#40399721)

...is that I'm really hungry for gyros!

Re:Dreadful summary (5, Funny)

Anonymous Coward | more than 2 years ago | (#40399725)

It now uses MongoDB and node.js. You know what that means.

Opa does web scale.

Re:Dreadful summary (5, Funny)

Anne_Nonymous (313852) | more than 2 years ago | (#40399727)

Opa is the moblie version of Opera.

Re:Dreadful summary (1)

Eponymous Hero (2090636) | more than 2 years ago | (#40399789)

lmao what is this, the liar's club?

Re:Dreadful summary (1)

Anonymous Coward | more than 2 years ago | (#40402741)

no, he's serious. the name appeared so much in the source that dropping those letters reduced filesize by 37%

Re:Dreadful summary (5, Insightful)

Lunix Nutcase (1092239) | more than 2 years ago | (#40399747)

It allows you to write the same bloated code but in a different langauge.

Re:Dreadful summary (3, Funny)

Eponymous Hero (2090636) | more than 2 years ago | (#40399801)

it allows you to write the same bloated code of 3 languages in 1 language

Re:Dreadful summary (1)

Eponymous Hero (2090636) | more than 2 years ago | (#40399825)

this is for web developers. you can go back to whatever you were doing.

Re:Dreadful summary (1)

Anonymous Coward | more than 2 years ago | (#40399869)

So it's mostly for hipsters?

Re:Dreadful summary (0)

Eponymous Hero (2090636) | more than 2 years ago | (#40402637)

no, but as you can see from the coward below you, most java devs feel superior to web development, mostly because their tools are ill-suited for it and they need to compensate for that void in their ego. java is adequate for just about everything but web development, and that's gotta burn.

Re:Dreadful summary (0)

Anonymous Coward | more than 2 years ago | (#40403883)

Java is terrible for everything but bloat. The JVM is a marvel of an exploit vector only rivaled by Flash.

Re:Dreadful summary (0)

Anonymous Coward | more than 2 years ago | (#40400387)

"web developer" is an oxymoron. you're a script kiddie, barely one step above writing DOS batch files.

Re:Dreadful summary (1)

gagol (583737) | more than 2 years ago | (#40400871)

Google Docs is built and maintained by web developers... do you infer Google's staff is mostly composed of glorified script kiddies?

Re:Dreadful summary (1)

dmomo (256005) | more than 2 years ago | (#40401999)

Point understood, but... do you infer that Google's staff is mostly comprised of Google-Docs developers? Again, I agree with your sentiment, just not the delivery.

Re:Dreadful summary (1)

HarrySquatter (1698416) | more than 2 years ago | (#40403893)

Yes. Google Docs is terrible at anything but basic tasks and laggy to boot.

Re:Dreadful summary (1)

Eponymous Hero (2090636) | more than 2 years ago | (#40403271)

no. you either don't know what a web developer is or you don't know what a script kiddie is. or you don't know what the web is. maybe all three, considering you mentioned DOS batch files.

Re:Dreadful summary (4, Funny)

styrotech (136124) | more than 2 years ago | (#40404167)

"web developer" is an oxymoron. you're a script kiddie, barely one step above writing DOS batch files.

Not any more! Now with the new Dos on Dope framework you can be a web developer BY writing DOS batch files!

http://secretgeek.net/dod_intro.asp [secretgeek.net]

Re:Dreadful summary (1)

istartedi (132515) | more than 2 years ago | (#40399835)

Summary makes more sense if you read it as SNL's Stefon:

New York's hottest club is.. Opa! It's got a JavaScript-like syntax, support for Mongo DB, Node.js, developer contests, and in the far left corner, an old German man covered with fibers.

Re:Dreadful summary (0)

Anonymous Coward | more than 2 years ago | (#40400783)

an old German man covered with fibers.

I'm sure glad he's covered in fibers. The alternative would not be a pleasant sight.

And with that, I'm off to bleach my eyes.

Re:Dreadful summary (0)

Anonymous Coward | about 2 years ago | (#40410259)

awesome!

Re:Dreadful summary (3, Interesting)

anubis2003 (1533965) | more than 2 years ago | (#40399997)

I'd like to add that for me, the biggest plus for the language is that it lets you avoid the details of hassling with ajax requests and trying to push notifications to clients by completely abstracting all that away. Compared to most other web development languages/frameworks you know that you can write your entire web app in one language and that if within 1 function you want to persist something to the database and update the webpage DOM you can do that and the opa compiler will handle splitting that out into the client-side and server-side code to accomplish that with the glue to hold them together. That is what makes the language beautiful to me.

Re:Dreadful summary (1)

Raenex (947668) | more than 2 years ago | (#40403087)

Compared to most other web development languages/frameworks you know that you can write your entire web app in one language and that if within 1 function you want to persist something to the database and update the webpage DOM you can do that and the opa compiler will handle splitting that out into the client-side and server-side code to accomplish that with the glue to hold them together.

Holy run-on sentence, Batman!

Re:Dreadful summary (0)

Anonymous Coward | more than 2 years ago | (#40406783)

I just installed it and tested out the default "hello world" app. 7 lines of code turned into 27,000. THAT really hurt my brain, but I do realize it is a complete stack by itself.

Re:Dreadful summary (0)

Anonymous Coward | more than 2 years ago | (#40400001)

Maybe it's JavaScipt, keeping only The Good Parts(tm) [amazon.com] ?

BTW check out the page count:
JS The Good Parts (O'Reilly) = 176 pages
JS The Definitive Guide (O'Reilly) [amazon.com] = 1100 pages

Re:Dreadful summary (1)

GreatBunzinni (642500) | more than 2 years ago | (#40400065)

I also don't know, but if it supports mongodb then it must be webscale.

Dreadful summary? (2)

G3ckoG33k (647276) | more than 2 years ago | (#40400179)

Opa Mongo Node Mongo!

Re:Dreadful summary (1)

j4w7 (2530032) | more than 2 years ago | (#40400199)

Release announcement that don't at least summarize what the software does drives me bananas.

Pages that don't actually say what the software/framework/etc. does just makes me plantains!

Re:Dreadful summary (-1)

Anonymous Coward | more than 2 years ago | (#40400863)

I realize that this is completely off topic but if anybody is looking for the vnc solution for Android that completely blows everything else away go here [google.com] . This is the free version and the real version costs $9.99 but, seriously, you will not be disappointed. I say this as someone that has tried them all and even took a hand to download the source to AndroidVNC and doing my own modifications. I assure you, this is the one you have been waiting for. Note: I am a real user not a MyCleanPC type troll. Really, I am just so blown away that I don't know what else to say other than try it for yourself.

Re:Dreadful summary (1)

citizenr (871508) | more than 2 years ago | (#40401143)

So what does Opa actually do?

I bet its Web Scale!

Re:Dreadful summary (1)

Bengie (1121981) | more than 2 years ago | (#40401423)

I've been looking for a language with near compile speed(1/2-1/4) with full async IO. I wonder if APO addresses any of that.

Re:Dreadful summary (1)

Qwertie (797303) | more than 2 years ago | (#40403719)

From the web site: "Opa is the most advanced application framework for JavaScript. All aspects are directly written in Opa: Frontend code, backend code, database queries and configuration. And everything is strongly statically typed."

So you write code in one language, and your functions are automatically translated to Javascript as needed. The same exact code can run on client and server, but if it runs on the server then it can be optimized better because Opa (unlike Javascript) is statically typed.

Opa appears to be a functional language like Haskell, OCaml, etc., which means that you can write most of the code without specifying data types, as types will be inferred automatically. It also means that data is immutable (write-once) by default. The syntax has a slightly more "conventional" appearance than some other functional languages, so it doesn't look quite as foreign to those who are new to functional programming. Opa is not object-oriented, but it does at least offer "modules" that support dot-notation.

Personally, lack of OO features always makes me uncomfortable because I'm not sure how to use the design patterns I am used to using. IMO the Opa manual [opalang.org] should really have a chapter like "Opa for OO dummies" where it explains what the functional equivalent of each of the myriad OO design patterns. And this should be preceded by a "Opa for procedural dummies" chapter, that explains how to replace your efficient procedural code based on hashtables or arrays with Opa code.

Re:Dreadful summary (1)

yefrederic (2142978) | more than 2 years ago | (#40404253)

Very good idea for the chapter about Opa for OO dummies. You are absolutely right ;)

Re:Dreadful summary (1)

Mabhatter (126906) | more than 2 years ago | (#40405613)

Flying Bison with six legs?

slashdotted (4, Funny)

iplayfast (166447) | more than 2 years ago | (#40399563)

Does this meant that opa can't handle a simple slashdotting?!!

Slashvertising... (0)

Anonymous Coward | more than 2 years ago | (#40399603)

Don't overdo it with the marketing speak.

Re:Slashvertising... (0)

Anonymous Coward | more than 2 years ago | (#40399887)

Why? Our next-generation, buzzword compliant marketing speak solution leverages linguistic synergies using best practices of value-added sustainability to your mission critical core competency with seamless integration in the cloud-based scalable workflow logistics. :-)

Re:Slashvertising... (1)

tom17 (659054) | more than 2 years ago | (#40400361)

I like what you have to say. Where do I sign?

Espionage virus & TSCM Babble Tape (-1)

Anonymous Coward | more than 2 years ago | (#40399781)

OT:

Espionage virus sent blueprints to China - âoeACAD/Medre.Aâ -

http://www.telegraph.co.uk/technology/news/9346734/Espionage-virus-sent-blueprints-to-China.html [telegraph.co.uk]

http://blog.eset.com/2012/06/21/acadmedre-10000s-of-autocad-files-leaked-in-suspected-industrial-espionage [eset.com]

TSCM Audio Countermeasures: Demo - 'Babble Tape'

http://hpaste.org/70267 [hpaste.org]

Link soup (2, Insightful)

Anonymous Coward | more than 2 years ago | (#40400035)

Typical Slashdot summary. A bunch of links that tell you a little bit, no clear "main link" and no one clear link that does a clear job explaining what "Opa" is.

Why can't the articles start with a link to one major articles and (maybe) more links in the summary.

Re:Link soup (0)

Infiniti2000 (1720222) | more than 2 years ago | (#40400305)

The very first link is the "main" link, referencing the main gist of the post, i.e., that Opa 1.0 has been released. Everything else is explanatory and support, which is fine. The point is not to explain what Opa is, but that it was released.

Re:Link soup (3, Insightful)

gagol (583737) | more than 2 years ago | (#40400713)

The problem is they are announcing something without telling what the heck it is. Nobody seems to know squat about it, this is very bad communication.

Re:Link soup (0)

Anonymous Coward | more than 2 years ago | (#40402025)

This is true of many open source projects. The two things I always want to know are what does it do, and what license does it use. And many websites make it absurdly hard to discover these two simple facts.

Re:Link soup (1)

A bsd fool (2667567) | more than 2 years ago | (#40404555)

All you need to know about it is right there in the blurb. "node.js", "mongoDB", and "enterprise JavaScript framework". That's enough for me to send it to the circular file with extreme prejudice, anyway.

Re:Link soup (1)

koper (2179858) | more than 2 years ago | (#40436609)

Hopefully the first page of documentation [opalang.org] should answer what Opa is. As for the licensing it's a bit more complicated as we're in the process of changing it, but this blog post [opalang.org] should give you the answers, I hope.

Re:Link soup (1)

gv250 (897841) | more than 2 years ago | (#40400719)

If I tell you it's Katie's birthday today, it would be polite of me to tell you who Katie is. Similarly, a news report should provide, at least epithetically, a description of its subject.

Re:Link soup (2)

PCM2 (4486) | more than 2 years ago | (#40401781)

They seem to have changed their technology a little bit, but basically, Opa is a language for Web apps. Instead of writing your app in three (or more) languages like you do now, you write the whole app in Opa. Then you run your Opa code through the Opa compiler, and it generates all the appropriate JavaScript for the front end, the back end code, and the database queries necessary for the application.

Opa ships with its own back-end runtime, which includes an execution engine and a data store, but it sounds like now the default mode is to forget about those and use Node.js and MongoDB instead.

So it's kind of cool in the sense that it allows you to write Web applications like you do normal applications, i.e. you can use one language to do it. On the other hand, according to their info:

On the same hardware, Apache makes 4200 requests per second, the core HTTP server of Opa 4000. PHP makes 1800 requests per second, Opa 1500.

statically typed? (0)

Anonymous Coward | more than 2 years ago | (#40400643)

I was reading through their tour, and got to here: http://doc.opalang.org/manual/The-type-system

The language certainly seems *strongly* typed, but it seems like you can bind types to functions at runtime... which means its not *statically* typed...

Re:statically typed? (2)

anubis2003 (1533965) | more than 2 years ago | (#40401529)

I'm assuming you're referring to the type inferencing? That is done at compile time, not at runtime. Opa is statically typed.

StratifiedJS (0)

Anonymous Coward | more than 2 years ago | (#40400687)

How does this compare to http://onilabs.com/stratifiedjs ?

Another admission of JavaScript's failings (0)

Anonymous Coward | more than 2 years ago | (#40400701)

Opa positions itself as the enterprise JavaScript framework due to the safety and security provided by its strong static typing system.

In other words, it fixed a design flaw in the JavaScript language.

We are people finally going to learn to stop designing languages that don't have strong type safety features?

Now that HTML5/JavaScript looks like the new way forward, JavaScript's lack of type safety will set back web application development at least 20 years.

Re:Another admission of JavaScript's failings (0)

Anonymous Coward | more than 2 years ago | (#40400813)

> We are people finally going to learn to stop designing languages that don't have strong type safety features?

As soon as someone proves to them that you can actually write better programs in strongly typed languages. All the evidence points against that.

Re:Another admission of JavaScript's failings (0)

Anonymous Coward | more than 2 years ago | (#40402881)

As soon as someone proves to them that you can actually write better programs in strongly typed languages. All the evidence points against that.

Citation needed.

If you said that in an interview with me, I wouldn't hire you.

Every excellent software engineer I have worked with in my career has been an advocate of a strong type system and static type checking. Every weak software engineer I have known either thought that type safety is bothersome or else doesn't care. I recommend it as a good differentiator of talent during the interview process. It's worked out well for me.

Re:Another admission of JavaScript's failings (1)

Tenebrousedge (1226584) | more than 2 years ago | (#40404887)

Please post your identity and company publicly so we can all be warned against applying.

Start here. [wikipedia.org]
Further reading. [stackexchange.com]
There's a hell of a lot more to this issue than your prejudices. Anyone that claims either way is objectively better is a fool. The good programmer uses the tool that's suitable for the job.

Re:Another admission of JavaScript's failings (0)

Anonymous Coward | about 2 years ago | (#40412185)

Please post your identity and company publicly so we can all be warned against applying.

Start here. [wikipedia.org]
Further reading. [stackexchange.com]
There's a hell of a lot more to this issue than your prejudices. Anyone that claims either way is objectively better is a fool. The good programmer uses the tool that's suitable for the job.

I read your links. The wikipedia article says that programmers disagree about the merits. That tells me nothing.

JavaScript could easily be extended with stronger type safety features. That would not take anything away from the language. Those features would simply help programmers catch their errors faster. Those features should have been put in the language from the beginning.

PHP had a similar situation. They later added a feature that allows the programmer to declare the intended class of the object. It took nothing away from the language, and added safety.

You probably misinterpreted my original point, which was that programming languages need these features in version 1.0 -- not bolted on years later after they finally understand how important type safety is.

Re:Another admission of JavaScript's failings (1)

Bengie (1121981) | more than 2 years ago | (#40441487)

OO languages that don't have strong-typing incur large overhead from not being able to optimize. I remember reading an article about someone who re-wrote parts of javascript to be type-strong, and was able to gain several factors of performance because the optimizer could tell the difference between a string and an int or whatever.

Strong typing is fine, just give flexible casting.

OPA DENDI (0)

Anonymous Coward | more than 2 years ago | (#40401991)

OPA DENDI

so, more incompetent devs (0)

Anonymous Coward | more than 2 years ago | (#40403119)

For idiots who find html and javascript too challenging this will finally allow them to enter the field. Bravo !

Re:so, more incompetent devs (0)

Anonymous Coward | more than 2 years ago | (#40403629)

VB developers? anyone?

Affero GPL? (1)

thebjorn (530874) | more than 2 years ago | (#40405951)

If I'm reading it correctly, your source needs to be distributed if it touches the opa compiler...?

Re:Affero GPL? (1)

yefrederic (2142978) | more than 2 years ago | (#40409119)

If you modify the compiler, you have to redistrbute the source indeed. Notice the compiler does not include the standard library and the backends (native/node)

The Opa compiler will remain an AGPL project. The standard library and the native backend will be licensed under the GPL license with the so-called ClassPath exception, like Java. The exception means you can link the GPL code with any code, opening the door to license your application under any license. The forthcoming Node.js backend will be licensed under the MIT license.

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>