4 ms·
Haskell is used in the NYTimes special features group that deploys 60+/yr web apps. http://www.infoq.com/presentations/haskell-newsroom-nyt http://www.infoq.co
by wting 12y ago
Haskell is used in the NYTimes special features group that deploys 60+/yr web apps.
http://www.infoq.com/presentations/haskell-newsroom-nyt http://www.infoq.com/presentations/haskell-newsroom-nyt
tldw:
- RoR shop, too slow and can't afford to scale simply by spinning up more AWS instances.
- Haskell type system results in fewer bugs, less downtime than RoR.
- Haskell's Conduit library is great for information flow (e.g. scanning Twitter firehose for breaking stories).
- Static binaries for easy deployment.
- Declarative style and expressiveness helps coworkers understand code quickly.
- virtualwhys 12y agoIt's worth pointing out that the presenter's first language was Haskell and he's been coding in it for over a decade. LYAH won't get you from apples to expert in weeks, much less months; more likely years. Consider me skeptical -- needing to build the latest and greatest of Haskell [7.8] from source on a modern Linux distro (CentOS binary with antiquated libgmp.so.3 dependency, seriously?) is a gigantic PITA compared to virtually every other language where you just download a standlaone binary of latest & greatest from langugage X, modify your PATH, and hit the ground running.
- coolsunglasses 12y agoIMVUs average spin-up time for new engineers that don't know any Haskell is ~8-15 days. I don't recommend LYAH and don't think it's an efficient way to learn Haskell at all. My guide for learning Haskell: https://gist.github.com/bitemyapp/8739525 https://gist.github.com/bitemyapp/8739525 Should get you going quickly.
- dllthomas 12y agoWhy do you need to build the latest and greatest? Building the very latest gcc/clang is also going to be a PITA. In either case, there's a perfectly servicable binary distribution and the stuff packaged in my OS's repo is still plenty usable.
- virtualwhys 12y ago> Why do you need to build the latest and greatest? Why shouldn't I? When Scala 2.11 was released I downloaded the binary, changed my PATH, fired up a new terminal and started exploring the latest release. Takes 2 minutes or so. I'd like to do the same with Haskell. 7.8 looks to have significant language improvements that I want to explore vs. read about and be stuck on 7.4.1 (Fedora 18's provided version).
- dllthomas 12y agoSo go ahead and download the binary: https://www.haskell.org/ghc/download_ghc_7_8_2#binaries https://www.haskell.org/ghc/download_ghc_7_8_2#binaries You're not comparing apples to apples.
- virtualwhys 12y ago> So go ahead and download the binary Indeed I did just that, the issue is that the only binary distributions for Linux are CentOS 6 and some flavor of Debian, both of which are dinosaurs compared to any modern distro. The long and short is the installation fails due to a missing dependency on antiquated libgmp.so.3, thus cooking my CPU for an hour and building from source. If you want to talk about barriers to Haskell adoption, this is certainly one of them.
- dllthomas 12y ago"both of which are dinosaurs compared to any modern distro." Without any clue of what constitutes "any modern distro" in your mind, I don't see how this can proceed further. Note that Centos 6.5 and Debian wheezy are the latest from their respective projects. I believe the Debian version will happily install under recent Ubuntu and derivatives. I'm sorry your preferred distro doesn't have better support.
- virtualwhys 12y agoFedora here, Debian's not an option (which would work as it's got the libgmp every "modern" Linux distro has). CentOS binary is the only choice and it won't work. FWIW CentOS 6 is equivalent to Fedora 12 or so (latest is Fedora 20). Anyway, it's done, but a serious PITA, hopefully in future there will be a more sane way to get started exploring the latest & greatest.
- massysett 12y agoThere are builds for both 32- and 64-bit Linux that were made on a Debian Wheezy system which depend on libgmp.so.10, which usually gets you GMP 5.x. http://www.haskell.org/ghc/download_ghc_7_8_2 http://www.haskell.org/ghc/download_ghc_7_8_2