Posted By: Anonymous
If you have an interesting story to
share, please post an answer, but
do not abuse this question for bashing
We are programmers, and our primary tool is the programming language we use.
While there is a lot of discussion about the best one, I’d like to hear your stories about
the worst programming languages you ever worked with and I’d like to know exactly what annoyed you.
I’d like to collect this stories partly to avoid common pitfalls while designing a language (especially a DSL) and partly to avoid quirky languages in the future in general.
This question is not subjective. If a language supports only single character identifiers (see my own answer) this is bad in a non-debatable way.
Some people have raised concerns that this question attracts trolls.
Wading through all your answers made one thing clear.
The large majority of answers is appropriate, useful and well written.
UPDATE 2009-07-01 19:15 GMT
The language overview is now complete, covering 103 different languages from 102 answers.
I decided to be lax about what counts as a programming language and included
anything reasonable. Thank you David for your comments on this.
Here are all programming languages covered so far
(alphabetical order, linked with answer, new entries in bold):
all 20th century languages,
all drag and drop languages,
all proprietary languages,
Centura Team Developer,
Excel Macro language,
Illustra web blade,
Informix 4th Generation Language,
Informix Universal Server web blade,
object extensions to C,
The Visual Software Environment,
The answers covering 80386 assembler, VB6 and VBScript have been removed.
PHP (In no particular order)
- Inconsistent function names and argument orders
- Because there are a zillion functions, each one of which seems to use a different naming convention and argument order. “Lets see… is it foo_bar or foobar or fooBar… and is it needle, haystack or haystack, needle?” The PHP string functions are a perfect example of this. Half of them use str_foo and the other half use strfoo.
- Non-standard date format characters
- Still No Support for Apache 2.0 MPM
- It’s not recommended.
- Why isn’t this supported? “When you make the underlying framework more complex by not having completely separate execution threads, completely separate memory segments and a strong sandbox for each request to play in, feet of clay are introduced into PHP’s system.” Link So… it’s not supported ’cause it makes things harder? ‘Cause only the things that are easy are worth doing right? (To be fair, as Emil H pointed out, this is generally attributed to bad 3rd-party libs not being thread-safe, whereas the core of PHP is.)
- No native Unicode support
- Native Unicode support is slated for PHP6
- I’m sure glad that we haven’t lived in a global environment where we might have need to speak to people in other languages for the past, oh 18 years. Oh wait. (To be fair, the fact that everything doesn’t use Unicode in this day and age really annoys me. My point is I shouldn’t have to do any extra work to make Unicode happen. This isn’t only a PHP problem.)
I have other beefs with the language. These are just some.
Jeff Atwood has an old post about why PHP sucks. He also says it doesn’t matter. I don’t agree but there we are.