News for hackers. Stuff that matters.
Re:What it's like to use Haskell by pron on Wednesday March 26, 2014 @07:55AM (#7472774)
I think this is a bad filter. I'd rather filter prospective employees based on an ambitious algorithm or a complex project they've done. Most of the people I know that like solving hard problems with novel data structures, algorithms, or mechanically-sympathetic implementations are averse to spending time on learning new programming languages. It seems to them (and to me) like focusing on bling rather than on substance.

Of course, this is a crude generalization, and obviously, anyone who's interested in learning any new, perhaps unappreciated, and difficult skill would make a good hire, and Haskellers are no exception. But I wouldn't filter based on programming language preference.

Re:What it's like to use Haskell by nbouscal on Wednesday March 26, 2014 @08:30AM (#7472905)
I have to disagree on two points.

First, the implicit point you are making that ambitious algorithms or novel data structures are useful in industry. For the vast majority of applications this simply isn't the case.

Second, the argument that people interested in learning advanced computer science aren't interested in learning new programming languages. This goes against all of my experience; my friends who are most interested in advanced computer science concepts are exactly the ones who spend the most time exploring different programming paradigms as well.

I have one idea of what the distinction might be, though: learning different programming paradigms is very different from learning different programming languages. I certainly wouldn't want to waste time learning yet another Java or yet another Python, since as you say that would be focusing on bling rather than substance. If this is the distinction, Haskell comes out fine, as it is clearly a different paradigm from the mainstream languages.

Re:What it's like to use Haskell by noelwelsh on Wednesday March 26, 2014 @08:00AM (#7472801)
Wow, completely the opposite experience here. The majority of the prog. lang. enthusiasts I know are deeply into other aspects of computer science. They love high level languages because they can express their ideas so cleanly. Lots of devs are drooling over Rust because it allows us clean code with C-level control over memory layout and allocation.
Re:What it's like to use Haskell by pron on Wednesday March 26, 2014 @08:09AM (#7472827)
The majority of PL enthusiasts might well be interested in other aspects of computer science, but I was pointing out the the converse isn't true: the majority of people interested in the more challenging aspects of comp sci are not necessarily interested in programming languages, which is why this would be a bad filter.

I drool over Rust, too, but I wouldn't switch my company's (little) C++ code to Rust tomorrow. Also, Rust appeals mostly to C/C++ programmers, who don't usually need as many OSS/OTS libraries as application-level programmers (and those, usually specialized, libraries they do need, either work with Rust or don't; if they don't, that alone would be a deal breaker).

People who risk their company's investment (or make any important decision) based on stuff they drool over, might need to get their priorities straight.

Re:What it's like to use Haskell by noelwelsh on Wednesday March 26, 2014 @08:31AM (#7472912)
"Rust appeals mostly to C/C++ programmers"

As primarily a Scala programmer, Rust appeals greatly to me. It's basically the same language without cruft inherited from Java, and its much more amenable to optimisation that Java. For example, large heaps have unacceptable GC pauses, so projects like Cassandra invest a lot of effort into "off-heap" memory management (i.e. manual memory management). With Rust that just works a whole heap better (pun intended).

People tend to talk about "expressiveness" when discussing programming languages, which usually mean concision. I'm much more interested in what I call "expressive width", which means how high- and low-level can get in a language. PHP is little expressive width, because its runtime is so poor. Scala has good expressive width because I can play with threads, CAS operations, mem-mapped files, and even manual memory management (which is going quite far off-piste, but possible with sun.Unsafe). Rust has even more expressive width than Scala.

