5 ms·
Err. Why do you think Haskell isn't intended to be used in production settings?
by chowells 9y ago
Err. Why do you think Haskell isn't intended to be used in production settings?
- skybrian 9y agoThe slogan "avoid success at all costs" suggests that they don't want a lot of production usage, at least.
- lclarkmichalek 9y agoIt's "avoid 'success at all costs'", which has _quite_ the different meaning. Although, if the slogan has too high of a barrier to entry, I don't know what you'd think of the language itself.
- mrkgnao 9y agoNo, it's meant as a warning against the trappings of explosive popularity. A language like C++/Java/JS is difficult to modify because of how entrenched the usage of the language becomes. In that sense avoiding "success at all costs" (which is how it should be parsed) allows "agile" development of the language.
- nvarsj 9y agoWell, it wasn't. Haskell was designed primarily as a test bed for writing language features to support PhD theses. The great success of Haskell is the amount of new language ideas it generated, which we now see in many other places.
- chowells 9y agoBeing a real-world language was absolutely one of the design goals of Haskell. See point 1 of section 2.4 in "A History of Haskell: Being Lazy With Class"[1]. It succeeded at being suitable for writing large systems, too. It's easily the least-bad language I've used for writing software where garbage collection is acceptable. It hits a sweet spot between expressiveness, maintainability, and performance that I haven't experienced from any other language. Question: Have you used Haskell to write real software? I find that people who have used it tend to have much more precise criticism than "isn't designed for writing real software". It certainly has lots to criticize, just like every other language. But most of the criticisms I see of it seem to have gone through 20 rounds of telephone, with basically no relation to the reality of using Haskell. [1] http://haskell.cs.yale.edu/wp-content/uploads/2011/02/history.pdf http://haskell.cs.yale.edu/wp-content/uploads/2011/02/histor...
- kjksf 9y agoIt says "It should be suitable for teaching, research, and applications, including building large systems." So building production software is stated as 3rd most important goal. In contrast, here's Rob Pike's talk about Go: https://talks.golang.org/2012/splash.article https://talks.golang.org/2012/splash.article The title: "Go at Google: Language Design in the Service of Software Engineering" It puts building production software as the first most important goal. It then goes in depth about how design decisions were driven by things the authors learned from Google's vast experience of writing production software. It methodically describes pain points of large-scale software production and how Go's design decisions are trying to address those pain points. Unlike Haskell, Go wasn't designed for teaching. It wasn't designed for research. Go was designed for writing production software that needs to be reliable.
- wtetzner 9y ago> So building production software is stated as 3rd most important goal. Nowhere in that sentence do they claim the list is ordered by importance. > Go was designed for writing production software that needs to be reliable. That might be true, but it doesn't actually say anything about how successful they were in reaching that goal.
- geodel 9y ago> but it doesn't actually say anything about how successful they were in reaching that goal. How would measure that? To me it is simple: lots of cloud related infrastructure is written in that. So it seems successful.
- wtetzner 9y agoWell, all that really says is that the marketing for Go was successful, and that Go is sufficient to build said infrastructure (just as the languages preceding Go were).
- Tehnix 9y ago