On Sun, Dec 17, 2017 at 6:17 AM, Alexandre Rademaker arademaker@gmail.com wrote:
It would be interesting to see a serious study about how such coordination happens in other ecosystems.
I just saw a tweet by someone thanking the PHP community for how it welcome him to programming, etc., promptly followed by many metoo's. PHP the language may suck, badly, but apparently, the community has something to teach us.
I believe an important feature for a language is low overhead to starting to program. Between files, packages, modules and systems, classes and structures, portability issues, etc., CL requires a lot of overhead just to get into it. This creates a barrier to entry. Attempts to simplify like quick-build or asdf-inferred-system only help so much when a lot of complexity is inherent to the copious standard or lack thereof (depending on the topic). Quicklisp tremendously lowered the barrier to reusing other people's code, but didn't by itself change the culture, document the code, or consolidate divergent efforts. Lispers remain by and large individualists who don't program in large herds and don't know how to.
In some cases, it looks like the environment impose the coordination somehow (ex: R). In cases like Python, despite the messy proliferation of libraries with redundant functionalities, people
seen
to be happy (or ignorant about the problems). Haskell is trying to address version dependencies, but it looks still complicated to understand the options available. Anyway, for me, it is a social issue more than a technical one.
Social and technical are very much linked. See for instance the essay that got me started with ASDF: https://fare.livejournal.com/149264.html — by implementing the technical feature that ASDF could upgrade itself, the social incentives switched for all players from "upgrading ASDF is socially toxic" to "not upgrading ASDF is socially slightly detrimental".
Some of the overhead of CL is builtin the language and its ecosystem and too costly to remove (see above). Some of the barriers to entry can be adressed: writing tutorials, curating and documenting libraries, providing easily documented and easily found solutions to common problems, and cheaper bridges to other ecosystems, etc.
It's a lot of work, but it's also about having a technical kernel suitable to foster cooperation.
But from time to time we see a significant transformation, I believe we
all
agree about the huge impact of Quicklisp!
Yes, Xach single-handedly solved a great number of problems for all CL hackers, where many others tried and failed after burning out. He deserves a lot of praises.
-#f