[Rust needs higher-kinded types before it will truly make me happy. I believe they'll arrive soonish.]

For your other points:

- P(interested in PL | interested in CS) != P(interested in CS | interested in PL).

Agreed, but I don't think it matters. Anyone interested in discrete maths (so, CS) will pick up Haskell quickly.

- "People who risk their company's investment (or make any important decision) based on stuff they drool over, might need to get their priorities straight."

Depends on your company's size and ethos. I'd rather have a few great people than a room full of monkeys, but I understand arguments that go the other way.

Re:What it's like to use Haskell by dbaupp on Wednesday March 26, 2014 @09:33AM (#7473182)
> I believe they'll arrive soonish

Depends what you mean by soonish... there's certainly no concrete plan for how to implement them yet (or even a vaguely sensible proposed syntax).

Re:What it's like to use Haskell by seanmcdirmid on Wednesday March 26, 2014 @08:49AM (#7472985)
Many of the super programmers at google have PL research backgrounds! Like Jeff Dean. Most of the others are in systems, which are fairly aligned, and often both. Such PL enthusiasts are the last ones to try and switch the language being used.
Re:What it's like to use Haskell by groovy2shoes on Thursday March 27, 2014 @08:39AM (#7479946)
> Such PL enthusiasts are the last ones to try and switch the language being used.

As a PL enthusiast myself, I agree with this.

By the time I had my first job out of college, I'd written programs in some twenty-odd different PLs, and felt comfortable with many of them. My employer needed me to learn SAS, so I did. They wanted some code written in Java, so I wrote it. Neither SAS nor Java is particularly fun to program in the way Haskell et al. are, but that's what they wanted, and I could do it.

There was a whole team of Java guys, and when asked to learn SAS they sat around bemoaning it and whining about how Java is so much better. "Why not just do it in Java?" they asked.

I've run into similar experiences at every company since. If people don't want Java, they want C++ or Perl. If someone writes a utility in Python, there are complainers. Some programmers will refuse to even use a particular program if it's not written in their language of choice.

In my experience, it's usually the people who aren't PL enthusiasts that are more opinionated about language choice, simply because they're less flexible.

Re:What it's like to use Haskell by steveklabnik on Wednesday March 26, 2014 @06:00PM (#7476950)
> Rust appeals mostly to C/C++ programmers,

There's actually a lot of people who aren't coming from C++ too. A whole bunch of Rubyists are checking out Rust, for example.

That said, you're totally right that production Rust is probably a bad idea. You'd be user #4!

Re:What it's like to use Haskell by tel on Wednesday March 26, 2014 @10:02AM (#7473364)
That means it's a great filter, though, in one way—it has high precision but low recall. If you're building a smallish team on a lowish budget then precision is vital and recall isn't.
Re:What it's like to use Haskell by dllthomas on Wednesday March 26, 2014 @10:58AM (#7473822)
Assuming the remaining population is sufficient (which, for Haskell, for a smallish team, in a job that can be done remotely or is in a tech hot-spot, it probably is).
Re:What it's like to use Haskell by coolsunglasses on Wednesday March 26, 2014 @02:48PM (#7475493)
I'm a Haskell user and I find Rust really interesting. I know a goodly number of other Haskell users who are also interested in Rust too.

I don't think you're speaking from a lot of knowledge here.

Re:What it's like to use Haskell by krfsm on Wednesday March 26, 2014 @08:27AM (#7472898)
Haskell was inflicted on my whole CS class, and for that class P(avid problem solver|likes haskell) was mighty high.

As long as you can sample from a decent talent pool, I think it's a good filter. (Provided you only care about your outcome, not fairness to job seekers.)

Re:What it's like to use Haskell by mattgreenrocks on Wednesday March 26, 2014 @10:40AM (#7473677)
> I'd rather filter prospective employees based on an ambitious algorithm or a complex project they've done

I've never needed the former, and only have a little bit of the latter. I wish I had more of both, but I find I have to do hard stuff on the side.

What do you do, exactly?

Re:What it's like to use Haskell by ww2 on Wednesday March 26, 2014 @09:10AM (#7473052)
learning another script language is totally different from learning Haskell. For the latter it requires much more than syntax translation, which is implied in your comment.