Python handles globals badly.

Sven R. Kunze srkunze at
Wed Sep 9 20:26:05 CEST 2015

On 09.09.2015 19:55, Steven D'Aprano wrote:
> On Wed, 9 Sep 2015 11:09 am, Mario Figueiredo wrote:
>> You know, it is a pointless exercise to try and downplay programming
>> languages (any programming language) that has proven its worth by being
>> generally adopted by the programming community. Adoption is the sign of
>> a respected and well designed language.
> Counter-examples: PHP and C.
> Adoption of programming languages is driven by many things, technical
> excellence and careful design are not even in the top 10. Most of them are
> social in nature, particularly "what is everyone else using?". Network
> effects dominate: you could design the perfect language, but if nobody else
> uses it, nobody will use it.
Just to understand it the way you want it to be understood: what do you 
mean by "technical excellence"?
> Sometimes a language will actually gain a kind of technical excellence
> despite some really shitty design decisions -- but usually at great cost
> elsewhere. C is a good example of that. Due to lousy decisions made by the
> designers of C, it is a language really well suited for writing fast,
> incorrect code. Since programmers benefit from writing fast code, but
> rarely suffer from writing incorrect code (it's mostly users who suffer the
> consequences of security holes), we have ended up in the situation we live
> in now, where compilers compete to write faster and faster code that has
> less and less relation to what the programmer intended.
> (I wanted to link to the "Everything Is Broken" essay on The Medium, but the
> page appears to be gone. This makes me sad. BTW, what's the point of
> Google's cache when it just redirects to the original, missing, page?)
Do you mean ?
> In fairness to the C creators, I'm sure that nobody back in the early
> seventies imagined that malware and security vulnerabilities would be as
> widespread as they have become. But still, the fundamental decisions made
> by C are lousy. Assignment is an expression? Lack of first-class arrays?
> The C pre-processor? They're pretty awful, but *nothing* in the entire
> history of computing, not even Intercal and the COMEFROM command, comes
> even close to the evil that is C "undefined behaviour".
> I believe that the computing industry may never recover from the harm done
> to it by the widespread use of C.
It'll take some time.

More information about the Python-list mailing list