E-Scribe News : a programmer’s blog

About Me

PBX I'm Paul Bissex. I build web applications using open source software, especially Django. In the '90s I did graphic design for newspapers and magazines. Then I wrote technology commentary and reviews for Wired, Salon.com, Chicago Tribune, and lots of little places you've never heard of. Then I taught photographers how to create good websites. I co-wrote a book along the way. Now I am helping turn a giant media corporation into a digital enterprise. Feel free to email me.

Book

I'm co-author of "Python Web Development with Django", an excellent guide to my favorite web framework. Published by Addison-Wesley, it is available from Amazon and your favorite technical bookstore as well.

Colophon

Built using Django, served by Apache and mod_wsgi. The database is SQLite. The operating system is FreeBSD, on a VPS hosted at Johncompanies.com. Comment-spam protection by Akismet. Vintage topo imagery from the Maptech archive. The markup engine is Markdown.

Pile o'Tags

Stuff I Use

Akismet, bitbucket, del.icio.us, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, Markdown, Mercurial, OS X, Postfix, Python, Review Board, S3, SQLite, TextMate, Ubuntu Linux

Spam Report

At least 184797 pieces of comment spam killed since January 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.

Post a comment

Thanks for reading! Please note: Your comment will not appear until approved, which may take a few hours or more. Spammers will be torpedoed.


(Will not be shared)

(Optional)