Python handles globals badly.

Chris Angelico rosuav at
Wed Sep 9 21:00:22 CEST 2015

On Thu, Sep 10, 2015 at 4:26 AM, Sven R. Kunze <srkunze at> wrote:
>> 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"?

Suppose it's possible, somehow, to design the perfect language. (It
isn't, because the best language for a job depends on the job, but
suppose it for the nonce.) It is simultaneously more readable than
Python, more ugly than Perl, more functional than Haskell, and
compiles to lower level code than C does. The compiler's/interpreter's
internals are a bug-free demonstration of utter code beauty, and you
no longer have reason to use any other programming language, because
this one is the ultimate.

But nobody uses it except you.

Technical excellence it has a'plenty, but is it going to be on the job
postings? No. Is it going to be on people's resumes? No. When a
programmer pitches a proposal at his manager, will he mention your
language, which he's never heard of? No. When someone asks on Stack
Overflow "How do I...", will the answers recommend the use of your
language? No. It isn't going to be used, no matter how good it is, if
nobody knows about it. And if it isn't used, nobody will get to know
it. Until you start getting some usage, you won't get much usage.

That's what drives programming language adoption: existing usage. It's
self-perpetuating and proves little.

To get started, you need some other sort of kick. Maybe a high-profile
company uses your language. Maybe a hardware manufacturer mandates its
use. Maybe your development team has so many famous names that the
world has been watching with interest. But whatever it is, it has to
be something big or you won't get over that initial usage hump.


More information about the Python-list mailing list