16 ms·
Poll: What's Your Most Disliked Programming Language?
Which programming language makes you most sad/angry/annoyed/... - add a note in any comments on the language you most like, so we can do some correlation.
- dbcooper 15y agoAwk
- axjack 15y agoCOBOL is a COmmonly BOred Language!!
- lubutu 15y agoThe programming languages that would make me the most sad/angry/annoyed I don't use, so it's difficult to make a choice. I suppose I'll have to go with Javascript because it's the de facto 'Web language' which people use to force me to evaluate arbitrary code whenever I want to read anything on the Web. Even with a sandbox that seems a terrible idea. If we're talking about programming languages I hate but still use, I'd have to go with Python. I spend most of my time writing Haskell, and Python's dynamic typing puts me on edge. I might spend half an hour evaluating a Python script only for it to throw an AttributeError because I mistyped some function name or passed the wrong type. Does anyone know a static analysis tool for Python? I found one a while back but when I tried it it threw (you guessed it) an AttributeError on NoneType.
- reinhardt 15y agopylint catches most such common errors.
- shanemhansen 15y agoEmacs with flymake mode or pycharm both do a great job at giving you real-time feedback on issues like that.
- mumphster 15y agoSublimetext 2 + sublime lint plugin makes for a very nice python programming experience
- bhickey 15y agoI'm going to sign in as a partisan here. I firmly believe that Python is the worst language that people actually use. DuckTyping is the most deeply misguided aspect of python. With the discover of Hindley-Milner type inference 40 and 30 years ago, this sort of sloth is simply inexcusable. Pythonistas will say "Oh, I don't care if it's a duck or a swan, as long as it quacks." Guess what? You can treat function calls as a statement that an object is an instance of some typeclass and that typecheck that. With a sufficiently intelligent compiler/interpreter author this is transparent to the programmer.
- cpeterso 15y agoI enjoy Python's aesthetics and extensive libraries, but wish it had (practical) static type inference. (RPython isn't really practical.) And to confuse matters, Python 3 added optional type annotations that are ignored by the runtime!
- TylerE 15y agoWith fairness, no you can't, not truly. Please point me to the version of HM the works with inheritance. Plus, due to stuff like __getattr__, the interpreter may not know until the method is called if it even exists. It would be totally possible in python to write a class where when any arbitrary method is called on a class, a function is randomly generated and called, with a random number of arguments, etc. It doesn't even have to be consistent from call to call. How on earth would H-M type inference cope with that?
- bhickey 15y agoI never said inheritance, or method for that matter. You can do H-M on typeclasses. Philip Wadler has a paper on it and it's alive and well in GHC: http://homepages.inf.ed.ac.uk/wadler/topics/type-classes.html http://homepages.inf.ed.ac.uk/wadler/topics/type-classes.htm... The fact that Python allows you to do something absurd is simply an argument against its design. Edit: Uh oh, looks like I ruffled some snakeskin!
- TylerE 15y ago
- itsmequinn 15y agoThe more common a language is, the more hearts it's gonna break along the way. PHP all the way baby.
- AnthonBerg 15y agoThat stuff that is used in Autotools, ugh ... What did they call it? M4 I think?
- chrisaycock 15y agoYeah, most people know M4 from Autotools, which is a poor use of it really. M4 was created by Brian Kernighan and Dennis Ritchie, the same team that created C. So there was some expertise behind its design. I've only use it for assembly programming, where is was very handy. But yeah, Autotools is probably why most people hate it.
- wheeee 15y agoI don't dislike any programming language... except COBOL.
- leftnode 15y agoPHP will be at the top of this poll and the other poll of favorite languages.
- BasDirks 15y agoIt won't be at the top of the other poll. It's getting about as much votes there as Haskell. If we consider the size of userbase for both languages, it's pretty clear that it's not liked in this community. With good reason, it's utterly mediocre.
- deleted 15y ago[deleted]
- middus 15y agoThat because many PHP devs (including yours truly) have a hate/love-relationship with the language. I voted for PHP in both polls. :)
- bdfh42 15y agoYou missed the worst one in the world - Mumps (or M). Terrible language that produces (seemingly automatically) terrible software. It also rots the brains of those that are forced to use it. All of those listed have their charms - seems hard to dislike them in the main.
- sp332 15y agothedailywtf.com usually posts horrible code bases that developed gradually over time. But their collection of MUMPS horror stories has convinced me that any project in MUMPS is already doomed. http://thedailywtf.com/gsearchresults.aspx?cx=007080070087309103660%3Au1mb5rvqdbu&cof=FORID%3A10&ie=UTF-8&q=mumps&sa=Search http://thedailywtf.com/gsearchresults.aspx?cx=00708007008730...
- Turing_Machine 15y agoIf only. There's a good chance that some of the important systems at your friendly neighborhood hospital are running on MUMPS.
- btwrto 15y agoThose are horror stories, recall. If you want to write bad code then you can do it in any language. These stories don't resemble what I have experienced. (I work for a healthcare software company in Wisconsin.) In particular, a sensible coding style and sensible development practices (yes, name your variables sensibly! yes, use source control! yes, have code review and automated tools to catch common errors) can remove the bad. It also helps if your company wrote its own (quite good) IDE for the language so you don't have to use Intersystems'. Honestly the most fun thing about M/MUMPS/Caché is that there's very little boilerplate and you can write sensible code quickly. It's like being stuck with Java and then suddenly moving to Python or Ruby. (With, yes, a few pitfalls that these languages don't have, and quite a few features missing. I still prefer modern languages for personal projects. But you quickly pick up a sense for practices to avoid.) I can't say all companies that use Mumps are great places to work. But mine honestly is. </soapbox>
- MrFoof 15y ago
- sp332 15y agoI use Perl a lot, but I have a problem with it. And it's not for the usual reasons. I dislike Perl because it amplifies how much I dislike working with other people's code. In something that constrains expression like C, it's easy to read most people's code. And in more expressive languages like Python, I at least feel like we're communicating. But to read someone else's Perl code, you have to get inside their heads! It's like you're not even speaking the same language.
- jrockway 15y agoI haven't noticed this, and I've worked on a lot of other people's Perl. Like anything, practice makes perfect. Read more Perl and reading Perl will become easier.
- conradfr 15y agoJavascript because I just don't have the choice to not use it.
- nkassis 15y agoYou have to stop worrying and learn to love the bomb ;p In all seriousness, I feel that a lot of people(me included) go through a period of hate for javascript until they find that it's actually has some impressive expressiveness using very small set of things.
- conradfr 15y agoYou must be right. It is like I still have the stigma of the early days of Javascript in the browser. I do mainly PHP so it's not like I can't overcome bad design. I routinely try to get a fresh perspective of JS but it does little. I praise jQuery everyday though.
- whamill 15y agoGet a hold of Douglas Crockford's 'JavaScript: The Good Parts' book. JS is so incredibly pervasive you're going to have to put up with it, so you may as well see if you can get along with the nice features like closures, functions as first class objects and prototypal inheritance.
- ryanbrunner 15y agoI definitely have a very strong love / hate relationship with javascript. On one hand, you can be very expressive with Javascript and it absolutely can be an incredibly flexible language with a lot of power. On the other hand, there's a LOT of warts in the language. Random reserved words like 'class' that don't even fit the language's approach, variable scoping that can very easily bite you in the ass if you don't know what you're doing, optional line terminators that seemingly exist for no reason other than to create bugs, stuff that should be avoided at all costs like 'with'. And that's just scratching the surface.
- 15y ago
- wglb 15y agoWhat, no RPG III? That is really at the top of my list, even above perl.
- bpeel 15y agoI think C++ is a terrible language but I actually like that it exists because it distracts people from adding all of the crazy features to C :)
- tsoukalos 15y agobetter than java :P
- tsoukalos 15y agoActionscript, Java, Objective C, Rexx, Visual Basic and any language that claims to be god's gift to developers without delivering. But my most hated has to be Java for all the extra condescending syntax and verbosity, enterprise "mambo-jambo" cruft, native code through jni circus, and general ugliness...
- olalonde 15y agoXSLT?
- amouat 15y agoVBScript is the most awful language I've ever used. Thankfully I've forgotten most of the pain it caused me.
- bhousel 15y agoHaha, why the hate? I use VBScript almost daily because I support an old proprietary system that offers 3 choices for business logic scripting (VBScript is actually the best of the three).
- darxius 15y agoAnything .NET, because I don't see the point of learning a proprietary non-cross platform language.
- tibbon 15y agoAgreed 100%. In addition software written in it seems to have the following other problems frequently - Using Oracle - Rarely contributing to FOSS - Using very non-agile development methods - 9 to 5 corporate culture - Bad UIs and boring software overall - Terrible web accessibility and standards conformity - Hearing people say, "Its better than Delphi" as a comparison point But those are just my experiences in working with teams using .NET. My run-ins with .NET have only gotten worse since I moved to Columbus, Ohio. I don't know anyone in the Valley using it, but people working for insurance companies seem to love it.
- darxius 15y agoI was originally taught VB in school and thought it was amazing. Of course, I needed to get a student license for Visual Studio...and I needed to wait an hour to install it everytime I bought a new computer...oh and what I created could never be used by anyone on a Mac or Linux system. A couple weeks later I discovered the wonderful world of Linux and never looked back.
- tsoukalos 15y agoyep, forgot about .Nyet and all those C# fanboys Despite my hate for Java, I have to admit Java > .Nyet +1
- billsix 15y agoMono Project www.mono-project.com
- jipipayo 15y agoof course Ruby
- thevegetarian 15y agoRuby the language isn't bad, but the VM is very primitive.
- chrisacky 15y agoEasily Visual Basic for me. My first exposure academically to a programming language was Visual Basic. This was what they "force-taught" at school. I already had experience with Java/PHP/C, and just wreethed inside with disgust at the rationale for learning Visual Basic. It was a horrible experience that was forced upon me by my school's teacher. (I was about 16-17 at the time I think). As a form of silent defiance, whenever I had to declare a variable, I would call it `dim $%something%`. Ha.
- stuckk 15y agomy first academically forced language was Java and now I hate java the most. I wonder if more people hate the first language they got taught.
- maxerickson 15y agoI imagine it varies considerably based on the teacher and other circumstances.
- Arcanum-XIII 15y agoMy first academic (and non academic in fact) language are C... and I still find it nice ! And for the short exposure of Java, I find it distastefull with lot of cruft. Especially since I've met Common Lisp and Haskell...
- Akram 15y agoWhen I was in college everyone hated C but I loved it.. but when Java came across, all those hated C loved Java but I never liked it.
- aswanson 15y agoYou may be on to something there. I despise BASIC and would never use it as an introductory language to someone learning how to program.
- kstenerud 15y agoMy first language (after basic) was 68000 assembler (unless you count digital logic), followed by C and C++. When I went to college, they were imposing Object Pascal, which seemed a clunky and pointless language overall. It's possible that the language wasn't as bad as I made it out to be, but first impressions tend to be lasting impressions.
- exabrial 15y agoNode.js because it's very horrible concept for 1000 reasons.
- Alexandervn 15y agoMaybe you would want to elaborate on that?
- _mayo 15y agoCould you elaborate on this? I think node is great for quickly prototyping evented applications.
- danmaz74 15y agoNode.js isn't a language.
- GB_001 15y agoJava, I was force-fed it in school. We actually had to develop web applications with it. I wouldn't have cringed so much if I hadn't have been developing in nodejs and php prior.
- xSwag 15y agoWeb application with Java? Oh high school.
- elorant 15y agoObjective-C. The syntax of this language is hideous. In most cases with languages like C#/Java/Python/Ruby etc. even if you don't know them you can understand a few things by looking at the code. Every-time I look at Objective-C code it hurts my eyes. What a convoluted piece of crap.
- alexwestholm 15y agoI'd encourage you to play around with Obj-C a little more before writing it off. It's actually a pretty simple, compact and concise language once you dig into it. Apple's APIs, on the other hand... :facepalm:
- elorant 15y agoI’d give it a try if it worked on Windows or Linux. I’m not willing to buy a Mac just to be able to study a language-I could build a Hackintosh but it’s too much trouble for what it’s worth. Most of the languages out there work on any platform. Even C# works on Unices through Mono. But for Apple’s products its always the same story, our way or the highway.
- cdh 15y agoSomeone can correct me if I'm wrong, but I believe the language itself can be used on almost any platform with gcc, not just OS X.
- octotoad 15y agoYou are correct. GNUstep would be the most well known project to make use of ObjC outside of the Apple world. Also, since it implements the OpenStep API, you could use it to get a basic feel for Mac development without jumping in to the Apple fog.
- Turing_Machine 15y agoYou're quite right, though of course you don't get the Cocoa libraries. GNUStep might give something of the same flavor, perhaps.
- crntaylor 15y agoI don't expect that the responses to this will be enlightening. In fact, I can predict right now that the winner of this poll will be the most commonly-used language which isn't widely considered to be "nice". Depending on the precise demographics of this site, that's either going to be Java, C++ or Javascript, despite the fact that there are clearly worse languages out there (Fortran, COBOL, Brainfuck...) The reasoning is explained well in a post by Terence Tao [1] in the context of 'List of the worst movie of all time'. Briefly, assuming that there is at least some correlation between programming language quality and uptake of that language (which doesn't seem to be controversial, especially among the users of HN) then you expect that languages which are generally worse will not be used so much, and so there will be fewer people who are able to vote for them as being "the worst". For example, I have never used Delphi (to pick an example at random). I know literally nothing about it. It could be a stinking ball of crud that irreparably crushes the soul of anyone who tries to use it, but because it's not that popular, I've never used it, and so I'd never get to vote it down for being the horrendous pile of fecal matter that it may well be (I repeat again that I know nothing about Delphi, and it might be wonderful - I'm using it to illustrate a point). If you make some simplifying assumptions about the probability that someone has used a language given its quality, then you can demonstrate that the language which will end up topping polls like this is whichever one is "just good enough" to be popular - which in this case means Java, C++ or Javascript. [1]: https://plus.google.com/114134834346472219368/posts/TPjSPPd1sLu https://plus.google.com/114134834346472219368/posts/TPjSPPd1...
- icebraining 15y agoBrainfuck is not a bad language, it just has different goals. Esoteric languages in general can't be compared with general purpose languages designed to be useful.
- hk__2 15y agoPHP, because it's unreadable, awful, and unmaintainable.
- CoolGuySteve 15y agoEasily C# and Java, I don't think the virtual machine adds anything other than another abstraction layer to get in the way. Just because code is native doesn't mean you can't have all sorts of built in bounds checking to ensure safety, but when you're in a VM, taking off the training wheels when you need to actually make shit fast is such a pain. I especially don't understand the point of a VM like the CLR that only runs on one platform. It's fucking retarded. On top of that, after having worked in an "enterprise C#" project for an unfortunate year, the kind of person who thinks C# is a really neat idea just doesn't get along with my style of programming. I had to reiterate constantly "Do the simplest thing that will work". And they would get pissed at me whenever I inserted something at the wrong layer of their pointless abstraction hierarchy. Delegates, XML, and design patterns abstracting ONE thing where everywhere. It was fucking horrible and it took the team forever to get anything done.
- Michiel 15y agoHow much of your rant has to with the actual language C# as opposed to the VM, other people, XML and patterns?
- CoolGuySteve 15y agoGood point, the language felt like Visual Basic wrapped in Java's syntax, or maybe a reaction to Java with subtle improvements. There were some nifty things baked in like events and lambdas, but for the most part it didn't feel like I was exploring any fundamentally new constructs or gaining much in the way of expressiveness over C++ with boost. The whole language just feels milquetoast. It was also difficult to get stuff across the managed/unmanaged boundary without a lot of verbosity and overhead, so optimization was unduly difficult. But really, it's not the language I hate, the language is mediocre, its the ecosystem around it that's terrible.
- bmj 15y agoI work in C# quite a few days a week, and I share your pair regarding the simplest thing. We have a couple of astronaut architects on the team (both of whom are actually good programmers, but they tend to get starry-eyed about MS frameworks and patterns), and I have trouble understanding why even a relatively "simple" web application requires nearly 30 Visual Studio projects. Personally, I don't mind C# much (I do work at an MS-centric shop), but some of the baggage that comes along with the .NET framework can get bothersome.
- drpancake 15y agoCan't remember who built this, but here's a chart: http://hnlike.com/hncharts/chart/?id=3748961 http://hnlike.com/hncharts/chart/?id=3748961
- jcubic 15y agoI hate PL/SQL
- MartinCron 15y agoThat makes me think the inclusion of "SQL" on the original list is debatable, as SQL isn't really a programming language in the way that the others are. PL/SQL and T-SQL (and I'm sure there are others) would be more appropriate.
- greenpizza13 15y agoAPL
- SatvikBeri 15y agoFORTRAN was the first language I learned, and I hated it so much that I never tried programming again for 6 years. So it has a special place of hatred in my heart. SQL also pisses me off, because I use it on a daily basis and it's so weak.
- sharmajai 15y agoI 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.
- ryanbrunner 15y ago1. 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/ 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.
- Ingon 15y agoI was kind of expected that the Java will win this, but I think this is clearly misleading. Java is an OK language IMO, its just the open source and j2ee part are bad. But if you let the assumptions which come from sun, oracle and other j2ee pushers, the language is very easy and capable of working with. For instance - the common "wisdom" is to use getter and setter. However if you just declare all your fields as public the code becomes much less verbose and usable. If you are determined to have the work done, Java will do it as fine as any other language and will be very fast and maintainable.
- ameasure 15y agoNo SAS users/haters out there? Lots of government systems are written almost entirely in SAS, despite little or no support for such basics as user defined functions and objects.
- 16s 15y ago"There are only two kinds of languages: the ones people complain about and the ones nobody uses." - Bjarne Stroustrup Source: http://en.wikiquote.org/wiki/Bjarne_Stroustrup http://en.wikiquote.org/wiki/Bjarne_Stroustrup
- zxy 15y agoBut then there's python.
- olaf 15y agoIs that the language with `pass`?
- attractivechaos 15y agoI do not know why someone has downvoted zxy. He/she has the point: python is used by many but few dislike it. Python is a third kind: the ones people like. Bjarne was looking for excuses for his bad C++.
- tikhonj 15y agoI don't know, I know a ton of people who don't like Python. The difference is that unlike C or C++ or even Java, if you don't like the language itself there is no compelling reason to use Python, and so those people don't. That said, when people do have to use Python, like in my compilers class right now, quite a lot are not happy with it. (Even the professor gets annoyed with it; I really don't know why we're using it.) So I think there is just much more selection bias in the land of Python than in C++ or Java.
- VMG 15y agoBash
- iconfinder 15y agoI don't see how we can use this poll without knowing what languages people have tried. E.g. how would you compare 200 votes for php vs. 5 votes for assembly when there are many more PHP-developers than assembly-developers.
- billpg 15y agoPHP. There are worse languages, but PHP is hard to avoid. I want to do some simple automation on a website. Because I don't like PHP, I have to pay a premium for a Windows based host that supports ASP.NET.
- vrodic 15y agoWindows licence is not free, you know? And there are plenty Linux hosting options that provide other language runtimes.
- twunde 15y agoFor next time, there are multiple languages such as Python, Perl, Ruby, Java etc that could do the automation and not have to use Windows. And granted about PHP. The big problem it has is its inconsistency in terms of function parameters. Slows the developer right down.
- emehrkay 15y agoI am surprised by ActionScript being high on the list. It gives you everything that is very decent about JavaScript, with the classical OO that everyone seems to love. If you do any Java or Python, you should be able to get right into AS
- Tichy 15y agoThat sounds weird, given that Java and Python are almost antitheses of each other. So ActionScript somehow manages to meet two entirely different philosophies in the middle?
- emehrkay 15y agoI havent used Python and Java a lot, but Python seems like a more laid back Java. Add static types, get rid of functions, and one class per file, and you almost have Java. In ActionScript everything is an Java-like object. Adobe decided to implement the unfinished ES5 draft where you have JavaScript with "classes," they also put the Java-like limitations of one class per file/package, and having classes do almost everything (instead of functions). If a Java gal went to AS she'd, optionally, want to incorporate closures as a tool. You can approach Python lot like you would JavaScript -- some functions, some classes, passing around functions/classes as arguments, closures, etc. (I bet that I could replace my JS with Python pretty easily if browsers supported it). If a Python guy goes to AS all he'd really have to do is add types, put every class in its own file, and drop functions (in a few cases). I wouldnt necessarily say that it meshes the two together, but I do feel that anyone who is comfortable with either Java or Python could be very productive with Actionscript in a short time because of how tightly loose it is, lol.
- pentarim 15y agoI wouldnt be surprised if this polls result would converge to usage of listed languages
- jroseattle 15y agoDidn't vote. I don't dislike languages; I dislike environments. And I try to separate one from the other.
- mechanical_fish 15y agoI see that another generation has discovered HN's poll feature. ;) The pleasure of watching the old classics come back for another run is tempered by the fact that what has come back is yet another language war. Oh, well. My favorite least-favorite programming language is the Central Dogma. Gotos. Self-modifying code. Code that deliberately recompiles other people's code. A potentially infinite series of build steps. Not intuitive to read. The output often makes no sense. Very few comments. Nobody seems to have written a manual. And the bootstrap process takes a really long time.
- jcoffey 15y agoI'd be interested to see the results of: Poll: What programming language will provide the most career benefit over the next 5 years? Maybe someone with enough karma (20) could create it? Or maybe: Poll: What language are you going to learn next?
- VeejayRampay 15y agoI don't know about languages but one thing is for sure, Haskell evangelists are a plague. You know, those people who cannot form a sentence without the word "monad", who are all about purity and disdain for everything not Haskell.
- jd 15y agoI didn't see my option on the list. My dislike for the abomination that makefiles are made of knows no bounds. Most of the languages above I can avoid (I simply don't use the languages I don't like), but I curse every time I have to open a makefile, because I know how painful it's going to be. (makefiles are turing complete, so I think it qualifies as a programming language)
- Eduard 15y agoI'll upvote your makefile suggestion :)
- ScottBurson 15y agoThere's a great story I heard years ago about makefile syntax. As I recall it: Stu Feldman, who invented 'make' at Bell Labs in the early days of Unix, realized fairly quickly that the syntax was a disaster. He decided not to try to fix it, though, because he already had ten users.
- lysol 15y agoOmnis
- FredBrach 15y agoFunny, the answers looks a bit like: - "I love you" - "Me neither"
- pknerd 15y agoPerl only 70 points? :) My vote for Perl
- kabdib 15y agoAny language that is embodied in XML.
- asjo 15y agoHere is a plot of the votes (updated hourly): * http://koldfront.dk/misc/hn/wymdpl/data.png http://koldfront.dk/misc/hn/wymdpl/data.png
- attractivechaos 15y agoI like it. It is possible to show the other poll (on favorite languages) along side? Thank you!
- asjo 15y agoYes, here is a scatter plot: · http://koldfront.dk/misc/hn/pl/data.png http://koldfront.dk/misc/hn/pl/data.png I would like to make a bar chart with favorite votes pointing up from the x-axis and dislike votes pointing down, but my rudimentary R skills doesn't stretch that far yet. Here is the scatter plot on with log scales: · http://koldfront.dk/misc/hn/pl/log.png http://koldfront.dk/misc/hn/pl/log.png
- attractivechaos 15y agoThanks a lot (and sorry for repeated post; there was something wrong with my browser)! I have also got my version of the plot: http://attractivechaos.github.com/votes.png http://attractivechaos.github.com/votes.png
- robsteranium 15y agoHaha! Great minds think alike. I just went through a very similar sketching sequence and reached basically the same conclusion! I've plotted the positions using proportion of max votes (as a proxy for response rate) to account for the different number of voters responding to each poll (with actually counts added). And my axes are reversed! The bipolar bar chart you're aiming at should be pretty easy to achieve if you first make the dislike values negative. I'm happy to write some code to demonstrate if you'd like. edit: link - https://gist.github.com/2206278 https://gist.github.com/2206278
- deleted 15y ago[deleted]
- LeafStorm 15y agoShellscript - both sh and csh. It has horribly inconsistent syntax, a myriad of ridiculous quoting rules that always explode on you whenever something unexpected shows up as data, almost zero data structures, and you have to fork a process to do anything. If not for the fact that it comes standard on every UNIX system, everybody would be laughing at anyone who tried to write anything serious in it.
- ufo 15y agoI learned to avoid bash really fast: the first script I wrote in it took more then half an hour to get right because I wasn't expecting it to treat 0 as true and 1 as false in the if statement.
- jipumarino 15y agoAppleScript
- zokier 15y agoI'm rather surprised that there are 30 people on HN that know COBOL well enough to dislike it most.
- epicviking 15y agoI had to use "PerfectScript" for something once. It was an awful awful experience.
- peterhi 15y agoAfter several years of Java programming I am now in the position of being able to turn down offers of work. I consider having been a Java programmer akin to having appeared in a porn movie. I was young, naive and needed the money. I am seriously considering excising Java from my cv and replacing it with something I would be more comfortable with - like Mumps :)
- guard-of-terra 15y agoYou say it as if appearing in a porn movie was something bad.
- michaelochurch 15y agoHave you thought about learning Scala or Clojure? Don't let the fact that they run "on Java" put you off. They're excellent languages but run on the JVM, and their cultures are different enough because of the very high (at least for now) quality of the average developer in these languages.
- zaphar 15y agoI chose PHP because it's gathers everything I hate about any language in one spot. * It has everything including the kitchen sink but nothing in the decor matches. There is no unifying principle to help you grok the language * The Community is all about quick hacky fixes to already broken code and this approach seems to flow from the core developers out. * It's not type safe, not even at runtime. I don't know if I ever want to work in a language that doesn't have proper type safety as a guard rail. (Note I'm not talking about compile time vs runtime type safety I'm just talking about type safety period) * The code is just plain ugly to look at and I used to be a pretty heavy perl coder so that's saying something. I know some of these are pretty subjective but for me php just manages to hit every single one of my top programming language gripes. If you want to know my favourite that's a much harder question to answer. Golang has been pleasing me lately although it's interfaces have a very tiny hole in the type safety. ML and it's varying descendants have as close to my ideal type system as I've ever seen. But the chances I'll ever get to use it for a job are slim to none and it seems the community is a little too academic for my taste. Lisp has the most awesome metaprogramming built in and I had a brief heady love affair with it until it's lack of good type safety brought me back to earth. I suppose all this means I'm one day fated to write my own "ideal" programming language so it can be featured in a list like this :-)
- pepijndevos 15y agoI once found a login form where 1e3 was a correct password, when yours was 1000. I'm still not sure if it eval'd your password, but it was PHP for sure.
- guard-of-terra 15y agoSome comments on popular choices: I chose C++ because it's a horrible language that holds a lot of industry hostage. You can't use anything else because of tooling and network effect, but writing C++ is painful and dangerous. A few years ago I would use PHP because it's so horrible and it destroyed a lot of innocent souls who entered programming via it, forever damaging their understanding of consistency, abstraction and modularity. But these days PHP is a dying emperor and there's no much reason to care. Visual Basic is even more strange choice because the language is not as bad (primitive, but not very bad) and you can skip it. People pick JavaScript because they don't like not having choice + having to adopt to quirks, but on other hand we could never get anything better. Imagine if browsers defaulted on some kind of BASIC (no OOP, confusing data types, obtuse data structures, no hash maps, huge confusing spec) and that's what we'd have to use? Brendan Eich is a genius, he created a language for twenty years in ten days. Java: Those who actually write in it have reasons to hate it, those who don't just translate their groupthink, I believe.
- zanny 15y agoI still would rather have web browsers say "can't find an interpreter for type=ruby" than be stuck with javascript. Thats why I voted javascript, because in every other case, I have a choice - the languages I dislike, I dislike less because I can just not use them. No the case with JS.
- guard-of-terra 15y agoThe main problem is the DOM and event binding. Do you want to refit ruby to play nice along with browser model? Problem is, surprisingly, nobody does! And the sandboxing would be huge too.
- anonymoushn 15y agoI'll volunteer to do this for Lua. Which browser vendors do you have on board? Perhaps we can teach the world that "Asynchronous code" and "Seven nested callbacks" are not synonyms.
- earino 15y agoA 4GL named Progress.
- cagey 15y agoI couldn't find any mention of (pre-PowerShell) MS batch (CMD.EXE, COMMAND.COM) language. At the shop I work at, WinXP is still the standard platform, and .BAT the first line scripting language. It's nauseating; the threshold at which I typically start looking to rewrite .BAT scripts in languages not intrinsic to the platform is about 3 lines of code. Unfortunately, if you want to write programs that modify the environment of the CMD shell from which they were invoked, .BAT scripting is unavoidable.
- krallja 15y agoIf you have a requirement to use languages intrinsic to the platform, CScript.exe (Windows Script Host) is your friend. VBScript and JScript may be ugly, but it's a hell of a lot better than CMD.exe.
- tel 15y agoWhere's Matlab? That language has caused me untold anguish.
- deleted 15y ago[deleted]
- phreeza 15y agoAgreed. I was looking for that, too.
- read_wharf 15y agoThere are fewer votes and comments than the "favorite" thread, probably because most of the languages you use are because you were interested in them for some reason and are predisposed to like them. So we have more experience with languages we like. And, C++ must be destroyed.
- bborud 15y agoI would have to say C++, because it burns so much talent that could have been spent on solving actual problems. I also dislike C++ because I think it is a transitional language. It came about in the vacuum between structured programming and OOP and thus ended up being neither structured programming nor OOP. If you are a good C++ programmer you still lose, because with a programming language where 90% of your talent is not bound up in foot-shooting-avoidance, you could have been doing fucking amazing work.
- doki_pen 15y agoJava. It's not the language itself. I don't really mind any language. It's the insane amount of time it takes to iterate on a large project. Absolutely miserable. I don't know why they don't have a compilation system more inline with what python or ruby do, even if it's just a "development" mode.
- ootachi 15y agoGo, sadly.
- ScottBurson 15y agoXSLT, anyone? I admit I haven't used it, but I saw some the other day, and it looked just as hideous as I imagined code in XML syntax would look.
- GnarfGnarf 15y agoWhat about RPG?
- Hanky 15y agoI just can't read someone else code in PHP; it's really annoying me. Especially if they use smarty - I want to punch the programmer in his face.
- RShackleford 15y agoFuck off, JAVA is the best, mother fuckers.
- deleted 15y ago[deleted]
- cema 15y agoSQL by far. I would have said "Visual Basic" but I have not had to use it in a long time. But I cannot avoid using the damn SQL!
- safetytrick 15y agoJava, PHP, Javascript, and C++ are all in the top 5 disliked. These are my most useful/effective languages. Less php lately, and I use python as often as the rest but the point still stands, these are very useful if imperfect languages. These languages also score highly on the Favorite languages list.
- zephjc 15y agoOther: LSL aka Linden Scriping Language, the scripting language used in Second Life It would take me too long to detail all the reasons it sucks. I can't count the number of times I've cursed it.
- aDemoUzer 15y agoC makes me the most sad to use. It is only useful if I want to high performance apps - since I don't need to, I don't use it as much. When I did had to work in for school projects, I just hated the part that I had to write so much code just to do simple things.
- tbsdy 15y agoI can't believe you don't have MUMPS on this list!
- quinndupont 15y agoComparable question: What's your favourite religion?
- ad_bfl 15y agoHow many base classes?
- icebrain 15y agoWhy hate tools? "Oh I love the hammer and I hate the saw! Stupid saw!" This doesn't make sense for me. I doesn't matter if I like to work with objective-C or not, if I need to build an iphone app, it's the tool I've gotta use.
- mangoman 15y agoI'm so confused about why C is so liked, while C++ is so disliked. I mean everything you can do in C you can do in C++...Is it because C++ is too high-level for the work that C is primarily used for, and too low level for applications that are better suited for something like Java or Python? I'm a C++ hacker by education, its the language I'm strongest in. It definitely has flaws, but I DEFINITELY enjoy it over C.
- jcheng 15y agoBecause C is simple and C++ is complex, perhaps. Personally I agree with you, I would always choose C++ if given an option between those two.
- SkyMarshal 15y agoHere's one answer to that: https://lwn.net/Articles/249460/ https://lwn.net/Articles/249460/
- Kilimanjaro 15y ago"The fact that we also piss off people who cannot see that is just a big additional advantage." I like Linus.
- jcheng 15y agoI wish AppleScript was an option.
- sad_panda 15y agoPHP has rampant breaking changes in syntax and libraries between versions. If you're shipping something like a plugin for Wordpress, you have to deal with fragmentation up the wazoo. So obnoxious!
- Kilimanjaro 15y agoPHP looks like the clear winner here. I wonder why nobody creates a CoffeScript for PHP, or fork it and remove the warts with a scalpel. There is a great opportunity to create a popular language out of the ashes of php.
- aforty 15y agoWow... Java is winning! Would never have thought that many peoples hated Java as much as me.
- magice 15y agoI chose Python not because of the language itself (in fact, it is not that different from a bunch of languages that I love), but because it is a preacher under the cloak of a language. I mean, yes, by default, I do a lot of things that Python requires. However, that does NOT mean I need a stupid computer program to rub into my face what I am supposed and not supposed to do. Oh, and for an incomplete, not fully ideal language (look at it stupidity in lambda form, fake private fields in classes), it's a sorry excuse for a preacher who attempts to "right" already right programmers. Programming is about self expression, about creativity, and about practicality. It's not about preaching, high ideal, and hypocrisy. Reading Python's mailing list always makes me want to puke and stab someone. Lastly, Python's popularity constantly reminds me of the sad state of, you know, freedom of speech, expression, and thinking. Oh, did you realize that the only thing Python is better than other languages is its library? Yeah, the language itself sucks, restricts people, cumbersome, and fails to implement all features (again, lambda and private). Yet, it's popular. Sad.
- jdbernard 15y agoOther: Visual FoxPro
- abuark 15y agojava..java..java..too verbose!
- nwmcsween 15y agoBash? because it's just pure garbage?
- loup-vaillant 15y agoI Chose C++ because it's the language which makes me suffer the most. Besides the existence of legacy code and currently available expertise, this language is totally inappropriate for the work I'm currently doing. Also, I suspect C++ is the language that cause the most suffering among programmers, partly because it is so widely used in the first place. As for why I hate it so much, the arguments are well known: the language is overly complex, not very consistent, generally unsafe with regards to exceptions and memory management, and widely used for applications that could have used a garbage collector. C++11 solves parts of this, if your team observe very clean coding conventions, and at the price of an even more complex language. For my favourite language, see http://news.ycombinator.com/item?id=3747696 http://news.ycombinator.com/item?id=3747696 (The current answer is OCaml, but I now know of another approach that looks orders of magnitude better.)
- 6ren 15y agoI wonder how much of this disappears when you normalize for use? PHP would still seem overrepresented and C underrepresented. There are only two kinds of languages: the ones people complain about and the ones nobody uses. Bjarne Stroustrup
- aviraldg 15y agoI voted for PHP - it was the first "web" language I ever learnt. I'm not going to hate on it for all its foibles, like the $ before variables and the jumble of functions that constitute its standard library which totally lacks any and all kinds of namespacing. The real reason behind why I hate it, is because as a newbie, it let me do things that are now, in hindsight, terrible practices. Things like including mixing code and markup outright, placing source in public facing directories, and not to mention the myriad PHP tutorials which encourage handling paths using simple concatenation. A better language, I feel, is one that 'pushes' against things that are wrong, and makes them harder to do. I'd also have voted for Java if I could, for no other reason than its verbosity. ps. If you're wondering, I like Python most.
- jv22222 15y agoThe whole PHP vs "Real" languages reminds me of the Bootstrapping vs VC Funding argument. Also, it seems (to me at least) to simply be a purist vs pragmatist debate.
- ISloop 15y agoWhy is there so much dislike for C++?
- Uchikoma 15y agoNone, I like all. Really.
- crusso 15y agoObjective-C. It's the weakest of weak ways to add classes to C. I spent some months learning it and the supporting OSX NSObject framework. Unlike several other languages, I never felt myself become enthusiastic about it. Even after I became reasonably proficient, writing code in Objective-C just felt like drudgery.
- J_Darnley 15y agoJavascript because too many websites abuse it for what should be a static page.
- cstross 15y agoWhy is MS-DOS batch language missing? Makes the UNIX shell scripting languages look elegant and beautiful in comparison ...
- gnosis 15y ago"There are two types of languages, the ones everyone complains about, and the ones nobody uses." - B. Stroustrup
- tikhonj 15y agoI'm in the minority, but the language that annoys me most is Python. Not because it's a really bad language--not at all! Rather, it is a mediocre language with weird semantics, warts and no redeeming features. That by itself is fine--there are many mediocre languages on this poll, some of which are worse than Python. The real issue is how over-hyped Python is--everybody wants me to use it. I can avoid other unfortunate languages like PHP or even Java fairly easily, but everywhere I turn Python is basically shoved in my face. It's also constantly heralded as a well designed language when most of it is anything but. I don't even think it's the best dynamically typed language--out of the ones I've any experience with, Scheme, Lua and even JavaScript (aside from the DOM and browser stuff) are nicer and more elegant. Python is bigger, more complicated and yet less expressive than any of these languages (especially Scheme). It seems to share a philosophy with Java (we can't let programmers have anything they might possibly shoot themselves in the foot with!), which does not make for a language I would like to use. As I've said, its faults are not unique. It's a sub-par language in a sub-par world. But for some reason it's elevated as the paragon of language design and used widely. Of course, there are plenty of communities that do not like Python--it's only overrated in the HN sort of sphere. Low-level programmers like C and C++; enterprisey types like Java and C# and neither like Python. I am not interested in either community myself, however. The one community that I am interested in, and that doesn't like Python either, is the programming language group. Comments on Lambda the Ultimate are much more critical of Python than comments on HN. So yeah, I like Python less than even Intercal, simply because I've been forced to use the former and will never have to use the latter.
- pornel 15y agoBash — language where even spaces are dangerous. It's frustrating that in shell scripting gap between "looks correct" and "is correct" is enormous. Whitespace, leading hyphens, paths, globs, shopts, masks, signals, race conditions and POSIX compat problems and quirks — there's always some edge case. Even `echo` can't output arbitrary values in a portable fashion (sometimes accepts `-n`, but doesn't accept `--`).
- dbcooper 15y agoLabView is quite horrible. Their graphical approach in particular.
- mark_l_watson 15y agoI am really surprised to see the hate for Java. I admit I like using Ruby and Clojure more than Java, but, the Java infrastructure is awesome and the language is good.
- shalakhin 15y agoVoted for Visual Basic but remembering the time I had to work with ISBL I can say it got the 1st place even comparing to Visual Basic. Its structure and syntax have nothing from good design.
- wyck 15y agoWho is interested in a pissing festival? Do you ask a landscaper what is favorite rake is or do you look at his work. The answer is that a good gardener can create something amazing with a stick, but a bad one can't, even with a truck full of tools.
- overgard 15y agoJust for fun I wrote a script to take the diff of the score values for the "most liked" languages in the other thread and the "least liked": Actionscript -59 Ada 8 Assembly 53 C 809 C# 626 C++ 29 Clojure 386 Cobol -51 CoffeeScript 245 ColdFusion -43 D 38 Delphi 6 Erlang 133 Forth 24 Fortran -9 Haskell 445 Java -324 JavaScript 899 Lisp 258 Lua 123 OCaml 63 Objective C 113 Other 148 PHP -254 Pascal 6 Perl 105 Python 2639 Rexx 2 Ruby 1346 SQL 29 Scala 181 Scheme 149 Shell -25 Smalltalk 47 Tcl -1 Visual Basic -445 (Negative numbers mean the dislikes outweighed the likes)
- pestaa 15y agoFirst I was a bit disappointed by how much hate C++ gets but I'm happy to see it on the positive side even by just a tiny amount. That said, this poll is not online for the same period of time. Not that negative points could take away anything C++ can do for me.
- seanmcdirmid 15y agoYou can only love or hate C++ if you've used it, and I would guess that many readers on hackernews have never had the pleasure of using C++ a lot before; i.e., as a professional C++ programmer (though this would be an interesting poll to take!). I listed C++ as a dislike, and I believe it deserves the hate. C++ basically means full employment for PL engineers (like myself) to build decent parsers (C++ is almost unparsable), compilers, bug checkers (C++ code is dense with bugs that can be found via analysis), and so on. I came to a point in my career early on where I realized that this was just ridiculous, so I got out of the C++ tool industry just as fast as I got into it (and worked on Scala instead, sort of ironic). Many people have to use C++; e.g., if you are writing embedded systems, OSes (device drivers), or games. Most everyone not in those industries will just continue to stay away from it.
- hobin 15y agoI think this poll might be slightly misleading (just like the other poll about favourite languages sometime ago). Quite simply, people are more inclined to vote for languages they've used themselves, because they've experienced the annoyances and wonderful things first-hand. Personally, I find it rather hard to believe that someone would dislike PHP and Java more than, say, bash scripting (which I presume falls under 'Shell' here) or ASM.
- KingMob 15y agoWhat, no hate for Matlab? Other than matrix math, data visualization and extensive libraries, it's a terrible language. Depending on the feature, it's either seriously lacking or a decade and a half out of date. Its support for basic things like string and file manipulation is weak (after seven years, I still have to look up the order of the parameters for the findstr and strfind functions). Object-oriented facilities were only added a few years ago. Closures were likewise added only within the last few years. Anonymous functions are restricted to just one expression (wtf?!). It's quite expensive, typically costings hundreds or thousands of dollars, and yet is usually too slow for more intensive applications. The recommended optimization method, vectorization, tends to be be incredibly memory-wasteful, negating any code savings. Its GUI building tool is more primitive than anything built since the mid-90's. And the default indentation level makes it hard to pick out separate functions in a file, to boot. The Mathworks is the Microsoft of science.
- joeycfan 15y agoDibol.... Imagine the worst parts of COBOL and BASIC
- seltzered_ 15y agolabview.
- jebblue 15y agoJava disliked at a high rate? What's up with that? It doesn't mesh with everything else I experience in the Java world. Are these results being manipulated?
- seanmcdirmid 15y agoI doubt it, the results are just biased. I bet there is a higher population of readers that uses Java + some other dynamic or newer language that they like better and would prefer to use rather than Java. The poll isn't scientific, nor was it expected to be.
- lmm 15y agoVoted Java, favourite is Python. I value conciseness, and Java has a huge syntax overhead, especially when coding in a functional style; every time I write any I wish for lambda.
- neilk 15y agoPL/SQL.
- drivebyacct2 15y agoThis isn't fair. These questions offer so little context. For example, I love C#. I hate MVC.NET/EF, Visual Studio and Azure with undying passion though.
- stretchwithme 15y agoOf course, we can only discern the meaning of these numbers if we know who's tried which languages.
- zexvux 15y agoProgress
- optymizer 15y agohaters, hate on this: time python -c "for i in range(int(1e8)):pass;" time php -r 'for($i=0;$i<1e8;++$i);' go on, run the commands.
- jaequery 15y agoit's such a flawed poll. it loses all credibility when PERL is not in the top 3, if not #1 on the list.
- jaequery 15y agoi used to hate javascript a lot. but then jquery came along and changed everything and i know i'm not the only one who feels this way about javascript. this goes to show just how easily a well-written framework can change the whole perspective on a language. another good example is ruby, i doubt ruby would be this popular if it wasn't for the rails framework. one language that i do like at a glance but haven't had the experience is python. seems to me like it's the easiest language to learn (especially easy on the eyes, good readability) and it's not a surprise why people like it the most here on HN. but one being gripe about python is that it really is a pain to get the environment setup. i've had a friend who worked a backend-piece for me written in python 2.6 and i had a chance to setup the environment first-hand myself to get it working and i must say it wasn't really a pleasing experience. i'm not sure if he just does "things" differently or not but he told me that i need to setup python in it's own container to not conflict with system python because the one he was using was a different version of python. not only that, the pain i saw really came from him having to load a plethora of modules to just get his app work (like modules just to convert decimals?). when it comes to portability and readiness out of the box to start working, i think python still has some ways to go.
- calebmpeterson 15y agoJava got the vote from me, not because I hate it, not because it's a bad language, but because I use it every day. There is so much that is good about Java language which I take for granted after working with it for years and yet, given my daily use of it, I see the things that it is sorely missing. I'm a huge fan of Clojure, and have worked with JavaScript a lot too... and in the end I gnash my teeth at Java for lacking immutable data structures and lambdas/first-class functions. If/when these two items become parts of the Java language and JDK, Java will be a language which I (again) find a pleasure to use.
- norswap 15y agoI chose Python. The lack of explicit types combined with a crappy documentation make the standard libraries a pain to use. Reading somebody else's code too, unless it is thoroughly documented (aka the what-the-fuck-is-in-this-variable syndrome).
- db42 15y agoCould someone please explain the reasons behind hating Java? I usually code in Java, C and python and I don't hate any of these three. It would be interesting to know.
- Zakharov 15y agoWrite-in for Prolog. Pure Prolog is a neat language for a bunch of applications, or would be, if wasn't unusably slow. Real Prolog is a horrible mess that's hell to debug. The biggest advantage of declarative programming is that the compiler's got more information to work with, and then Prolog throws this away with weak typing and weak moding (every predicate is nondeterministic by default).
- OiNutter 15y agoWhat, no mention of ASP? Particularly Classic ASP? I had to use that at my first job and it was just painful! No proper array support makes me a sad boy!
- Jebus 15y agoThere are only two kinds of programming languages: those people always bitch about and those nobody uses.
- emmelaich 15y agoI love all computer langauges :-) I love Perl; but it's probably got the features I like the least; the impossibly hairy syntax for complex data structures, e.g. hash of an array of struct refs. What the hell does that look like? I never remember.
- mnoga 15y agoI have only actually used about a dozen of these languages so out of those my least favorite would be a tie between Java and ColdFusion. I supposed it's only fitting that ColdFusion is actually Java underneath. Java is too verbose and overly complicated especially when you try to use it for web apps.
- Zardoz84 15y agoI HATE PROLOG!!!
- signalsignal 15y agoI vote for VB.net because if you work at a company and it gets out that you "know it" then prepare for an onslaught of people demanding and going over your head to get you do development projects for them in your "spare time".