Live data from Hacker News

Google introduces Dart, a new programming language for web applications

googlecode.blogspot.com

31–40 of 70 posts

Re: Google introduces Dart, a new programming language for web applications

#31
post #20

One of the design goals: "Ensure that Dart delivers high performance on all modern web browsers and environments ranging from small handheld devices to server-side execution." Server-side execution? I thought Go was their systems programming language? It sure sounds like they're competing rather than complementing each other.

There's a lot of server side programming for which Go probably wouldn't be the ideal language. Room for more than 2 languages in the world I think :)

Like what? Go is an absolutely excellent language for server-side programming. I've yet to find anything it wasn't suited for.

There's room, I just don't get why Google would promote two of its own very similar languages for the same purpose at the same time.

Re: Google introduces Dart, a new programming language for web applications

#32
post #16

No IDE support, no VM in Chrome yet, also no support for calling existing javascript libraries. These three things guarantee no quick adoption. I have no idea what Google is thinking.

Perhaps just not have them ready yet? Who said Google wants "quick adoption"? The SPECIFICALLY state on the language page that its design is in flux and they ask for user input to improve it.

Re: Google introduces Dart, a new programming language for web applications

#33

One of the design goals: "Ensure that Dart delivers high performance on all modern web browsers and environments ranging from small handheld devices to server-side execution." Server-side execution? I thought Go was their systems programming language? It sure sounds like they're competing rather than complementing each other.

Server side != systems programming.

Think server side web programming.

Is PHP/Ruby et al a "systems programming language"?

Re: Google introduces Dart, a new programming language for web applications

#35
post #20

Earlier quoted context omitted.

There's a lot of server side programming for which Go probably wouldn't be the ideal language. Room for more than 2 languages in the world I think :)

Like what? Go is an absolutely excellent language for server-side programming. I've yet to find anything it wasn't suited for. There's room, I just don't get why Google would promote two of its own very similar languages for the same purpose at the same time.

What do you mean by "server side programming"? That's a pretty wide net to cast. Do you really think that Go is the ideal language for every bit of code that doesn't happen to run on a client of some sort?

Re: Google introduces Dart, a new programming language for web applications

#36
post #9
post #6

The optionally static types in the Dart language seems like a good idea. You get both beautiful, simple code, like in Ruby, and the possibility to speed up execution by adding types later. On the other hand, you still don't have the great community like for instance ruby has. Charles Nutter has created a static typed ruby like language, called Mirah, which looks similar.

Full type inference also lets you write beautiful, simple code -- without even needing to add types later, you get them now. And speeding up execution is just a bonus, the main benefit is catching errors early, and refactoring safely.

Unfortunately, there is no type inference system (that I know of) that can handle types that programmers use in dynamically typed languages on a daily basis. For example, consider the Django admin property 'list_filter' [1] or the Clojure metaprogramming functions 'proxy' [2] and 'defrecord' [3].

[1] https://docs.djangoproject.com/en/dev/ref/contrib/admin/#dja... [2] http://clojure.github.com/clojure/clojure.core-api.html#cloj... [3] http://clojure.github.com/clojure/clojure.core-api.html#cloj...

Re: Google introduces Dart, a new programming language for web applications

#37
post #9

Earlier quoted context omitted.

Full type inference also lets you write beautiful, simple code -- without even needing to add types later, you get them now. And speeding up execution is just a bonus, the main benefit is catching errors early, and refactoring safely.

You cannot add "full-type inference" on top of a language with a dynamic type system. You also cannot add such type inference to an object-oriented language, like Scala (it may be possible, but very hard and nobody did it). the main benefit is catching errors early Dynamic typing isn't about not specifying types. Dynamic typing is about creating types at runtime. This enables certain techniques that are very producti…

There's an real conflict between static typing and eval() or reflection.

eval() is shown to be usable in a static typing environment by some of Don Stewart's papers, though it does take more effort on the language implementors' side.

Reflection is achieved in Haskell, for example, using reflective type-classes (such as Typeable and Data).

Re: Google introduces Dart, a new programming language for web applications

#39
post #29
post #28

Earlier quoted context omitted.

> The web needs a standard Intermediate Language: a machine code. Definitely. > This is what Javascript is becoming and it isn't well designed for it. Maybe... but what does a bytecode layer provide? I wonder if something useful couldn't be written in JS that provides a thin service layer. I agree it's not ideal, but it's what we've got. Google already have a few to-javascript compilers, including one for Dart... I e…

The point is not that they are already all over this but rather that an IL is something that all the browser makers could get behind. If Javascript is good enough as an IL why does Dart bypass it in Chrome?

> The point is ... that an IL is something that all the browser makers could get behind.

Sure, but that's not going to happen in the next decade unless that IL is in Javascript.

Re: Google introduces Dart, a new programming language for web applications

#40
post #9
post #6

The optionally static types in the Dart language seems like a good idea. You get both beautiful, simple code, like in Ruby, and the possibility to speed up execution by adding types later. On the other hand, you still don't have the great community like for instance ruby has. Charles Nutter has created a static typed ruby like language, called Mirah, which looks similar.

Full type inference also lets you write beautiful, simple code -- without even needing to add types later, you get them now. And speeding up execution is just a bonus, the main benefit is catching errors early, and refactoring safely.

To a point, JavaScript already has type inference: https://mail.mozilla.org/pipermail/es-discuss/2011-September...
Post reply on HN