

Unbreaking Web Development, One Loc at a Time - Yoric
http://dutherenverseauborddelatable.wordpress.com/2011/05/23/unbreaking-scalable-web-development-one-loc-at-a-time/

======
skimbrel
There are a lot of bold claims here, but "automated XSS protection" smells the
fishiest to me.

And since when did ostensibly open-source projects have closed betas? Release
it now and get more eyes on your code.

~~~
jerf
"There are a lot of bold claims here, but 'automated XSS protection' smells
the fishiest to me."

No, there's a variety of ways to accomplish this. You just have to give up the
ability to smash strings together with no thought about what kinds of things
they are. The fact that smashing strings blindly together, then desperately
running along behind it and trying to clean up the resulting mess, is
basically industry "best practice", is the biggest failure of the programming
community since buffers that overflowed into executable space.

It shouldn't "smell fishy"; a framework that makes it easier to write XSS than
to write correct code ought to be what "smells fishy", but here we are.

------
Meai
I respect people that create toy languages. But you are obviously trying to
market this language to people with real world projects. The only thing that
I'm interested in when I read about a new language are these:

1\. How fast is it? 2\. How does it interoperate with C and Java?

Any other advantages are worthless if those two things are not present.
Provide some benchmarks against popular webframeworks like nodejs, and if you
are faster, we may have a deal.

~~~
Yoric
> 1\. How fast is it?

I'll post benchmarks in another blog entry. Quick answer: very fast.

> 2\. How does it interoperate with C and Java?

With C, easily (you can find more info in the manual). With Java, later.

------
Yoric
Note: This is a partial follow-up to
<http://news.ycombinator.com/item?id=2458556> .

------
Yoric
Opa is a new programming language. If you have feedback or questions, we are
definitely interested. You can reach us at feedback@opalang.org .

Our teaser website, <http://opalang.org>, also offers some documentation, or
you can find a few dispersed examples on Github.

------
dfischer
Interesting concept but so far the syntax seems unappealing on first glance.

~~~
Yoric
Ok, I'm interested. Would you mind sending us more detailed feedback?
feedback@opalang.org

~~~
thejash
Why not make the language at least very similar to an existing language? Sure,
even if it isnt EXACTLY the same, it at least has a number of people that
already write in it, editors that deal with it correctly, etc. Plus you can
use general purpose code snippits from such a language, which will help
greatly decrease the amount of libraries you will need to make directly before
this becomes useful to people.

~~~
Yoric
Well, in my experience, copying & pasting from one language to another one
never quite worked - and quite sometimes made it to thedailywtf.com material.

------
plinkplonk
So is this language closed source? If so what is your strategy to make it
succesful (given that you are not Sun or Microsoft).

If not, what license will the source be released under?

~~~
Yoric
The language is not quite released yet. But it will be released as open-source
as soon as we're ready.

The license will be AGPL. Fully contagious.

------
mbengue
Thanks for tackling such big issues. Waiting for an access to opalang.org and
for EasyOpa, something like EasyPHP but with OPA :) and running on WINDOWS !

When you guys say "a single programing language" do you consider CSS ? Or
isn't CSS a programing language ?

~~~
Yoric
We offer some facilities for CSS, but no, you are right, in that sentence, we
do not really consider CSS a programming language. Most of our applications
use regular CSS stylesheets, embedded in Opa – in particular, that's the case
of all the examples in the tutorial.

~~~
p4bl0
You should consider having something like Less[1] embedded into Opa :-).

[1] <http://lesscss.org/>

~~~
Yoric
Actually, we can essentially do that in Opa already, for many (but not all)
CSS properties. It's not officially on our feature list, though, because we
have many ideas that we haven't had time to implement.

------
Animus7
What about rolling out updated code? No app, especially web app, is static, so
this is a huge deal.

I saw no mention of how this extremely common workflow is handled without
taking the app offline, and how this deals with e.g. schema changes...

~~~
ventu
If your having several instances load-balanced, you can easily update your
site, one instance after another. No server runs mono-process. What do you
think?

~~~
hbbio
If it works like this, it's a great feature. But what's happening when in an
update the database structures are changed?

~~~
ventu
There's no easy answer to your question. Although Opa raises warnings when it
detects that the databases your accessing/trying to modify have changed, I
guess you'd have to think of a migration process anyway.

What is your best practice so far? (and your expectations :p)

------
gaius
Ocsigen has been doing this for years, check it out.

~~~
Yoric
Indeed, Ocsigen is a very nice project that offers some of the features of
Opa. If you take a look at our documentation, you will realize that we go much
further than Ocsigen in most directions (client-server transparency,
distribution, etc.)

You make me think that it would probably be interesting to compare feature-by-
feature Ocsigen and Opa. I'll try and do that in another blog entry, possibly
with the help of Vincent Balat.

------
jonmc12
Are there benchmarks of Opa vs Node or Erlang?

~~~
Yoric
Not yet. We'll try and publish some.

------
pierr
great

