
Google to announce "new programming language for structured web programming"  - munificent
http://gotocon.com/aarhus-2011/presentation/Opening%20Keynote:%20Dart,%20a%20new%20programming%20language%20for%20structured%20web%20programming
======
nickik
Wait a moment Lars Bak and Gilad Bracha? I really like Gilad Brachas newspeak
language. I really like people who can make good Jits.

\- Gilad Bracha was working on a way to run Newspeak in the browser.

\- Newspeak is a bad name because Newspeak is a bad thing, when I read
Newspeak I think "bad". The could mean that if google would want to support it
they would maybe change the name.

So my guess is: Dart is Newspeak that runs on the browser and on the server
and it gets support by google.

~~~
acqq
I'm glad that you like it, maybe you can explain to me: Newspeak is a
Smalltalk variant, and, if I understand:

<http://bracha.org/newspeak-101.pdf>

it can currently work only in its own IDE, which, IMHO, immensely reduces the
possibilities for its application.

Even if we get "a kind of smalltalk in a browser" who's going to use it?
Imagine, all that goodness I have in my favorite editor, just goes away. I'm
supposed to click around in some IDE modifying some classes with something,
only to change something that works only in that same single IDE? What should
be the real use of it all?

~~~
nickik
You have a missunderstanding of what Newspeak is. Sure its somewhat like
Smalltalk but its not an image based system. It is perfectlly happy to run
without the IDE.

Newspeak is somewhat tied to its IDE but that not inherent. Newspeak has the
feature of not having a global namespace this means all the functions that a
global namespace normaly provieds has to be tied to some tool outside of the
language. At the moment I think theres only the IDE that can do this but I
remember Gilda saying that it would be easy to do this in other tools (think
something like make).

Im no expert on newspeak but that how I understand it.

------
losvedir
First take: Oh, Google, what are you doing this time? Second take: Wait, the
guy behind V8 is working on this... Hm, I'll have to take a look.

It sounds like Lars himself may not have tons of expertise creating a
language, but teaming up with someone who does and throwing in his own
expertise getting it to run fast in a browser... might be interesting.

However, is there a concern here that only Chrome will support it for a while?
Then anything you write in it will be Chrome only. Isn't that kind of like the
bad old days when each browser had its own tags and whatnot?

~~~
w1ntermute
If it's good and the spec is open, I don't see anything wrong with that. If
it's really that great and becomes popular, other browsers will be able to add
support easily.

------
mas644
I always felt the problem with web programming was not so much the
expressiveness of existing languages, but rather the hacked nature of the web
and more generally the Internet. We try to patch the stateless nature of the
original HTTP protocol with cookies, AJAX, Flash player, Java applets,
ActiveX, etc. We scale the net with ugly technologies like NAT and BGP. We
hack some security on top with things like SSL. Heck, we can't even get simple
web pages to render identically in two different web browsers. Though not
practical, there's a lot to be said for a clean slate. I don't think any
programming language out there is going to be make web programming
easier...you gotta rethink the infrastructure on which your web apps run. Once
that happens, writing web apps in a language should be no more difficult than
writing a native app with said language.

~~~
sandroyong
I agree a new infrastructure is needed, and a clean slate might not be such a
bad idea, especially if it would handle some of the infrastructure-related
security and spanning issues for programmers. Such an infrastructure could
make it practical to start from a clean slate especially if it could allow us
to unravel and discard much of the tangle of complexities that make web
programing so much different from native programming. We need to focus on how
we use the internet and what we need from it and then revise the current web
achitecture to see what's really needed, what's fluff, and what just plain
idiocy. Right now, I think we'd find too much fluff and idiocy and not much of
what's really needed. This could pave the way for a simplified and more
unified architecture that could do what we want and could make it easier to
deliver applications across the web. Simplifying that delivery would make it
possible to simplify web programming, making it more intuitive and less
burdened by security considerations. An altogether different infrastructure
would spark new innovations in programming (as others in HN have posted that
such innovation has ‘stalled’).

------
alexatkeplar
Based on the authors, my guess is a Smalltalk-ish interpreted lang for Web
programming, which runs on V8? So a higher-level compliment to Go.

Sounds promising - will be interesting to compare to Io/Ioke/Seph...

