You're looking at Less Wrong's discussion board. This includes all posts, including those that haven't been promoted to the front page yet. For more information, see About Less Wrong.

dbaupp comments on More intuitive programming languages - Less Wrong Discussion

4 Post author: A4FB53AC 15 April 2012 11:35AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (89)

You are viewing a single comment's thread. Show more comments above.

Comment author: dbaupp 16 April 2012 11:17:25AM 3 points [-]

Also. I suspect that some people will find learning to program a bit easier with functional programming languages like Haskell. When learning Haskell, I wrote lots of simple functions, and acheived more complex results by stringing together lots of simple functions. In imperative languages, it's a bit harder to test all the individual pieces as you're going.

The type system of Haskell is quite restrictive for beginners (it's a little annoying to not be able to debug by putting a print anywhere, or read user input wherever you want) and the laziness can be a little unintuitive, especially for people who haven't done much mathematics (e.g. ones = 1:ones... "I'm defining something in terms of itself, aghafghfg").

But, I do agree that functional languages might be easier to teach to certain groups of people, like those who have done a fair bit of maths, and that Haskell has some very neat features for learning to program (GHCi and Hoogle are awesome!).

Comment author: gRR 17 April 2012 12:10:49AM 1 point [-]

it's a little annoying to not be able to debug by putting a print anywhere

There's unsafePerformIO :: IO a -> a

Comment author: gwern 17 April 2012 02:32:08AM 3 points [-]

Or, er, Debug.Trace.trace...

Comment author: Solvent 16 April 2012 11:44:19PM 0 points [-]

(it's a little annoying to not be able to debug by putting a print anywhere, or read user input wherever you want)

I agree.