Shared publicly  - 
 
Google: company of boring languages

Google's announcement yesterday of its Dart replacement for JavaScript was disappointing if not surprising. The language reminds me a great deal of Google's Go language. Both are essentially derivatives of Java, which in turn is derived from C++.

Google deserves considerable credit for hiring Guido van Rossum, creator and Benevolent Dictator For Life of the Python programming language and allowing him to spend half his time developing the language. Python's simple but powerful list and dictionary data structures make quick scripting a delight.

However, by and large the languages developed internally within Google have been a disappointment. In particular, if Google really does want to create a revolution to replace JavaScript as the primary language of the browser, why not create a new and innovative language that really allows programmers to be more productive? Instead it appears that the tech community's response to Google's announcement yesterday was a collective yawn.

As an open source software developer, I am reluctant to admit this, but Microsoft has been far more successful in supporting and promoting innovative languages than Google. Although C# is also derived from C++, it is embedded in the .NET architecture, which allows programmers to choose a large range of languages appropriate to a task. .NET even includes F#, a functional programming language inspired by OCaml and Haskell. In fact, Microsoft has evolved into one of the main supporters of Haskell by fostering the hugely successful development of the GHC compiler at Microsoft Research in Cambridge.

C++ was originally developed in 1979. Over the last 30 years, many new ideas have been developed for making programmers more productive. Some of these ideas were inspired by John Backus's famous 1977 Turing Award lecture "Can Programming be Liberated from the von Neumann Style?". Haskell and other functional languages allow programmers to develop code that is less likely to contain errors, is easier to understand and extend, works well with modern parallel computing and can be just as efficient as older languages like C++.

Why not a functional language for the browser?

Google forms an essential part of an Internet that has radically changed much of modern life. It is disappointing that its work on programming languages has been so timid.
19
7
Margaret Leber's profile photoGeorg Müller's profile photoManjunath Sripadarao's profile photoRodrigo Moraes's profile photo
6 comments
 
Semicolons does not make Java "derived from C++". And if C# is derived from anything, it's Java. From what I've seen of Go, it's no more "derived from Java" than from, say, Python.

Dart may have disappointed you by not being earthshaking. Go certainly has some interesting attributes. Google Web Toolkit is highly ambitious. But progress in programming languages most often happens incrementally.
 
I think, if we learn one thing from C# it is: Not to push in to many funtionality from the beginning. C# 1.0 was almost 1:1 Java. Today there is a lot more functionality in there, and innovation has not stopped there.
There is a lot of things you have to do, if you want to tackle JavaScript. Taking an evolutionary path seems like a good way to do this.
 
While Dart isn't a particularly radical departure from Javascript, Go is not a language that should be compared to Java or C++. Out of the common languages, it bears most resemblence to C, but it is also heavily influenced by lessons learned from languages like Alef, Newsqueak, and Limbo. It's not a radically different language like Haskell or Erlang, but it is small and simple and modern, unlike the bloated mess that C++ has become.
 
Go is definitely not a derivative of Java. It is a quite original language with a notably short specification, and brought several novelties to mainstream programming (see their interfaces and goroutines). Not for some tastes, but this is a different story.
 
I definitely still like javascript better!
 
That Googler who posted "Google doesn't get platforms" was right.
Add a comment...