~~~
cdleary_
> a Smalltalk-ish interpreted lang for Web programming

In what practical sense would that differ from JS?

~~~
michaelcampbell
It would be something other than JS... ;-)

Your point is well taken; I know some who hate JS because, well, it's JS. I
doubt Google is trying to cater to THAT crowd as such, but if Gilad Bracha is
involved in it I think it will at least be worth looking at.

------
pacemkr
There is an excellent podcast with Gilad Bracha on Newspeak at se-radio:

[http://www.se-radio.net/2009/07/episode-140-newspeak-and-
plu...](http://www.se-radio.net/2009/07/episode-140-newspeak-and-pluggable-
types-with-gilad-bracha/)

It was one of the most memorable and interesting podcasts that I have ever
heard. Newspeak will likely remain one of those languages that I really want
to learn, but won't find the time for.

Considering the speakers, I'm actually very interested in what Dart is like.

------
abdulhaq
The primary problem with web development is not that javascript, css, DOM and
dynamic HTML make for painful application development, even though that is the
case. The main problem is having divergent implementations of HTML/DOM etc..
that results in having to test and maintain code for a dozen different
browsers/versions. Google adding yet another language to the pool just adds to
this problem.

~~~
Animus7
Web programming is certainly fragmented by divergent implementations, but the
conclusion doesn't follow from the premises. Adding another language doesn't
automatically add browser compatibility problems.

Who knows what "structured web programming" is, as Google defines it? For all
we know, Dart could be a unification framework that compiles to browser-
independent JS/CSS/DOM. In which case, the Dart would be very good for
reducing implementation fragmentation.

------
davidmathers
I've been reading Gilad Bracha's blog for a while. He believes the future
belongs to languages that compile to javascript.

------
michaelchisari
This will be interesting. Given Google's love for Python, I'm excited to see
how they feel they could improve on that.

Although, I wonder if the language may be more suited to Google's needs (which
are pretty specific) than the general web programming world.

~~~
rbanffy
> This will be interesting. Given Google's love for Python

Since they also love Java a lot, I am not that optimistic.

------
salimmadjd
Google has had a horrible track record in seeing things through. So there are
two issues here. One, there are already too many programming languages out
there. Two, you just can't trust google to make it into a mature and viable
language that you would invest time in learning. As of now, I'm hoping
javascript and Node.js become the dominate language of choice.

~~~
jurjenh
Go seems to be doing alright. And that came from Google. And you can't get
better languages without developing more...

~~~
wanorris
I would classify Python and C# as languages that have improved considerably
over time. So I would say that it is, in fact, possible to get better
languages without developing more.

~~~
MartinCron
C# hasn't just improved itself considerably, C# put pressure on Java to
improve as well.

That's why I welcome the creation of any and all new languages. I don't need
to be on the cutting edge and try to learn all of them, I can wait until the
early adopters see value in them and then learn from the things that work.

------
rufugee
Is this what Steve Yegge recently alluded to? ([http://steve-
yegge.blogspot.com/2011/07/hacker-news-fires-st...](http://steve-
yegge.blogspot.com/2011/07/hacker-news-fires-steve-yegge.html))

~~~
pshc
I'm hoping so. Well, here's how I interpret it: A structural (non-textual)
environment that hosts code in a distributed graph. Less string schlepping and
more semantic manipulation of data.

------
taylorbuley
Google should probably start coordinating these product names:
<http://www.google.com/doubleclick/publishers/dart.html>

~~~
thepumpkin1979
Yeah, Busted! I was about to make a comment on the same topic! Thanks.

------
petegrif
The fact that we can use a hammer doesn't mean everything is a nail. Languages
and programming paradigms profoundly influence the way we think about solving
problems. How can it be wrong to explore new paradigms? My concern is not them
introducing a new language, but whether it is radical and innovative enough.

------
abraham
Looks like the repo will be here: <https://code.google.com/p/dart/>

------
heydenberk
I'm dreaming of something that runs on V8 that intelligently compiles to
server-side and client-side JS as well as HTML and CSS from better higher
level languages (something like, say, CoffeeScript + LESS + HAML).

~~~
fsiefken
Something like that already exists :-) SocketStream; coffeescript, node.js,
jade (a better haml), stylus (sass-like) <http://goo.gl/ynJkM>

