Live data from Hacker News

Leaving Microsoft

haskell.org

51–60 of 105 posts

Re: Leaving Microsoft

#51
post #3

Does this mean that Facebook is using Haskell more these days?

They've been doing that for a while. One of the major projects was/is HipHop, a PHP to C++ compiler.

Hey, I'm an engineer on the HipHop team, and a minor-league Haskell enthusiast. A couple clarifications:

1. HipHop is itself written in C++. While this did not logically need to be the case, it is the case.

2. These days our JIT compiler, the HipHop VM (hhvm) is out-performing the PHP-to-C++ ahead-of-time compiler. HHVM is under the HipHop umbrella, and so is also written in C++. If you're vaguely aware that Facebook has some sort of high-performance PHP execution engine, but have avoided investigation because compiling PHP sounds like a drag, check hhvm out; it is fast, and you use it the same way you use a PHP interpreter.

3. HipHop is not our entire PHP stack, however, and functional languages have a significant beachhead in static analysis. pfff (https://github.com/facebook/pfff) is a sophisticated multi-language analysis and transformation framework written in OCaml. We use it for many, many purposes; e.g., at code review submission time, pfff symbolically executes the changed code to look for various dangerous idioms and highlight them as areas for the reviewer to focus attention.

4. There are other projects written in Haskell that, alas, we're not ready to talk intelligently about publicly. Watch this space, however.

Overall, FP has a sizable presence at Facebook. Haskell's presence is a bit smaller than OCaml, though that might be changing. Facebook is definitely "using Haskell more these days," especially since Bryan O'Sullivan (author of "Real World Haskell") came aboard. I expect Simon Marlow will continue to influence things in that direction. From 100k feet, Facebook's adoption of Thrift, and Thrift's tradition of supporting polyglot languages, means that a lot of "niche" languages can flourish within the larger production ecosystem.

Re: Leaving Microsoft

#52
post #32

Earlier quoted context omitted.

"The idea of a compiler/language lead programmer effectively having lived in academia is terrifying on many levels." The apparent cluelessness level of this statement is so high, I am unable to decide if this is just ignorance or very sophisticated trolling. If the compiler dev working in a university or a research lab while developing the compiler is "terrifying", you should avoid C, C++, and Python, not to mention…

It's tempting to down vote him, but at the same time this is a real sentiment that some people seem to have. Perhaps it should be grouped into the current anti-intellectual trend. Either way, it's a real problem.

>It's tempting to down vote him

Why? Ignoring the ignorance does no good. Trend you've mentioned is nothing new, sadly, but if you are on the weaker side (the one that intellectuals always tend to find themselves on), the way to win is not to try to down vote clueless guys into the light-grey invisibility, imo, but to try to explain to them what's wrong with their view of the world.

Re: Leaving Microsoft

#53
post #22
post #17

Earlier quoted context omitted.

Did not expect that many companies from the Netherlands using Haskell.

Probably because many university students are taught Clean (the 'other' purely functional lazy programming language) [1] which is developed in the Netherlands. [1] http://en.wikipedia.org/wiki/Clean_(programming_language)

I thought Clean was mostly taught only at Radboud, since it originated there.

Re: Leaving Microsoft

#54
post #17

Earlier quoted context omitted.

Did not expect that many companies from the Netherlands using Haskell.

Yeah, Utrecht University has some of the world's leading Haskell researchers, I think it is taught in Groningen as well. In Nijmegen they teach Clean, which is very similar to Haskell.

Did not know that about Utrecht Uni.

Re: Leaving Microsoft

#55
post #4

FYI, Simon Marlow is incredibly big in the Haskell community and is the leading expert in Multi core parallelism via STMs in Haskell. Some of the work he has done for the GHC compiler is frankly fantastic. This is incredibly big news in the Haskell world. The FP community is starting to break boundaries with the industry in the last 5 years with Clojure (and Scala's functional support). Currently, FB seems to use has…

> The FP community is starting to break boundaries with the industry in the last 5 years with Clojure (and Scala's functional support). There is very little evidence of that. Do a search for Scala, Clojure or Haskell on the main indicator web sites (job boards, StackOverflow, TIOBE, indeed.com, etc...) and you'll find they are as insignificant today as they were five years ago compared to the mainstream languages.

I think when people talk about functional programming being used more in industry, they don't imagine it replacing Java or Python as the lowest common denominator language everybody uses. Rather, they imagine either small companies or small teams within larger companies using functional programming to be more productive.

So the sheer number of people using functional programming may not be very high even if functional programming is making inroads into industry. Now, I don't know whether functional programming actually is making inroads into industry or not, but my impression is that anybody relatively good at it could find a very nice functional programming job fairly easily.

Re: Leaving Microsoft

#56
post #24

i'm assuming this guy has done real world work before? the idea of a compiler/language lead programmer effectively having lived in academia is terrifying on many levels. best of luck to him at any rate. haskell and ghc are a cool language and compiler combo, one i have enjoyed for recreational programming time and time again.

err... do you know that (since 1.4 IIRC) the java compiler is the one written by Martin Odersky?

Re: Leaving Microsoft

#57
post #31

Earlier quoted context omitted.

Very enlightening. I always thought that the "financial world" were locked into Fortran/COBOL.

That's more true in certain Enterprisey, conservative parts of the financial world, backoffice bank records and that kind of thing. In investment/quant/trading parts there's more experimentation with other languages, both functional languages like F#, and even particularly "weird" languages like K (an APL successor).

[deleted]

Re: Leaving Microsoft

#58
post #31

Earlier quoted context omitted.

Very enlightening. I always thought that the "financial world" were locked into Fortran/COBOL.

That's more true in certain Enterprisey, conservative parts of the financial world, backoffice bank records and that kind of thing. In investment/quant/trading parts there's more experimentation with other languages, both functional languages like F#, and even particularly "weird" languages like K (an APL successor).

[deleted]

Re: Leaving Microsoft

#59
post #31

Earlier quoted context omitted.

Very enlightening. I always thought that the "financial world" were locked into Fortran/COBOL.

That's more true in certain Enterprisey, conservative parts of the financial world, backoffice bank records and that kind of thing. In investment/quant/trading parts there's more experimentation with other languages, both functional languages like F#, and even particularly "weird" languages like K (an APL successor).

My rule of thumb these days is that the smaller and more obscure the hedge fund, the more likely it is that they're using an unusual set of languages. The more PhDs they have, the more likely they're using something weird like K!

Re: Leaving Microsoft

#60
post #31

Earlier quoted context omitted.

Very enlightening. I always thought that the "financial world" were locked into Fortran/COBOL.

That's more true in certain Enterprisey, conservative parts of the financial world, backoffice bank records and that kind of thing. In investment/quant/trading parts there's more experimentation with other languages, both functional languages like F#, and even particularly "weird" languages like K (an APL successor).

[deleted]
Post reply on HN