Web Apps Language Opa Gets a Web-Based IDE 83
First time accepted submitter koper writes "The new programming language Opa makes web programming easier by providing a one-tier one-language-for-everything approach. Now it goes one step further by providing a (very-minimalistic for now) web-based IDE that allows users to compile & deploy Opa programs in one click in your web browser. Give it a spin!"
Re: (Score:2)
Bravo! This is why I browse with all comments on. +5
Re: (Score:2)
Thurston Moore is singer/guitarist for Sonic Youth, I like them.
Re: (Score:2)
I browse at -1. The + 5 was for the post.
Re: (Score:2)
Thurston Howell III was the rich, old guy on Gilligan's Island.
Re: (Score:2)
Re: (Score:2)
It's great for that. But you're not going to see a lot of expert programmers sign on to something that has no clear distinction between database, app server, client, and web server. And, since Opa has a totally unique way of doing things, it's not going to be easy to re-use most anything you pick up learning Opa. Sure, you could teach newbie programmers how to do it, but there's zero commercial demand for it, and you're teaching them a skill set that's not good for anything else (right now anyway). You're b
Re: (Score:1)
I'm absolutely with you!
The recently bailed out Greeks on the other hand are very excited! [youtube.com]
Nice writeup (Score:2)
It's nice to see someone presenting an honest assessment of their technology's actual capabilities instead of trying to spin it into something more than it is with buzzwords like "artificial intelligence".
"Opa is a concise and elegant language for writing distributed web applications."
It looks tighter than something like Java or C#, but it's still tied to manipulation of the DOM structures through, so it does require a solid understanding of the underlying web technologies, XML, and HTML. I don't thin
Re: (Score:3)
If 90% of all web apps are the same, a language (or in case of Opa, it should probably be called a web application build system) can be the magic bullet for 80%.
Not True with GWT (Score:2)
Re: (Score:2)
My point is that you are providing the human intelligence to work with that tool. You do the layouts, you tie it to data, even if it's at a higher level than raw HTML, CSS, and Javascript. Neuron Data's Open Interface used to be an abstract GUI toolkit that ran on Unix/X-11 systems, Windows, and Apple MacOS. You could stick with their abstract widgets and knock off an interface pretty quickly, but if you needed to do real customization, the hooks were still there to extend and customize how things looke
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
At the end, everything is written in ASM...
Certainly (Score:1)
Opa = Grandpa (Score:1)
Makes it sound very outmoded in Dutch, German, and perhaps a few other languages around the world.
Re: (Score:1)
You've seen nothing yet. Think Japanese, "Oppai"
Re: (Score:2)
Re: (Score:1)
In spanish (argentina) opa means stupid/dumb.
Also, the licence is AGPL, for a programming language that kind of restrict almost all serious use.
Good luck selling your language dude!
Re: (Score:2)
XSS scripting issues (Score:3, Insightful)
Neat, but that site wont work with NoScript installed unless you allow XSS.
Not a huge problem for some, but is a deal breaker for me.
unless there's a workaround?
Re:XSS scripting issues (Score:4, Funny)
Workaround, disable no-script.
Re: (Score:2)
Are you seriously complaining that Javascript enabled technology won't work with NoScript blocking Javascript from running?
Man, I've had some good stuff in my day, but I want some of whatever you're smoking!
Re: (Score:1)
You're confusing running Noscript, and it's per-site blocking - with XSS blocking which applies to all sites, not just one.
Might want to read up on NoScript, babes!
Re: (Score:1)
Anti-XSS protection exceptions however, are not a one-click solution. So hence it being a deal breaker.
Re: (Score:3)
Fix NoScript then... since its obviously broken.
Or add proxying to your local server for the JS content that would otherwise come from another server. Or use something else that doesn't insist on using unsafe security practices. How hard could it be?
Re: (Score:2)
Here's an idea: Explain what you mean instead of assuming your audience knows the details of the issue as well as you do.
Re: (Score:1)
Here's an idea: maybe if the OP says "unless you allow XSS", perhaps what he really means is "unless you allow XSS".
Re: (Score:1)
You're still assuming that I have any grasp of why a cross-site scripting issue would affect running Javascript.
You also assume that I knew NoScript has to be enabled on a per-site basis, rather than defaulting to "On" like AdBlock Plus. Having never been paranoid enough to shut off JavaScript, I've never installed NoScript and would never even consider developing a real application to work around the limitations that requirement would impose. What's next? Demand for lynx support?
Re: (Score:1)
You're still assuming that I have any grasp of why a cross-site scripting issue would affect running Javascript.
You don't need to know the details. You can infer from the OP that NoScript has protections against XSS, separate from blocking Javascript entirely, and that this new IDE somehow triggers those protections.
Re: (Score:2)
XSS or Cross Site Scripting [wikipedia.org] is a nasty method that bad people use to spy on sites you are logged in to. NoScript [wikipedia.org] is a Firefox extension to limit javascript access privileges to prevent such attacks in addition to providing per-site script blocking.
In other words, he was complaining that he had to disable his XSS protection, not javascript in its entirety.
Those are the details, you could have looked them up yourself on google and been the one to clarify that post, but instead you wrote something based on inc
Re: (Score:2)
Thank you, +1 informative
You only ever need to know assembly, C and Python. (Score:1)
That's what happens when people don't know assembly, C and Python. Those are the only three languages you'll ever need to know for doing any type of programming.
You use C and assembly when you need to interface with hardware, when you need to keep your software small, when you need speed, or when you need absolute control. You use Python for everything else, including web development, text processing, scientific computing, servers, and desktop applications.
Given how easily Python interfaces with C, and how
Re: (Score:2, Interesting)
Python is just a superset of C that some ass wrote because he thought it would be cute to have an invisible block closure/. I am forking python and adding a customizable block closure so people have the choice to be handcuffed by indentation as block closure if they are really that stupid.
If you know C and assembler you know ever stinking POS scripting language that has come down the pike, since every last one of them is nothing more then a C derivative.
Re: (Score:2)
Some people can't think without brackets. These kinds of people don't understand anything but C, and never will. You should feel sorry for this clod. He's earned it.
Re: (Score:2)
C uses braces to delimit blocks, not brackets.
Having explicit block delimiters is quite useful actually. It makes it possible to copy and paste blocks of code around without changing its meaning. Modern IDE editors use the braces to magically work out how it should be indented without you having to insert spaces.
Any syntax in which characters you can't see are syntactically significant is asking for trouble, in my opinion. Then again, lots of really good code has been written in Python, so I may just be
Re: (Score:1)
He doesn't like excess whitespace because he is programming with it [wikipedia.org]
Re: (Score:2)
What, you normally don't indent your code?
Sure, I do...but I don't necessarily indent my code YOUR WAY. I indent to my preference.
Sometimes, I put entire if statements on a single line! Not to be contrary, but because they're just that damned simple. Of course, not in Python......
Re: (Score:1)
Everybody knows that real programmers program the logic gates directly, no sugar there!
Re: (Score:2)
Re: (Score:2)
Spoken like someone who didn't take Python seriously enough to even learn the basic syntax. Well done sir. This kind of ass hattery is epic. I aspire to it. Thank you.
Re: (Score:2)
Spoken like someone who can't read.
There is nothing particularly wrong with the syntax of python, it is a fine scripting language.
What is wrong with it is that the author decided that his indentation style was better then anyone else and he coded his interpreter to enforce his stylistic view. Forgive me, but having an invisible block closure characters is stupid and wrong and that is why I am forking it and recoding it so that you can have your choice between something invisible and a curly brace ( which j
Re: (Score:2)
My Error, it does not use a curly brace to open a block.
But it will!
Re: (Score:2)
Except of course when you need to pay the rent and the project is in Java, or C++, or PHP, or... (etc.).
With those minor exceptions, you're right. :)
Re: (Score:2)
When I think about paying rent, I ask myself what languages are in the highest demand, but the lowest supply. Usually some framework subset, or cms in php. Php is great. Easy, fast, flexible. And you won't have any problems with it if you think like a C++ programmer.
Re: (Score:2)
You use C and assembly when you need to interface with hardware
Which language feature is it that enables C to interface with hardware? Were you thinking of pointers? Seriously?
I think you are under the growing misconception that C is "close to the hardware."
Re: (Score:2)
I don't know enough about C, so this may just be failed speculation, but...
C allows you to break out into ASM code, fine. But unless what you break out into is in fact an extension of ASM that includes some understanding of the C domain for integration - that is, IF you only break out to standard ASM that has no clue that it is embedded in a C program (this is my unfounded assumption) - then I see no theoretical difference to a langauge that can just call out to a component written in ASM. In other words, i
Re: (Score:2)
Modern technology is about dragging people along just quickly enough that they don't stop to look around and see how shit everything is.
Re: (Score:1)
Why not JavaScript? (Score:2)
I get the conceptual framework of deploying a single "binary" to everything.
Here's what I don't get: Why invent a new language, bound to a framework and to a specific target application, rather than adapting an existing language to the task? What can I do with Opa that I can't with JavaScript?
Re: (Score:2)
Yes, I understand this, but you're still writing Javascript if Javascript is being created (which it is with Opa), if you're thinking about it or not.
You just add so many layers to it that figuring out what's actually going on at different layers inside the application becomes a hell of a lot more difficult.
This is the same problem Rails has, and you see it with Javascript frameworks like Ext (or whatever they're calling it these days). I'm not saying Opa is bad, just that as a control freak programmer who
Re: (Score:2)
JavaScript can handle Erlang-esque messaging, it just gets ugly with having to use callbacks and closures for everything. There are projects which fix this without building a whole new language.
What does static type analysis have to do with anything?
some substance to it besides all this fud? (Score:1)
I've actually tried to follow through the site - installing the compiler, reading the manual and trying it out. First impressions:
1. The language itself is just a bastard sorry child of ocaml and erlang.
2. Both parents are specific languages with steep learning curve.
3. Using powerful paradigms with necessary horrible syntax makes no sense here - especially when webapp developers are your target audience.
4. Opa brings a lot of hidden "gay magic" (all-in-one binary, the whole client/server rpc thing, object
Not for commercial use - AGPL (Score:2)
Opa is a really interesting design but it's AGPL, so it can't be used for any closed-source apps, even if hosted on a server. Maybe they will dual-license it in future, but right now it's only for open source work.
Re: (Score:2)
Open Source can be commercial, you know? Ask Redhat with US$ 909.3 million (FY 2011) revenue.
Re: (Score:1)
Why must every new platform have it's own server? (Score:3)
Okay, so this is the sixth new platform I've reviewed in the last year that has its own built in web server. Why? It's a complete pain in the ass to manage platforms that are built this way. Most of the time, the servers they come with are not as good for general purpose use as Apache, and well, because they require their own servers... you can't really run them on a traditional server if you wanted to. Now, I understand the need and desire to change the paradigm. I've been there. I've tried to do it. But the web server paradigm EVERYONE ELSE USES is not broken. Why the hell is everyone trying to replace it with something that is untested, that doesn't work as well? Why can't someone design a precise, straight forward language that plugs into my web server, which allows me to scale and thread properly to billions of connections? I'm not asking for a lot. Other than I'm asking for a lot. Apparently.
Re: (Score:3)
We had what you prefer for like a decade now and you know what? It sucks. Like PHP is somehow the the pinnacle of how application development should be. Hah!
Not to mention the fact that managing Apache httpd or Nginx with generic language "plugins" is about as intuitive as tying your shoes using a robotic atm controlled by a BlackBerry.
Also, please tell me how this model of development "doesn't work well?" If it doesn't work well no one will use it. Problem solved!
Why don't you take a break from this old sc
Re: (Score:1)