Hacker News new | ask | show | jobs
by wccrawford 5654 days ago
It's not often I come across a new language that I can't just read by looking at it.

And that's not a good thing for the language, as far as I'm concerned.

1 comments

Why isn't that a good thing?

That criterion would cause you to dismiss Haskell because it looks different from what you're used to; the example code in the link is quite similar to Haskell code.

The most useful programming languages to learn are the ones most different from what you are familiar with. One would be much better off learning ML, C, and Smalltalk than Java, C#, and Python (in terms of their effect on one's understanding of programming; not necessarily on one's ability to find work). But a programmer knowing only C is unlikely to be able to read ML or Smalltalk with much understanding, nor would a Smalltalk-only programmer understand C or ML easily or a ML-only programmer Smalltalk or C.

Yes, I completely agree with this. I don't see much advantage in knowing languages that all look and behave very similarly to each other. Why should the only reasonable choice be no choice at all? Though, I suppose, that's probably saying too much.

On a side note, and perhaps I'm biased in believing this, but I find the given Haskell "expression" like syntax to be much easier to understand than reading imperative code. Of course, you have to know some fundamentals behind functional programming before it starts making much sense, but once that ground work is there, the experience of reading other people's code is quite enjoyable. To me, it just seems like the code is more concerned with the problem it's trying to solve than battling the nature of the machine that it is running on.