~~~
cbr
No need for a short url; we're not limited to 140 characters here.

<https://github.com/socketstream/socketstream#readme>

It's nice to see where a link goes before you click on it.

------
jsmcgd
Perhaps there is some good reason for developing a whole new language. However
my gut tells me that they should instead put their weight behind a new
promising language that's still evolving.

~~~
wanorris
I would say that it depends entirely on what aspect(s) of the problem of web
programming Dart is trying to solve. It may be that the decision to make a new
language stemmed from new ideas about type systems or new semantics that
didn't really fit with any existing language.

Obviously I'm speculating here, but since we don't know what Dart is, we're
all speculating here.

~~~
jsmcgd
Agreed :)

------
dpatru
I would really like to see a typed programming language to build web apps on
App Engine. Most of the bugs I track down could be caught at compile-time.

~~~
4ad
Go does that.

<http://golang.org>

[http://blog.golang.org/2011/07/go-for-app-engine-is-now-
gene...](http://blog.golang.org/2011/07/go-for-app-engine-is-now-
generally.html)

------
teyc
I wonder if structured web programming is to conventional web programming as
structured programming is to GOTO-style programming.

If this is the case, it is more or less like Hacker News, or Seaside using
continuations in web programming.

If so, I'm interested to know how they overcome the mismatch between the
statelessness of the web and stateful continuations. How are we going to
permalink, for example?

------
angrycoder
Is this going to be streamed anywhere?

------
dfischer
The web needs this. To those that say "I don't need another programming
language"; I say "polyglot."

------
gnuvince
Anxious to see how it compares to Opa (www.opalang.org)

~~~
ByteMuse
Neat. This is the first time I have seen this.

First impression: I'm not really sure what this is solving - the syntax is a
bit ugly and the projects seem unstructured. Seems like the ability to
customize the stack is minimal. I couldn't find any solid examples of this
being used in production.

It looks fairly young so hopefully these concerns will be addressed.

------
aninteger
And in 5 years perhaps it will be usable. It will take that amount of time
before it will attract a large enough audience. It will also take some time to
port necessary libraries. It also could end up like D and stagnant.

------
cousin_it
I wonder how much of the speed gain can be achieved by subsetting JavaScript
instead of creating a new language? Something like PyPy's RPython. This way
they wouldn't need to reeducate people.

~~~
nickik
This is allread beeing done its called JS strict mode.

RPython is not really the same because RPython has to be staticlly compiled
and that takes a long time.

Both of these things have nothing to do with Dart however because we do not
know if Dart is about speed. Its probebly about having a better language.

------
jpalomaki
I think Google could be interested in creating something that would make web
app development on client side easier. Ie something to replace Javascript and
maybe more closely tie in DOM, CSS and client-server communication.

Right now this problem seems to be usually solved by writing the software with
some other language and the preprosesing or compiling it to Javascript.

Obviously a new language alone does not solve the problems but maybe a good
combination of a language and framework would.

------
marknutter
What I would like to see is an ultra-high level programming web-focused
language used mainly for prototyping and MVPing. Something where all the
grubby details like authentication, form creation, routing, etc. And I mean,
get a working application up and running, ready for users, that looks and
works really well in a matter of hours.

------
danssig
Instead of making new languages to run in the browser, why not make an
assembly language for the browser and then we can use what ever language we
like and compile to that?

It's a pain to develop in one language and then have to use JS. Of course you
can use coffee script and such things but if it breaks you're going to have to
debug JS code.

------
motters
Unless they're doing anything significantly novel, there probably isn't any
need for yet another programming language.

------
mkopinsky
Blame a combination of an American education and poor web design, but it took
me 5 minutes browsing around on this site before I figured out that Aarhus is
a city in Denmark. The first clue when was I couldn't load maps.google.dk. The
location page should have some kind of clue that Aarhus is a city.

------
watty
No more web languages, I can't keep up!

------
perfunctory
Can't wait to get my hands on it.

At the same time I'm a bit afraid to be disappointed. All programming
languages suck.

------
Vladimir509r
For some reason I seem to Cio new programming language will be locked up not
only under the WEB but under a large-scale development of all kinds of goodies
for Android and Chrome

Perhaps this language in the near future will be a key to all projects Google

