Hacker News new | past | comments | ask | show | jobs | submit login

Interesting positioning of languages:

Assembly language: Batshit liberal.

Perl, Ruby, PHP, shell-script: Extremist liberal.

JavaScript, Visual Basic, Lua: Hardcore liberal.

Python, Common Lisp, Smalltalk/Squeak: Liberal.

C, Objective-C, Scheme: Moderate-liberal.

C++, Java, C#, D, Go: Moderate-conservative.

Clojure, Erlang, Pascal: Conservative.

Scala, Ada, OCaml, Eiffel: Hardcore conservative.

Haskell, SML: Extremist conservative

Woud be nice to overlap James Iry's chart[1] with it...

[1] from http://james-iry.blogspot.com/2010/05/types-la-chart.html

That list made me smile.

The reason it made me smile is that whilst I find myself agreeing with the whole conservative/liberal thing (I despise JavaScript, and yet fall firmly into the Hardcore liberal camp), my mind is still screaming "I'm unique/unclassifiable/obviously an outlier," and had to wonder how much a). my experience and b). my liking for Steve Yegge influences that juxtaposition.

It seems very subjective (and somewhat arbitrary) to assign labels of "conservative" or "liberal" to languages based largely on type safety. If this random blog post is taken as the definitive source of "conservative" vs "liberal" we get the following:

Twitter and Tumblr using Scala are "Hardcore conservative", while guys writing assembler for IBM mainframes are "Batshit liberal" ?

Assembler is so liberal that you have to be deeply conservative in order to write code for it.

Exactly! I think assembly language falls through the cracks in this way of classification - languages themselves can be liberal/conservative, and the communities using them can be liberal/conservative. In the majority of cases, these two will be aligned. But in assembly code, there are a lot of different ways to screw things up (batshit liberal purely based on the risk profile of the language), so if you want code that works, you need to be extremely risk averse (conservative) from the outset.

I think it has less to do with the language and more with how you use it.

I would venture to say that anyone writing assembler would almost have to be completely conservative to make it work.

Something like Python could be written in conservative fashion (like the article alludes to with Google's style of python) or could be liberal in it's more idiomatic form.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact