2 ms·
I don't think you're going to convince existing web developers to adopt Haskell. The second example from the article uses 8-lines of Haskell, a hand-waving exp
by agentultra 13y ago
I don't think you're going to convince existing web developers to adopt Haskell.
The second example from the article uses 8-lines of Haskell, a hand-waving explanation of a state transformer monad, composition, and a state transition diagram to demonstrate how easy it is to write trivial Haskell programs. The program in question takes a number from stdin, adds it to a counter, and prints the result.
"Web developers," being those who have experience building applications using web-based technologies, have a plethora of tools and languages at their disposal that don't require the up-front investment of learning Haskell.
Haskell has a lot to offer but I suspect the only people interested in using Haskell in their web application projects are Haskell developers or people who've been convinced that they will be smarter if they learn Haskell.
- asdasf 13y agoI've had the opposite experience. Everyone I know who does web development is frustrated by the poor quality of work they produce, and how hard it is to maintain the projects they've done. Re-writing a project from scratch every ~5 years is essentially normal development practice. I learned haskell just for web development. I am not smarter as a result, I just have a better tool now that helps me produce better results. My wife then decided to learn haskell for web development too. Neither of us have a background in computer science, or even a degree at all. We learned haskell for purely practical reasons, and we keep using it for those purely practical reasons.
- agentultra 13y agoymmv; I hate web development but maintainability is the least of my concerns. I have frameworks for that.
- asdasf 13y agoWhat framework, and what is it doing to help with maintenance? My experience has been that typical RoRish frameworks are so heavily concerned with trying to make the initial writing of the app easier that they actually hinder long term maintenance.
- agentultra 13y agoPick a framework, I've probably worked on an application that used it. what is it doing to help with maintenance? What frameworks do: impose structure and convention on the design of programs. In the case of web frameworks you provide some data, map URLs to functions, and hook into some helpers for managing sessions, caching, and the like. Haskell has them too. ...they actually hinder long term maintenance. I've found the opposite to be true in the general case. Disqus is probably the largest Django application out there that I know of (and note I have never worked there). From their technical talks and contributions to Django over the years it seems to me that Django has been a net-win for them, maintenance wise, over the years. I can't say what it's like maintaining a Django application like Disqus but it doesn't sound to me from what I know that Django is any hindrance to them.
- asdasf 13y ago>What frameworks do: impose structure and convention on the design of programs. So, nothing? Convention doesn't prevent things from breaking when you make changes. >Haskell has them too I know, I use two of them. And I haven't found any benefits to maintenance from them. I've found huge benefits to maintenance from haskell though. >it seems to me that Django has been a net-win for them Compared to what though? I didn't say frameworks are useless, I said they don't appear to do anything to aid in maintenance.
- agentultra 13y agoSo, nothing? Convention doesn't prevent things from breaking when you make changes. No, not nothing. Exactly what it says on the tin. Without a web framework what do you get? A few buffers to read/write some bytes to. Have fun writing your parsers, dispatchers, database connection pool handling, object relational mapper, etc, etc, etc... and especially have fun maintaining all of that. If you used a framework though, you wouldn't have to. It's already there and there's a community of people who work on that stuff for you. Awesome. First rule of maintenance: the code you don't write is the code you don't have to maintain. I don't see what Haskell is winning here in terms of maintenance. Without Yesod or any other framework you're in the same boat as someone starting with plain Java or Tcl or something. Unless of course you're referring to its masochistic type system that magically protects you from ever writing a bug ever. Good luck with that. My point was, originally, that a web developer that doesn't already know Haskell and hasn't convinced themselves to learn Haskell isn't going to look at some Haskell code and be converted. They're going to see StateT and monad combinators and the awful pain of IO in Haskell and go write their app in X.