4 ms·
Do you put Mensa on your resume? While I think there's probably some low-range filtering going on with Haskell, I think that only shows that Haskell isn't that
by gilbetron 5y ago
Do you put Mensa on your resume?
While I think there's probably some low-range filtering going on with Haskell, I think that only shows that Haskell isn't that fit for writing much production software, since, for all the "smart people" very little has been done with Haskell.
What I think Haskell does attract are people that like to develop overwrought, abstract, and ornate systems. Another reason it hasn't proven to be terribly useful for production software.
I do like the experimental space languages like Haskell play in, and think there is strong net benefit to our field as a whole, by finding ideas that work when brought into that field. So I like people out there mucking around with different programming idioms/domains/approaches.
If I see significant Haskell or Lisp experience on a resume, I tend to be wary.
- benreesman 5y agoCome on man, Mensa? I’ve never taken an IQ test and the only pedigree I have is the school (UCSD) that I flunked out of. I didn’t say that I’m personally a smarty-pants Haskell hacker. I said that those people skew smart and capable. How come @dang is always there like the Batman spotlight when I stray into ad hominem but I always get smashed with this stuff?
- gilbetron 5y agoI'm bemused that you think Mensa is such an ad hominem :)
- mischov 5y ago“Do you put Mensa on your resume?” is clearly a personal attack in this context. At least own up to your words.
- 0des 5y ago
- benreesman 5y ago
- 0des 5y agoGiven your befuddled comment, I'd say no, you don't, evidently. I've been here longer than some readers have been alive. Some of us are not interesting in cultivating a persona. I love your cheeky little attempt at an appeal to authority though.
- benreesman 5y agoI’ll take you at your word that your on an alt or something and assume that you’ve also been around since the beginning. It doesn’t seem like we’re going to get along, so I propose that we just stay off one another’s comments to keep things civil.
- deleted 5y ago[deleted]
- 0des 5y agoYou're going to repeat this same issue as long as you have the "but they always get away with it, why cant I" mentality. Two faults in judgement don't make a good decision, no matter how many take part in it. Bless your heart and good day.
- dang 5y agoPlease don't cross into personal attack or post flamewar comments. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- jodrellblank 5y ago> "I didn’t say that I’m personally a smarty-pants Haskell hacker." You didn't? You said serious Haskell programmers are smart and then pointed out that you worked on the largest Haskell codebase on the planet; we were supposed to not conclude that you are smart, but rather that people working on said codebase are non-serious Haskell programmers? "Nobody likes to talk about it, but we Haskell programmers are smarter than everyone else, especially bickering Javascript plebs" is kinda surprising it hasn't been flagged as flamebait.
- benreesman 5y agoI’m a fairly intermediate Haskell programmer at best. My point about working in a serious industrial setting was that I’ve seen the real deal, up close, and over time.
- agentultra 5y ago> What I think Haskell does attract are people that like to develop overwrought, abstract, and ornate systems. Haha. I'm laughing in move semantics. C++, Perl, Python, Go, Java -- literally any programming language that some group of people somewhere has grown to a large enough scale is full of complexity. Go is supposed to be "simple" but there is nothing simple about k8s by virtue of being written in Go. Don't mistake Haskell's jargon, idioms, and ideas for your wilful ignorance. There are a lot of good ideas in Haskell that could benefit most programmers if they took the time to learn them. There's a fast concurrent run-time and great primitives for working with software transactional memory, a fast and advanced type system to help you get feedback on your program interactively and reject more poorly formed programs, immutable data structures and rules for composing them that enable distributing computations safely while making code much easier to manage. There is a lot going on here and it has been slowly adopted into other language ecosystems for decades for a reason. I understand it's often more work than folks are willing to invest but that's no reason to be so dismissive.
- nostrebored 5y agoAn abstraction in a pragmatic field like engineering is only as good as its utility. Haskell is unapproachable, and its abstractions are complex. More complex than most engineers actually need. From a utility perspective, these abstractions are bad.
- agentultra 5y agoHonestly I spent enough time to dig into Haskell to learn it well enough to make an informed criticism of the language. I ended up sticking around. I understand there's plenty of jargon and terms that are unfamiliar to a lot of folks but they're not unapproachable or complex (usually). People commonly point to weird words like, "Functor," or, "Monad." It seems insurmountable and complex but if you really dig in and learn what they mean it's infuriatingly simple and practical. I hardly even notice when I'm using them but I can see the pattern in software everywhere (or where they leak because they don't use them). Our job is abstraction. And good abstractions matter. There's a reason most software these days isn't written in machine language or assembly. And there's a reason why it's incredibly difficult to verify, say the security properties, of software systems in assembly; we use higher-level languages for that work. Update: The kind of complexity that is bad in my opinion is the incidental kind that is beyond your control. Move semantics and object initializers are an example of a language abstraction that leaks a lot. It's incredibly hard to write a class that works well in all cases and you have to know a lot about what's happening under the abstraction layer in order to avoid the pitfalls of using them. This kind of complexity is everywhere in software, even Haskell in some places. The blast radius for this kind of complexity has been well managed in Haskell though. So it often comes down to what you need. In my experience using Haskell has let me spend less time working on errors/bugs (no use after free, off-by-ones, no unhandled cases, I can even avoid a lot of threading and shared state issues) and more time focusing on the problems I"m trying to solve.