We don't bite newbies here... much | |
PerlMonks |
Organizational Culture (Part VI): Sociologyby eyepopslikeamosquito (Archbishop) |
on Aug 11, 2021 at 09:09 UTC ( [id://11135784]=perlmeditation: print w/replies, xml ) | Need Help?? |
Remembering some of my physicist friends lightheartedly complaining about being over the hill at their thirtieth birthday party, I was intrigued to see if programming language designers were similarly youthful. Some Successful Programming Language Designers
As you can see, many successful programming languages were designed by men in their thirties. Perhaps programming language designers tend to be older than physicists because designing a new programming language requires more wisdom, experience and social networking skills, rather than a blinding flash of inspiration (combined with exceptional calculation faculties) often associated with physics breakthroughs. Curiously, these successful programming language designers seemed to have precious little experience in actual programming language design! They just boldly created a language to meet what they perceived as an unmet need in their workplace -- typically without asking permission to do so.
Larry similarly invented Perl as a way to make report processing easier at work and to more efficiently solve Unix problems that were being inefficiently solved in a motley mix of C, sed, awk and shell ... while Ritchie invented the C programming language to implement the Unix operating system after Bell Labs withdrew from the ill-fated Multics project. Later, one of Ritchie's workmates, Bjarne Stroustrup, added ideas from Simula to C, creating C++ as a language to make writing his simulations more enjoyable than C while running faster than Simula. Perhaps this lone hacker language designer trend was simply a natural reaction to the vacuum created by the failure of design by committee experienced by Algol-68, PL/I and Ada.
Though Hoare's classic paper makes interesting reading, it's hopelessly outdated, sorely in need of a modern equivalent. I couldn't find one though (citations welcome), the nearest I could find being the Socio-PLT works of Leo Meyerovich (see Sociology References below). Programming Language Sociology and Evolution
Stroustrup hits the nail on the head: if you have serious concern for your users, as both Perl and C++ do, you must not break backwards compatibility. Related is Simon Peyton Jones’s unofficial motto for Haskell "avoid success at all costs" because becoming too successful harms the ability to modify Haskell ... an evolutionary dead end. I might add that Haskell seems to have been successful in its mission to avoid success. :) It seems to me that Perl and Raku have (finally, much too late) got it right: Perl does not break backwards compatibility (out of serious concern for its users), while Raku is free to innovate and improve without the shackles of backwards compatibility ... though as it becomes more widely adopted it will presumably need to pay more attention to backwards compatibility. Update: The Why Perl Didn't Win essay argues (convincingly IMHO) that to remain popular over time, a programming language must be compelling for new projects ... while further noting this is not solely a technical concern; it's a concern of the language community and ecosystem. Improving Programming Language Adoption Social factors seem to have a far greater impact on language adoption than technical features. From Sociology we can learn of many ideas that might be tried to improve language adoption:
Other Articles in This Series
Sociology References
Other References
References Added Later
Updated: corrections to history of B and C programming languages by Ritchie and Thompson. Expanded Other References section.
Back to
Meditations
|
|