1,865 karma · joined October 13, 2010
Anyone else got the latest one? Or can anyone suggest alternatives to the latest one?
Haskell is a very good flag for the kinds of people that make good programmers:
* It's hard to learn.
* Chances of getting a job are minimal, therefore people learn it mostly for their own self edification, and have the kind of grit that keeps them studying for a year or two with not external reward.
* Learning Haskell teaches you some fundamentals that aren't readily discoverable elsewhere.
No one is hiring Haskellers right now, so what you have is a pool of very able programmers, who would love to do Haskell (in fact many would love the chance to use Haskell so much that they'd take a pay cut to do so) and very few people offering them what they want.
If you're a start up, you want to hire a stellar team (possibly at a bit of a discount) and your domain is a good fit then you should seriously consider hiring some Haskellers and letting them write Haskell.
The if it compiles works thing... That's unfortunately overblown and hyperbolic, but in my experience of the Haskell community in London, it's usually uttered as a tongue in cheek joke. I'm not sure I'd characterize it as condescendingly spewing falsehoods.
However, let me tell you about my first experience building a little thing while learning Haskell: As a total newbie, I wanted to pull some timeseries from a database and plot them on a UI. It took me days of grabbing some time here and there, learning which DB library I should use and how the diagrams package worked. I finally got it to compile without any errors. As a python programmer this was a completely new way of programming for me, and I now fully expected the real work of making it run to begin. The VERY first time I ran it - up popped a timeseries visualization. Mind. Blown!
So as you state it, "if it compiles it works" might be a falsehood, but there's more than a grain of truth there.
As for your other comment. What Tim actually said was:
> An institution that teaches Python under the banner of computer science, certainly loses prestige in my opinion
He didn't say that he "can't respect" it, nor did he say that CS should exclusively be taught in Haskell. He said, that teaching it in python lowers its prestige (and later clarifies that he means that as a vehicle for teaching CS rather than programming).
As I mentioned, I'm a self taught programmer, beginning with python. Since then I've worked at hedge funds and investment banks in python and built a startup on Haskell. My opinion is built on my own direct experience, and I find it somewhat disrespectful that you dismiss it as "drinking the Haskell Kool-Aid".
I've experienced some cases where I've been spoken to a bit sharply, and some where people have come across a bit impatient when I haven't "got" something they understand. The thing is that I don't process it as people coming across as a dick, so my subjective experience is that the community is helpful. As to the three examples [1] you picked out of Haskellers coming across as pricks, I honestly, truely, completely don't see anything in any of these comments beyond forthright assertions of opinion. Would you be able to maybe break down what you find objectionable?
[1] As disclosure: I currently work with dons, and I also know willtim.
Programs written using a deterministic-by-construction model of parallel computation are guaranteed to always produce the same observable results, offering programmers freedom from subtle, hard-to-reproduce nondeterministic bugs that are the scourge of parallel software. We present LVars, a new model for deterministic- by-construction parallel programming that generalizes existing single-assignment models to allow multiple assignments that are monotonically increasing with respect to a user-specified lattice.
LVars ensure determinism by allowing only monotonic writes and "threshold" reads that block until a lower bound is reached. We give a proof of determinism and a prototype implementation for a language with LVars and describe how to extend the LVars model to support a limited form of nondeterminism that admits failures but never wrong answers
This is a big misconception. The type system in Haskell becomes much more of a tool than a hindrance. Although you will tend to write type signatures for all your top level functions, type inference is very good and it's not necessary most of the time.
The reason you should consider writing at least the top level signatures is that when you do the compiler will help you fill in the banks with type holes. See
* https://www.reddit.com/r/haskell/comments/19aj9t/holedriven_...
* https://wiki.haskell.org/GHC/Typed_holes
Once you learn these tricks, it can really feel like magic sometimes. :-)
edit clarity - Apparently my brain is too Haskelled today for writing English
CustomerCreated { stuff }
CustomerMadeOrder { custId, stuff }
ItemAddedToOrder { orderId, stuff }
etc..
This is the event sourcing view of the world.I'm strongly in favor of giving up centralized control in the interests of allowing emergent behavior to tackle opportunities as fast as possible. Leadership to me should be:
* Set the direction
* Gather smart, motivated people
* Create an environment that gets everyone on the same page
* Get the fuck out of their way.
At some point, I feel like I have to focus on the whole package and being a rounded human instead of knowing all the new hotness. Thats what I really feel Tims podcast fosusses on; doing less with more and optimising life with whatever advantage is at hand.
I think at a certain point you start to recognize that more tech isn't helping as much as it was (diminishing returns perhaps) and that a more holistic approach to improving is necessary.
Time will tell I guess.
My mortgage is nearer £600k
The main thing that's attractive about it is the focus on the "person development" side of the child's education (in addition to excellent academics). Last time I went to my oldest daughter's parents evening the whole content was: "Well, she's at so-and-so percentile for this subject and such-and-such metric this and that". Nothing at all about how she is as a person, or anything beyond the metrics that Ofstead judges schools on. She's 7!
If you're married and have your SO as a shareholder, thus splitting the tax load you can almost match a £200k salary on a day rate of ~£700 (I have seen a few devops type roles getting up towards that figure).
So, I agree that £250k salary is very top end, but there are certainly contracts in the finance industry that pay enough to get you close if you change the way you're paid.