7 ms·
ah, so, I don't think I wrote that section particularly well. I hold Erlang and Haskell in very high regard; I was really trying to mock my own superiority com
by zemo 14y ago
ah, so, I don't think I wrote that section particularly well. I hold Erlang and Haskell in very high regard; I was really trying to mock my own superiority complex, which I think is fairly common in the Python community. I guess what I was really trying to get at is that Go is verymuch an industry language. Haskell I would argue against being an industry language not because it can't be used in industry; that's not at all what I mean. I don't mean to compare them on their technical merits; what I mean to say is that Go has a broad appeal, in that it is welcoming to beginners, it has large corporate support, and that it is also technically capable. Of the programmers that I know, the Haskell programmers are typically capable of solving the hardest problems, but they also tend to be the most academic. The Erlang programmers typically build the most stable software, but I think Erlang is intimidating to less-experienced programmers (the same is true of Haskell, actually).
That could have been written better. Thanks for the feedback.
- dons 14y agoYou're digging in. > Haskell I would argue against being an industry language FYI, the problems the Haskell community has been working on are things like scalability, performance and safety because they're critical to industrial problems. Toy approaches don't work at the scale we operate at -- you need real computer science. You want 1,000,000 Haskell threads in your app? You've got it. Want to write numerical models that compete with C++ code, in a fraction of the development time? Done. Want to guarantee the app won't crash? Solved. Run models over 10,000 cores? It happens. Because we put the work in. --- /me wanders back to a multi-million line Haskell codebase running systems in 25 countries, processing billions a year in financial transactions.
- zemo 14y agoThe point is that Go is more accessible than Haskell, not that it's better.
- scrumper 14y ago> /me wanders back to a multi-million line Haskell codebase running systems in 25 countries, processing billions a year in financial transactions. Curious... Can't be a bank, too conservative. Hedge fund? I know Jane Street love their OCaml so functional does have a place in that world. But 25 countries? You'd have to be huge.
- charlieflowers 14y agoAccording to his profile, he works with/for Standard Charter Bank. There is REAL WORK being done in Haskell! Now I just gotta find out how to get my foot in the door :)
- ramses0 14y agoIt's easy. Pimp yourself out, put up a resume.html, write "Haskell" on your linkedin profile. This "throwaway" line on my resume: """Interest in functional programming (Erlang, Haskell, Lisp) and associated techniques as they relates to increasing software reliability and scalability.""" ...has gotten me at least 2-3 calls/emails for erlang/haskell-specific work over 3-4 years, and that's without even trying. Don't be afraid either to make up a second resume b/c from what I can tell recruiters just do google searches and click on links. With linked-in, write a "brave" summary up top and put in a strong haskell statement or two in your details section and you'll probably start getting some calls. If you're happily employed right now then don't be afraid to change your resume / linked in / passive search to reflect your dream job instead of a "real" job-search resume. Just be ready to "change it back" when you get serious about looking.
- dagw 14y agoCan't be a bank, too conservative I know two large international banks that have significant Haskell codebases. I don't know where you get the idea that banks are too conservative.
- scrumper 14y agoVery interesting! Thanks. The idea comes from 10 years of working with them as an external vendor. I see all sorts (but especially Python and C++) on prop desks, but mostly C# in other areas (integration, data management etc.) That being said, nearly all of my experience is in front office trading and asset management, primarily in listed instruments, with little on OTCs, and nothing on payment processing, 'core banking' or the kind of stuff that spans the entire organisation. It sounds like Haskell has found a niche at Standard Chartered doing perhaps just that. What are those two banks you mentioned doing with their Haskell code?
- SeanDav 14y agoThe perception out there is that Haskell is an academic language, also that it is a "difficult" language. This is not fair on Haskell but that is what people think and that really is the issue that Haskell has to overcome.
- swasheck 14y agoHonestly, I find Go more difficult than Haskell
- leishulang 14y agoI spend 3 days and learned all features of Go. Haskell, I spend 3 month just to barely touch applicative functors and a bit monads. I am expecting another year if I need to truly fluent in haskell.
- batista 14y agoAfter you've learned both, maybe. But that is beside the point. Haskell is more difficult to learn.
- jimbokun 14y agoProbably not if that's what you start with. Carnegie Mellon now starts all CS students with ML, I believe. For those of us who learned to program in an imperative language first, the difficulty with learning functional programming is unlearning all of our bad habits.
- Evbn 14y ago"Functional programming" is 10% of what makes Haskell difficult. The intricacies of laziness and existential types and opimizing higher order functions are more the problem.
- deleted 14y ago[deleted]
- ocharles 14y agoWhile I agree with you, please be careful - you're an extremely influencial member of the Haskell community. This post could come across as very smug, and is thus potentially damaging. I'm sure it wasn't your attention, but please - be careful.
- Evbn 14y agoIf dons were concerned about this post hurting anyone's reputation, he would have a Herculean effort to clean up a decade's worth of similar and more scathing commentary.
- batista 14y ago>/me wanders back to a multi-million line Haskell codebase running systems in 25 countries, processing billions a year in financial transactions. Hope the codebase runs well, because that's the bank I use in Singapore ;-) Has you/anyone written something about how Haskell got picked for the task by that particular bank? Is the language used at other financial type businesses? I've heard some firms use Ocaml.
- jimbokun 14y ago"I've heard some firms use Ocaml." Jane Street. Would be fun to see a panel with dons and Yaron Minsky discussing the pros and cons of Haskell and Ocaml, respectively.
- tikhonj 14y agoActually, that would probably be pretty boring--the two languages overlap considerably. I worked at an OCaml company this summer; coming from Haskell, I picked the basics up immediately and only took a bit more time to learn some of the more advanced features (e.g. OCaml functors). I had some discussions about OCaml vs Haskell and, honestly, nobody could come up with a particularly strong case in either direction. (That said, we didn't do anything using multiple cores where Haskell has a bit of an advantage, I believe.) It always came down as "well, Haskell is awesome, but we're already using OCaml and it's pretty awesome too, and maybe easier to learn". Much more interesting would be Haskell/OCaml vs everybody else, but that gets played out all the time anyhow :P.
- zem 14y agoi would really love to see ocaml versus go
- njharman 14y ago> you need real computer science. Reality and PHP would disagree for 90 to 99% values of "you".
- jfaucett 14y agoI too share the perception that Haskell is not an "industry language" although I play around with it in my free time and like it. I'd be interested to know if there are any really competitive i.e. not experimental or mediocre software packages for Haskell out there. For example, is there a server written in Haskell that can compare to nginx or apache? Anything like a MySQL, CouchDB, or Redis? What about web development? - any CMS's or Frameworks comparable to Rails or Django? Up till now everything I've found from the Haskell site just can't compete with the industry standard alternatives - unless of course you're a Haskell expert and can program everything yourself...
- dons 14y agoThere are thousands packages on Hackage, http://hackage.haskell.org http://hackage.haskell.org Widely used web servers include http://snapframework.com/ http://snapframework.com/ and http://www.yesodweb.com/ http://www.yesodweb.com/. There are widely available numbers and reviews of these systems. A new book by O'Reilly covers Yesod (http://www.yesodweb.com/book http://www.yesodweb.com/book)
- Goronmon 14y agoI understood the intent fairly quickly. Some people are easily offended I guess.
- atsidi 14y agoActually, I loved that section. I'm one of those "grey-bearded wizards of Lisp/Haskell/whatever" but I like the idea of becoming one of the "insane Erlang programmers who are content writing sumerian cuneiform all day long." Guess I'll have to learn me some Erlang.
- IsTom 14y agoErlang is intimidating? How? It's a braindead simple language.
- jimbokun 14y agoIt doesn't look like C!!!
- IsTom 14y agoC is can be intimidating, C++ often is. You have to gain much experience to be able to write good C++ code. With Erlang it's simple. It's supervisiors and gen_servers all the way down.
- luriel 14y agoC++ is not intimidating, it is terrifying. Erlang is nice, but has its own not-so-simple issues: http://www.youtube.com/watch?v=G0eBDWigORY http://www.youtube.com/watch?v=G0eBDWigORY Interestingly, many things in Go's design that might seem 'deficiencies' from the point of view of Erlang means most of those problems don't apply to Go at all.
- IsTom 14y agoThat's a good talk, I've encountered these problems in the wild. Erlang isn't a silver bullet obviously and you have to know it well if you want to write something big, but it's really easy to write small to medium applications. Shame their erld isn't FOSS.