4 ms·
It seems that it interchanges "productive" with "writing clean code". PHP is ugly but can be productive. Haskell is beautiful, but well, I know a lot of people
by stared 12y ago
It seems that it interchanges "productive" with "writing clean code".
PHP is ugly but can be productive. Haskell is beautiful, but well, I know a lot of people encharmed by it, but no-one productive (i.e. delivering products quickly; it's not the same as solving pure, mathematical problems).
- cstrahan 12y agoInteresting. I like working in Haskell precisely because it allows me to iterate faster than in something like Ruby/Java/Clojure/<insert-more-popular-language-here>. Granted, I'm not paid to write Haskell, but I think that's more ironic than anything else. Perhaps someone from industry can confirm my feelings here.
- Ixiaus 12y agoI will [subjectively] confirm it. I've rebuilt two startups from Scala / Python messes with Haskell. Turn around time was counted in weeks (original build time was > 6 months), code is clearer, many unhandled edge cases were illuminated by the type system (some simply due to the rewrite), bringing in another Haskell programmer was painless and he was able to safely refactor the entire code base to make it even cleaner and robust while operating in production with zero regressions and no unit tests. We can iterate faster, the type system prevents us from doing dumb, fallible human things, it makes it easier for other programmers to get up to speed, it is fast, the community is brilliant, and because of its static guarantees open source tooling (even if abandoned) is possible to use because of the aforementioned ease of coming up to speed, the type system is a stringent form of documentation, and you can tweak without fear of introducing regressions (mostly, I can't say all but definitely most).
- MaxGabriel 12y agoDo you know alot of Haskell programmers? Because I'm enjoying my typesafe SQL queries, typesafe intra-application linking, typesafe templating, etc. Haskell is capable of far more than "pure, mathematical problems"—indeed, typed IO is a premier feature of the language. edit: sorry, this was pretty defensive; I shouldn't have written this comment so hastily.
- hueving 12y agoDo you get anything done with it?
- MaxGabriel 12y agoWe don't use it at work so I can't say I've done anything at scale, but I was very happy with it making this internal-ish website for work http://heyzaphackday.com/hackdays http://heyzaphackday.com/hackdays I don't think I had a single 5xx or 404 when developing it, and last I checked 1 500 error in production. I know it's a small site, but it's still pretty unlikely that I'd make a small Rails site without typoing something/misremembering a SQL column name/making a bad assumption about e.g. always getting a value from a cookie.
- virtualwhys 12y agoYou know, C#/F# programmers are enjoying most of the above in spades, and the libraries are fully vetted and mature to boot; could say the same for Scala to some degree. Can we say the same for Haskell? Let's take a sample: you say, "I'm enjoying my typesafe SQL queries" There are 2 Haskell query DSLs worth talking about (read: that support joins): Esqueleto and OpalEye. The latter is fresh off the presses and not yet ready for prime time (see the "ideal sql" samples interspersed with the performance killing actual sql); the former at first blush looks decent, but then you realize, whoops, no string based SQL interface (for those ultra complex db-specific queries business requirements demand, but cannot be expressed in the dsl), and no Oracle or SQL Server support -- yikes, bye bye enterprise; in fact both libraries officially support one single database, Postgres. Also, given Haskell's lack of a module system (hello global namespace conflicts), the choice of operators is somewhat, well, hideous (Haskell itself remains beautiful though, at least in terms of concision). Not sure how things are on the web framework front, but given the claims of achieving C-like performance, that Yesod and Snap basically face plant in a popular benchmark[1], one wonders where reality and the ideal world Haskellers seem to live in, meet. [1] http://www.techempower.com/benchmarks/#section=data-r9&hw=peak&test=db http://www.techempower.com/benchmarks/#section=data-r9&hw=pe...
- 12y ago
- imanaccount247 12y ago>I know a lot of people encharmed by it, but no-one productive (i.e. delivering products quickly; it's not the same as solving pure, mathematical problems). Is this actually true, or is it "true in your heart"? Very few people use haskell for solving "pure mathematical problems". People use it for things like developing the fastest microkernel in existence, doing high volume trading, making games, and writing boring old web apps. References to "pure mathematical problems" and implying nobody is actually doing anything with haskell come off as sounding like second (or third, or fourth) hand FUD. We taught our PHP team haskell. They had their first project in production in three months. There's nothing special about math and haskell.
- stared 12y agoLinks or it didn't happen. I don't imply that nobody uses it for solving practical problems. Just, I made my judgement based on: - friends (I know, it may be biased), - GitHub codes I use (and in general, popularity), - blog posts on Haskell (I encounter mostly language-oriented; less problem-oriented like "let's make a 3d game", "web scraping", "machine learning", "web dev" etc).
- chas 12y agoIt sounds like imanaccount247 is from IMVU, they wrote up their experience with Haskell here: http://engineering.imvu.com/2014/03/24/what-its-like-to-use-haskell/ http://engineering.imvu.com/2014/03/24/what-its-like-to-use-... It was previously discussed on HN here: https://news.ycombinator.com/item?id=7472452 https://news.ycombinator.com/item?id=7472452
- codygman 12y agoIf I took time to link to each one of those would it change your opinion any?
- saosebastiao 12y agoI'm interested. I probably wont ever use Haskell again, but it would be nice to see that there is more to the community than the self-congratulatory cleverness competition that I experienced.