5 ms·
Haskell is an excellent example of a community-driven language. It's more mature and advanced than most commercial offerings too, offering a superior type syste
by willtim 7y ago
Haskell is an excellent example of a community-driven language. It's more mature and advanced than most commercial offerings too, offering a superior type system, fast and efficient executables, lightweight fiber concurrency, software transactional memory, higher-kinded parametric polymorphism and many more features.
- TylerE 7y agoHaven’t most of the top Haskell devs been on the Microsoft payroll for years and years?
- masklinn 7y agoSPJ is a Microsoft Research Cambridge employee, but as far as I know that doesn't give Microsoft Research (let alone Microsoft itself) any undue influence over the language's direction, they can't gatekeep or ram things into Haskell or GHC.
- TylerE 7y agoIt would still be corporate sponsorship and not a true community effort though. Not having to work to pay bills makes it much easier to run a large project.
- masklinn 7y agoPretty sure SPJ does have to work to pay bills. It's just that they work for a research institution and can thus do part of their work in / on the project. In no small part because CS research was one of the use cases for creating Haskell.
- pyrale 7y agoSPJ and a fe wothers work at microsoft, but they are few compared to the community. Likewise, several high profile haskellers were at Standard Chartered, but I don't believe this was significant. I would say the main drivers of Haskell these days are academics, PhDs and consultancies.
- stunt 7y agoMajority of open source contributors have a day job.
- Insanity 7y agoAnd the community is by far the friendliest I have encountered!
- IRLIamOffline 7y agoIt's interesting that you bring this up, because I'd consider Go and Haskell as almost polar opposites. Go is a simple language which lacks expressibility but with strong opinions on almost everything from formatting to architecture, which leads to a streamlined (and refreshing) developer experience. Haskell is a complex language, with an expressive type system giving you more tools and guarantees but I would call the learning / dev experience everything but streamlined. I wonder whether the difference in the organisational structure (single entity vs community) manifests in the characteristics of these languages.
- weavie 7y agoI think a big part of the success of Haskell is down to its language extensions. New features are introduced as off by default and can be opted into. This allows all kinds of crazy features to be introduced without really impacting users if they don't want to. It does allow the community to be quite experimental without fear of destroying things.
- foldr 7y agoYou can opt out of using those extensions in your own code, but many of them are now deeply embedded in the library ecosystem.
- weavie 7y agoIndeed. It's like a feature democracy where each library gets a vote on which features it finds most useful. Those that then get deeply embedded are clearly those that are most useful. Those features that aren't particularly used don't really get anywhere.
- foldr 7y agoI sort of agree with that, but features often have externalities. For example, let's say I choose to use lambda case because it makes some of my code a little bit more concise. From my narrow point of view, that seems like a win. But then it's one more piece of syntax that external tools have to deal with, one more barrier to anyone trying to develop an alternative to GHC, one little piece of additional complexity to throw off Haskell newbies who want to read my code, etc. etc.
- jbergens 7y agoWasn't Haskell created by a university? That would be more tax dollars than community-driven.
- nudq 7y agoI think Haskell was largely derived from Miranda, a commercial product.
- Retra 7y agoPerhaps 'inspired by', but not 'derived from'.
- dagw 7y agoHaskell was designed by a committee of researchers from various universities, but the first(?) working compiler came out of a University of Glasgow project.
- jimbokun 7y agoAren't tax dollars the ultimate manifestation of "community driven"?
- weberc2 7y agoAnd Haskell's market success is still very limited. This isn't a very compelling argument for community-driven language design. I think a better one would be Rust (to the extent that we can agree that Rust is designed by community) which seems to be getting a fair amount of market penetration given its age.