------
johnohara
I'd be very interested in a content authoring language that included the
ability to assemble and create webm container files. Something that takes
direction from a source file and "compiles" to webm (mkv+vorbis).

------
Vladimir509r
I think that a new programming language to be used under the WEB for large-
scale development of all sorts of goodies for Android and Chrome

Perhaps this language in the near future will be a key to all projects Google

------
ByteMuse
I think the languages that are out there are fine, Python, Ruby, JS, Java, Go,
etc...

An innovative framework that utilizes an established language for web
development would be more beneficial, IMO.

------
pshc
This sounds a lot like my side project of three years and counting. I'm half-
hoping it hasn't been in vain, and half-hoping they've done all the hard work
for me. Steeeeeve!

------
espadagroup
Wait what was GO suppose to be used for?

~~~
chc
Systems programming, very explicitly. Go is basically aiming at C, whereas it
sounds like this is going to be aiming at trendier languages like Python and
JavaScript.

------
buff-a
It could cause magical creatures to appear and fellate me while I work, I
still wont be locking myself into anything from Google.

<http://news.ycombinator.com/item?id=2972108> \- "What’s better: Pricier
Google App Engine, or nothing?" or, more honestly: "Tough shit. What you gonna
do about it?"

~~~
gojomo
A language would almost certainly include an open-source implementation. Thus
it'd be nothing like the kind of vendor lock-in characterizing AppEngine, an
excludable/non-forkable service.

~~~
buff-a
If the community picks it up and starts developing it (in addition to
developing with it) great. But if all the code is written by Google employees,
and they then get reassigned, you'll be left either learning how to write
compilers or hoping that someone else, not at google, already has. You wont be
completely, and immediately fucked, like we are on GAE. But you'll be adding
"rewriting all our code within the next two years" to your to-do list.

------
pointyhat
I know this sounds a little coarse, but I really don't care about yet another
new programming language. There are too many already with so many distinct use
cases and niches.

I think a simple, general purpose programming language is good enough(1) for
the web and I'd rather have one tool for all jobs versus another edge case
language. In fact I'd rather have someone concentrate on one good "multi-tool"
than provide me with a hundreds of cheap short-lived screwdrivers with
different shaped heads.

Innovation should be about making the status-quo better, not introducing a new
status-quo every 5 minutes with new promises.

(1) - "Good enough" is an under-used term these days.

~~~
timdorr
What's worse is this is fragmentation of the programming economy. I've found
awesome bits of code written in Python that I can't use in PHP/Ruby/C++/etc,
and various other combinations. There are great programmers working on great
projects, but if they're not using the language of choice for my particular
project, they are essentially useless to me.

It also makes it difficult to find new talent because there is less of a
chance they'll be able to work in the language we've chosen. And yes, a good
programmer should be a polyglot, but it's an attraction issue. If I'm
advertising a Ruby job and looking for skills with Ruby-specific tools, there
may be a great Python programmer that could switch over but who doesn't apply
because they don't want to deal with switching gears to another language.

Let's keep it to 3 or 4 major languages. I think that's all I can take right
now...

~~~
viscanti
Library support is a big deal, and obviously a new programming language won't
have a whole lot of that. That issue gets a lot smaller, if the language
allows an easy way to abstract away a lot of those issues, making it quick and
easy to deal with whatever you'd look for a library for. If your main goal is
to find lots of library support, this new language won't appeal to you.

I'm reserving judgement until I actually see it. Maybe it's a great, fun to
use language that gives significant performance advantages over other high
level languages. If I need half the servers, that could be a big win. If
threading and concurrency are abstracted away in a way that's performant and I
don't have to worry about it, that's a big win. I don't know what it will be,
but if it's useful it's useful. Seems a bit silly to judge it before it's out,
especially criticizing it simply for being a "new" language.

~~~
zcam
Obvioulsy not, there are a few good good solutions to that, like running on
the JVM or some other similar platform. It is not all about performance,
languages can introduce new abstractions that can make a lot of difference.

------
drivebyacct2
I got all excited that this was the "Spot" we've been hearing about... but
alas, something even newer. I have dreams of a Go-like language that could be
used for both web server and web client programming.

~~~
cpeterso
What's Spot??

