Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I think for a language to be disliked it should be in one of the following categories:

1) First category is where you are forced to use it, and it is easy enough to get started in. For these languages the programmer base is big enough for the mandatory awkward features of the language be stumbled onto frequently enough to gather all the hate, and also big enough for the language hating to become a pop culture. Javascript, Java, Objective C, Visual Basic, PHP are languages in this category.

2) The second category is where you are forced to use it, but the language takes a long time to master, there are so many rules to learn and practice that unless you have spent 10 years coding in these languages, you cannot call yourself an expert. The hate for these languages is a different kind of hate and it spawns from the programmer's frustration to conquer the language completely. It's anybody's guess that C++ is the language I am talking about.

3) The third category is where you are forced to use it, and learning the language is just an annoyance mainly because it is just a different syntax for a language you have already learnt, and the learning effort that you put in is not commensurately rewarded by expanding your mind by introducing you to new ideas in programming. Ruby (does not add anything to Python), C# (does not add anything to Java), Coffeescript (does not add anything to Javascript) are such examples.

One constant across language-hating is that the programmers are forced to use them, either because their jobs require it (Java, C++, Visual Basic), or it serves a niche where there is (was) no equivalent (C++, PHP, Ruby on Rails, C#, Javascript, Objective C).

Then there are languages like C and Python, which are so freaking awesome, groundbreaking, and so much valuable for their niches that they just simply cannot be hated.



1. I think it's possible to have a hatred of C++ that doesn't stem from a lack of understanding of the language. I think the C++ FQA (http://yosefk.com/c++fqa/) addresses a lot of the dislike people have with C++ that has nothing to do with ignorance of the language.

2. Saying that C# doesn't add anything to Java isn't even a simplification, it's flat out wrong. That argument may have been slightly valid in the C# 1.0 days (although there were quite a few differences like auto-boxing, properties, and pointer support), but the languages have diverged significantly, and modern C# code using lambdas, LINQ, and dynamic variables is signficantly different from Java.

Similarly, CoffeeScript and Javascript are massively different languages - the fact that CoffeeScript compiles down to Javascript doesn't mean the languages are similar, any more than saying Clojure and Java are practically the same since they both compile down to the JVM.


You are partially right about C#, my experience with it dates back to the 1.0 version, but even with all these enhancements is it worth spending in the effort of learning two similar languages when you could be learning a different paradigm which will expand your mind in different dimensions and will make you a better programmer. If you are proficient in Java and want to move to .NET why not learn F# instead.

About you comparing CoffeeScript with Clojure is not fair at all. Clojure gives a whole new world on top of JVM, while CoffeeScript is just syntactic sugar for Javascript.


You're right that Clojure -> Java is an unfair comparison, but I do think there's significant differences between CoffeeScript as a language and Javascript. If you ignore the fact that the main implementation of CoffeeScript compiles down to Javascript, and look at them instead as two wholly distinct languages, I wouldn't consider them very closely related at all.

CoffeeScript has significantly different syntax from Javascript, different variable scoping rules, list comprehensions, a class system, and a whole lot of other features absent from Javascript. If you showed both languages to a programmer who wasn't aware that CoffeeScript compiled down to JavaScript, I'd guess that they wouldn't see much of a relationship between the languages at all.


I hate Python with a passion I cannot express or explain.


Must be the forced indentation. One of the things I love about it.


I don't hate it, but I hate it's growing popularity. It is the little things, for example functions like len() that should really not be standalone but belong to string or array or whatever (I am not that deep into python). Or the the crippled lambda.

To me it is roughly equivalent to JavaScript - both have some syntactic sugar that the other doesn't have. But JavaScript has full power lambda and is overall much more elegant in my opinion (in the sense of needing less concepts to achieve more - basically it is all hash maps and functions).

Perhaps CoffeeScript is the solution, haven't really tried it...


I understand the frustration with the crippled lambda. But with regard to len() and other global functions that seemingly belong as methods on string/array/etc. -- it's worth reading Armin Ronacher's post on the rationale behind that:

http://lucumr.pocoo.org/2011/7/9/python-and-pola/


s/Python/Ruby/

Actually, add regex to my hate list.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: