On programming languages and programmers
Very well written email message from Geoff Teale on the golang mailing list on programmers and progamming languages (thread).
To summarise a long presentation I gave to non-programmers:
- There are 12 million programmers in the world
- The majority of those programmers are scarcely qualified
- Most technology decisions are made by a combination of following the crowd and a false understanding of risk.
- The high cost and failure rate in software development is no coincidence.
Remember the Stevie Wonder rule - “When you believe in something you don’t understand then you suffer”. In this case that means “Perhaps making programming language decisions based on what 12 million powerless idiots are doing isn’t the golden road to glory and great hacks.”
Go is a genuine attempt to improve the state of systems programing language beyond the point they reached in the early 1970s. As a result the sort of people using it are mostly that small community of people who understand and care about the concerns that drive such a development.
You’re not going to catch those 12 million people unless you can market heavily enough the idea that their future income depend on jobs/contacts built around go, but that goal just draws resources and energy away from making the language better.
Arguably Java also suffers from it’s large community of corporate drones. The slavish tendency to build baroque, mausoleums of intricate classes, dense with state and dripping with verbose XML is a reflection of the unthinking insanity of the 12 million.
I’d rather a tiny community use the language well, built successful applications and organically grew the user base whilst establishing a clean, sane library base that might later be used to improve the lives of a wider population of programmers.
I’ve said more than enough, I’ll trundle back to the twelve million and take my punishment now.