E-Scribe : a programmer’s blog

About Me

PBX I'm Paul Bissex. I build web applications using open source software, especially Django. Started my career doing graphic design for newspapers and magazines in the '90s. Then wrote tech commentary and reviews for Wired, Salon, Chicago Tribune, and others you never heard of. Then I built operations software at a photography school. Then I helped big media serve 40 million pages a day. Then I worked on a translation services API doing millions of dollars of business. Now I'm building the core platform of a global startup accelerator. Feel free to email me.

Book

I co-wrote "Python Web Development with Django". It was the first book to cover the long-awaited Django 1.0. Published by Addison-Wesley and still in print!

Colophon

Built using Django, served with gunicorn and nginx. The database is SQLite. Hosted on a FreeBSD VPS at Johncompanies.com. Comment-spam protection by Akismet.

Pile o'Tags

Stuff I Use

bitbucket, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, Markdown, Mercurial, OS X, Python, Review Board, S3, SQLite, Sublime Text, Ubuntu Linux

Spam Report

At least 236428 pieces of comment spam killed since 2008, mostly via Akismet.

It's Haskell

In my programming resolutions post last week, I mentioned a short list of languages I was considering learning (or attempting to learn, anyway) in 2007.

I've decided on Haskell. Some of my reasons:

On the down side, let's see... well, the logo is pretty ugly.

To help myself get up to speed, I made some Plucker versions of various Haskell documents. In case they're of use to anyone else:

So, here I go. Knowing how work life goes, this probably will truly be a year-long project, with lots of quiet periods. But I'm excited.

Sunday, January 7th, 2007
+ +
9 comments

Comment from Damien , later that day

If you are starting from the basics, my favorites were the wikibook and YAHT:

http://en.wikibooks.org/wiki/Haskell

http://darcs.haskell.org/yaht/yaht.pdf

Comment from Paul , later that day

I'm most definitely starting from zero. Thanks for the links! When I have more time I may do nightly Plucker builds of those like I do with the Django documentation.

Comment from Ricardo , 7 weeks later

Like you I'm a pythonist looking to learn something from a very different language.

But i think Erlang or Eiffel would have been better choices. Good luck in your new adventure!

Comment from Paul , 7 weeks later

Ricardo -- can you say more? The obvious argument for Erlang is the rise of concurrency, and I'll certainly be considering it in the future. As for Eiffel, I have to admit that the last time I looked at it I had a hard time believing I'd ever really like (as opposed to merely accept) the syntax...

Comment from Rhonda Starke , 14 weeks later

What exactly is your motivation to learn Haskell? The last language I learned was Ruby, because there was this promising and production-ready web framework called Rails.

The Pragmatic Programmer encourages you to learn a new language every year. But why should I take the effort if there is no mid-term benefit for me? I've picked up three programming languages in university only to find out that they're of no relevance in the real world.

Learning a language for the sake of learning it just doesn't make any sense to me. Is there a web stack written in Haskell? A GUI framework? Anything that could help me getting any real work done?

If it's only for academic reasons, I claim it's useless. If you know Lisp, Smalltalk, C, Java and Prolog, you know them all. So why bother?

Comment from Paul , 14 weeks later

Hi Rhonda,

My motivation in learning Haskell (which I'm doing very slowly, I might add) doesn't have much to do with my day-to-day production tasks. Personally, that's not where it ends for me. I picked Haskell because, among other reasons, 1) it's very different from languages I know, 2) it seems to be growing in relevance, and 3) via STM it shines some interesting light on the concurrency problem.

Even if I never use Haskell code in production, I'm pretty confident that taking a run at it will increase my sophistication and depth as a programmer.

And I just like learning stuff.

Comment from Rick Taylor , 5 months later

I just started learning Haskell myself, and for much the same reasons as you; there must be something in the air. I'm a mathematician, so it has a special appeal on that basis. I've been reading "A Gentle Introduction to Haskell" and really like it; although it would help to have at least looked at something like Scheme first. I ordered Hudak's book on Haskell from amazon just yesterday, after reading positive reviews (and people saying it was challenging, but I think that's a good thing).

--Rick Taylor

Comment from Paul , 12 months later

Update, one year later: I learned quite a bit, but didn't get far enough to write any real applications. The time was all well-spent, though. I'm thinking about making Haskell my 2008 language too!

Comment from Oisín , 13 months later

I've started learning Haskell quite recently too. I'm finding it quite difficult; more so than I expected after learning quite a few languages before (apparently this means I'm really learning something new, which sounds right) - but very enjoyable.

However, I'm a bit perplexed about a rival to Haskell called "Clean" which seems to outperform it timewise in many cases (see the computer language shootout). In many respects it's very similar, but treats destructive updates differently than Haskell's monad approach... it also allows strictness annotations in code - perhaps this is a large speed gain.

Comments are closed for this post. But I welcome questions/comments via email or Twitter.