One vote per person. Posts that appear to be bot generated or same person will not be counted.
I'm going with java(and by that I really mean java+eclipse). Programming without eclipse is like putting a screw into hard wood without pre-drilling a hole.
Name:
Anonymous2009-07-15 1:47
I've been getting depressed lately because I think I have no favorite language anymore.
C just needs too much boilerplate for a basic object-oriented framework (which is what all large projects boil down to anyway). You lose the logic in the thousands of lines of code. Same goes for all the old languages, e.g. Fortran, COBOL, etc.
C++ is too god damn huge. This is the depressing part; any attempt to wrap up the boilerplate of C results in incredibly complex rules on construction/destruction, etc. Then there's STL, which is fucking horrible, but it would hardly matter even if it was awesome because everyone writes their own anyway and it still sucks.
Java is horrible. Horribly, horribly god damn needles-in-my-eyes fucking HORRIBLE. Worst language on this list, bar none. I won't even bother describing why. Feel like finding out on your own? Try, say, making a generic array slice function (then try doing it in J2ME). Go for it. Failed yet? Not only is it not high-level, it's not even low-level. It's just fucking trash.
C#, D are somewhat better than Java, but still have many of the same problems. They're quite similar under-the-hood, which is where many of the problems stem from.
Objective-C is a horrible language. It's just C with an external object-oriented framework stapled on with bizarre syntax. Runtime method dispatch through a hashtable? God damn, that's slower than Java.
Lisp variants seem to have nice syntax, until you realize they're really just turing tarpits and you can't actually make anything scalable with them. The syntax also misleads you about how powerful they are wre introspection, reflection, etc. They aren't.
Haskell is, honestly, a joke. Let's make all functions pure. Great idea! Aw fuck, we have to interact with an *environment*, and take input from a *user*... What a hackish kludge of a language, where interactivity is barely a second thought.
bash->awk->Perl->PHP are all one and the same, freaking shell scripting languages, I don't care what anyone says. No one should ever have written more than a handful of lines of code in them, and the only reason they did is because CGI was built by hackers who didn't really like to program.
Python is closest, but I've slowly been drifting towards believing that python's raw power is actually a hindrance to the maintainability of code. *Everything* is a first class object, modifiable at runtime: runtime code compilation? of course check. modifying the function list in a module (as a simple dictionary)? check. changing the methods on individual instances of objects, including operators? check. trivial expansion of arguments, etc? check. trivial introspection of variable lists on objects? check. It's just crazyness. You know things people *shouldn't* do get done anyway because it lets you solve your problem in four lines of code instead of forty, so you end up with a huge mass of spaghetti.
Christ. Here I am thinking I made a terrible career choice. Fuck this shit.