6 ms·
Off the top of my head: 1. Built-in concurrency makes your backend scale better. 2. Type system reduces bugs in your code. 3. Mature libraries for web develo
by egonschiele 13y ago
Off the top of my head:
1. Built-in concurrency makes your backend scale better.
2. Type system reduces bugs in your code.
3. Mature libraries for web development: frameworks, templating languages, ORMs.
I'll admit there are some downsides:
1. Harder to hire devs that know Haskell.
2. Smaller community.
But it seems like those are getting resolved quickly. The Haskell community is growing, and there is better documentation and support thanks to companies like FPComplete. O'Reilly has been publishing a bunch of books in Haskell, the Stack Overflow community is active and helpful...
- hbbio 13y ago1. Concurrency makes applications scalable, not fast. 3. I don't know what mature means, but they are not used by high-profile applications. 1'. This is probably balanced by their high-motivation to work on a Haskell project.
- asdasf 13y ago>I don't know what mature means, but they are not used by high-profile applications. Does that mean that if my website becomes "high-profile" next month haskell will have suddenly become a better language than it is now, without the language changing at all?
- jmgrosen 13y agoIt's evidence that it's viable, whereas now it might be great in theory, but there's no direct evidence that it works in practice for large-scale projects.
- asdasf 13y agoThat seems like a very bizarre way for technical people to behave. "I'll assume this general purpose programming language must have some weird problem that somehow makes it unusable, but people can only find out about that problem if they write a popular project in the language". Why not assume every general purpose programming language is capable of being a general purpose programming language baring evidence to the contrary? Shouldn't tech people be capable of examining the language and determining if there's evil "large-scale" goblins lurking within?
- dllthomas 13y agoSystems in general tend to have goblins that reach out and bite you when you try and scale them too hard. Better to have a clearer picture of where there be dragons - maybe or maybe not "better enough" when weighed against other advantages and disadvantages, but "mature" is a virtue.
- asdasf 13y agoMature is a virtue, but "popular app was written in language X" isn't an indication of maturity, it is an indication of a particular app getting popular. The whole reason I used the term goblins is that without specifying what sort of problems people are afraid to run into, it is just vague, hand wavy nonsense. Does someone seriously think haskell is going to somehow "not scale" but ruby would have? Programming language choice has far less to do with scaling than the design of the application.
- dllthomas 13y ago"Popular web app" implies a level of traffic - and thus demands at scale - that most other domains do not have. It's not the fact that someone was able to make a Haskell-based web-app popular that is indicative of much, but that the Haskell-based web-app stood up to popularity on the web that gives some reassurance and thus helps establish the maturity of the ecosystem.
- asdasf 13y agoBut reassurance of what? That's exactly what I mean, what kind of evil spirits do people believe are going to make a general purpose programming language incapable of being used to write a web app? This is the exact same FUD that people spread about ruby when rails was starting out. It strikes me as a very lazy, unintellectual way to approach things. "I'll just assume magic gremlins make this language bad until someone else proves otherwise". And then inevitably someone else proves otherwise and it becomes "that proof isn't convincing enough". Make it explicit for me, how many page views/month do I need before haskell has been declared gremlin free?
- nilkn 13y agoHaskell has been used in large-scale projects. There's an algorithmic trading firm, Tsuru Capital, that uses it exclusively, in fact. You might also be interested in the work of Galois. They've got some slides on Haskell in industry: http://www.scribd.com/doc/19502765/Engineering-Large-Projects-in-Haskell-A-Decade-of-FP-at-Galois http://www.scribd.com/doc/19502765/Engineering-Large-Project...
- nilkn 13y agoRegarding 3, I wouldn't regard many of the technologies used in many high-profile applications, like Node.js, as particularly mature. They're just popular. They have mature communities surrounding them, but many of these technologies are far from technically mature and/or rock-solid.