And I disagree completely with your point. In over 40 years of
programming, I've forgotten more languages then most people learn.
But one thing I have learned - the same general programming practices
which are good in one language are probably good in the others.
You're welcome to try to apply your common C practices in Haskell, and
see how far that gets you.
In fact, it doesn't even have to be extreme. There's a very common and
well-known phenomenon, when people with C background come to C++, only
to start using it as "C with // comments".
Yes, you can create unmaintainable code in C. You can also do it in C#,
Modula 2 and other languages. It's neither easier nor harder - it just
takes good programming practices - no matter what the language (with the
possible exception of APL). Even Assembler can be maintainable.
Okay, let me try to explain again.
You can write OO programs in raw assembly. This doesn't mean that
assembler language is good for writing OO programs.
Yes, it is easier to write unmaintainable code in some languages. When
I say "easier", what I mean is that your average programmer is more
tempted into writing code that is harder to read later. This usually
happens when the language provides features that are not supposed to
be used in maintainable code, and makes those features _more_
accessible than their "safe" alternatives. The history of PHP is full
of such features, such as register_globals and magic_quote_gpc. In
fact, having the idea of arbitrary code snippets embedded into markup
is one such feature.
Remember that people don't usually work alone (if you do, more power
to you!). Even if you trust yourself, you have to deal with the fact
that there are likely to be programmers on the team with less
experience than you. When it comes to that, a using language and
framework that try hard to prevent people from doing common mistakes
can make a big difference.
And if you think PHP is inferior to other dynamic languages, you have
little understanding of PHP. It's much superior to VBScript, for
instance.
For the record, I did PHP development a while ago (that was PHP4
though). It was definitely better than ASP (the original one, not
ASP.NET) back then, but...
VBScript has not been developed for several years now. If you wanted
to find something to compare to, you couldn't find a worse example. If
the only dynamic language you can think of that's worse than PHP is
VBScript (which I can agree too), that's damning with faint praise.
Can you come up with any other examples? Preferably some other modern
language, and not a phantom from 90s?
Sure, it has it's flaws. But so does every language. The
biggest difference is that Zend is working to correct those flaws.
Are you implying that people behind Perl, Python and Ruby aren't
working on correcting their flaws?
Besides, why wait for someone to correct flaws, when you can pick out
of a dozen other languages/platforms that don't have those flaws in
the first place?