~~~
vjeux
[http://9to5google.com/2011/08/29/google-files-trademark-
for-...](http://9to5google.com/2011/08/29/google-files-trademark-for-new-spot-
coding-language/)

------
wavephorm
Go is not gaining enough traction, while Scala takes off. GAE is losing steam,
while AWS takes off. I guess it was about time for Google to make yet another
attempt to remain relevant.

~~~
lightcatcher
I'm not too familiar with the Go ecosystem, but does Google really have
anything to gain if Go becomes wildly popular?

~~~
forgotusername
A non-crappy language to build internal systems? There's a strong culture of
NIH at Google, so I doubt there is any sneaky hidden strategy in their opening
Go: they get widespread peer review and the chance to prime candidates on the
language before they ever reach the hiring process. I guess even that is
justification enough.

~~~
shuzchen
I have a hard time attributing a new language coming out of Google as NIH
syndrome. If you take a look at some of the people employed at the big G
(Gosling, Kernighan, Pike, Guido, Thompson, etc.) who were responsible for
creating and nurturing some very big languages being used today, I would be
surprised if new languages weren't being created.

------
RyanKearney
If this goes anything like AppEngine they will wait until it gets popular,
then start charging $0.25 per line of code you write with it.

~~~
cpeterso
I remember Curl, an "web Lisp" programming language startup spun out from MIT
in the late 1990s, had intended to charge users for the number of bytes served
by Curl's web server! Surprisingly, the Curl company is still around and just
released Curl 8.0.

------
zaelie
Are they going to call it D flat?

------
Kilimanjaro
Gimme a mix of harmony and coffeescript on the server and I'm sold. Btw, no
static typing please, the web is definitely dynamic, oh one last thing,
remember the hobbyists.

~~~
leon_
> Btw, no static typing please, the web is definitely dynamic

Could you explain what you mean with that?

~~~
ams6110
http is a text protocol. Best to deal with values as text, and dynamically as
other types when needed.

~~~
flatline
Since there is already a very nice, albeit quirky, dynamically typed langauge
for the web, I think there is room for something different. If you want to
build robust applications with larger teams - as is increasingly the case with
JavaScript - it would be really nice to have features of a statically typed
language. Same goes with the performance overhead for processor-intensive
apps, which we are also seeing more of with JavaScript. We are learning enough
about the potential for powerful browser-based apps that we could conceivably
start to come up with something better.

On the other hand, and to your point, nobody wants to reinvent SOAP.

~~~
technomancy
Surprised nobody's mentioned Ur yet: <http://www.impredicative.com/ur/>

------
igorgue
PLEASE BE A PURE FUNCTIONAL PROGRAMMING LANGUAGE!!!

~~~
scarmig
Ain't no such thing.

Javascript programs can be relatively pure now, and even Haskell isn't truly
"pure."

------
mgoo
New language couldn't solve our problem even its inventor comes from Google or
not. Take for example go language, what the go language achives to us, just
nothing. Same rule could be applied to this unknown super start language.
Startups and freelance developer could use that toy language to implement
their worthless and crap 'todo web app' but real world dont have free time to
play with these toy languages. Technology is not consist with web apps, we
need scalable, easy to learn, easy to read, easy to maintain languages. And
finally look from broad perspective, all of the new web languages doesnt have
a mature ide like Eclipse or Visual Studio, dont suggest me to use vim or
emacs, i dont have enough time, i am not an idiot to fuck my brain with those
useless shortcut keys.

~~~
mtogo
> _hat the go language achives to us, just nothing._

Maybe for you, but not for the hundreds-thousands of people using it.

> _Technology is not consist with web apps_

What?

> _all of the new web languages doesnt have a mature ide like Eclipse or
> Visual Studio_

I'm going to assume be "web languages" you are talking about Python, Ruby,
Javascript (on nodejs), and Perl. Most people get along fine with the existing
tools. Many people don't even like ides like VS.

> _me to use vim or emacs, i dont have enough time, i am not an idiot to fuck
> my brain with those useless shortcut keys._

Not sure how learning fast, easy shortcut keys would 'fuck your brain'.

> _but real world dont have free time to play with these toy languages._

False. Developers in the 'real world' work with cool new languages, frameworks
and tools every day. If you're not willing to learn them that's your own
problem.

