I watched a presentation by Brendan Eich, the creator of JavaScript, as he spoke I was constantly having flashes of other famous programming language designers, namely these: Anders Heijsberg (C#, TypeScript), Rich Hickey (Clojure), Don Syme (F#), and Martin Odersky (Scala). I’m not citing for example Matz (Ruby) or Gosling(Java) simply because I haven’t been following them lately as much as I have the others, despite my long history with Java and respect for Ruby. So this post isn’t about saying who is great, there are clearly many more I could cite including Rob Pike, (the late) McCarthy, Gilad Braha, etc, but I just don’t know as much about these other people in the context of this post. This post is simply about what I incidentally realised by closely following a few guys over roughly the same period of time.
I noticed that these folks truly embrace the community in a somewhat similar way, they all seem to be insatiably curious about how other language designers think and what they might want to borrow from others. This is a good sign for the Internet, because it means that the really heavy thinkers and influencers are less concerned about politics, they actually care about their users a lot.
The inclusive attitude of the language designers is in stark contrast with that of some their most fervent followers. It is fairly common to see articles by say a Scala or Ruby developer pouring scorn on JavaScript or PHP developers for example, and some JavaScript fans can’t thrash Java developers hard enough. Patronising is common, suggesting without any subtlety that some people must be inferior minds simply because of their choice of programming language. I obviously don’t condone such attitude, I think that great work can be delivered in any programming environment that the user is comfortable and proficient with. I didn’t mention C or C++ for example, but arguably they are the foundation upon which the Internet is built – all those Unix, Linux and Windows servers are built by C and C++ programmers, but just read what a Ruby or Clojure developer think about C or C++.
Incidentally, the programming languages that receive the most bashing (JavaScript, PHP, Java) appear to be the most successful from an adoption standpoint. C# isn’t thrashed as much from what I read, except for its origin as a Microsoft platform language – though the folks at Xamarin and their community are hard at work to make a good part of the .NET platform a first class citizen on Unix (thus Apple OSX and iOS).
It is encouraging to see that the luminaries in the industry have a more inclusive attitude than some of their users. From Brendan Eich’s talk, it looks like JavaScript, in its next two major versions, will gain several key features of the leading functional programming. So we should be seeing more blurring of the functional and object characteristics of the most popular programming languages, that is good for developers at large.
Brendan Eich’s talk is available at Infoq web site: http://www.infoq.com/presentations/State-JavaScript.