Log in

No account? Create an account
Previous Entry Share Next Entry
Learn You a Haskell!
Continuing to dig into modern programming, today's reference is completely different: the online tutorial Learn You a Haskell for Great Good! This is designed to look like a kid's introduction to programming, which it really isn't -- but it does appear to be a deliberately lighthearted introduction to Haskell for experienced programmers, very quickly diving into the juicy typeclass stuff. This one I probably need to really work my way through...

  • 1
I gather it might well be in my future as well. :)

Possible option, yes, although I suspect we'll want to talk languages in some depth...

Absolutely yes, though I expect I'm going to be eating, sleeping, and breathing this stuff for a couple of months, easy, before we have to make any final sort of decision about that. Heck, I just downloaded GameMaker to take a look at that. I don't think it'll do the stuff I want it to do, but the intro game programming text I just got uses it for a lot of examples, and I know Alexx has raised the general question of whether we should be programming in a language at all, or using someone else's tool.

But yes, let's start talking languages sometime when it makes sense. I'm at a wargame con this weekend, but after that, I can free up some time when its convenient for you. Knowing more about what we're going to try to do will no doubt help that conversation along, so there isn't an immediate rush.

It will be out in book form from No Starch soon. BTW have you looked at the book "Seven languages in Seven weeks"?

At the moment I am starting a project and trying to decide between Haskell and Erlang.

First noticed Seven Languages just two days ago, actually. One of my co-workers got a 50% Off coupon for B&N, so I went poring through the CS section to decide on a book worth buying and noticed it. I know most of the listed languages at least modestly, though, so it's not very compelling for me. (I wound up buying "Real-World Functional Programming (With Examples in F# and C#)", on the grounds that it matches my current interest *and* is directly applicable at work.)

Personally, I find Erlang a tad too irritating to seriously pick up -- while I like many of its concepts, its syntax is *so* idiosyncratic (reflecting its age and weirdness) that it just annoys me. I'd consider it seriously for a certain class of problems (specifically always-on, high-reliability communications systems, which is what it was designed for) -- but even there, I'd *rather* use Scala plus Akka. (Which is roughly the Scala port of Erlang: less mature, but vastly more powerful and pleasant to use, AFAICT.)

As for Haskell, maybe I'll really get into it this time. I've been dancing around the language since 1995 (indeed, around '95 we actually wrote quite an interesting DARPA proposal around it), but still haven't found a good excuse to really dig in and learn it properly. We'll see...

its syntax is *so* idiosyncratic (reflecting its age and weirdness

And ancestry: the basic shape of Erlang's syntax comes from Prolog.

I am planning a project now and trying to decide what language to use. I think it will be Erlang or Haskell. There is a lot in Erlang I like mostly the scalability and fall over features. Also there are starting to be some very nice web frameworks for Erlang.

On the other hand Haskell just appeals to me. Not sure what it is but it just feels right. (This might just prove I am kind of warped) I guess I should check out the web frameworks for Haskell.

I haven't really looked at Scala as I don't want to deal with the JVM, that may be a mistake on my part.

Given what you like about Erlang, it's worth taking a look at Scala, and especially at Akka. It's approximately a Scala/Java port of Erlang, and has many of the same benefits. And while Scala isn't pure-functional the way Haskell is, it allows pretty deep functional programming while still providing pretty much the best OO implementation around.

I'm biased, no doubt -- Scala is certainly my favorite language -- but I definitely think it's worth your while to at least examine...

  • 1