Hacker News new | past | comments | ask | show | jobs | submit login
Learn you a Lisp in 0 minutes (wordsandbuttons.online)
32 points by pcr910303 51 days ago | hide | past | web | favorite | 15 comments

"Can you read something written in the language and figure out what it does" is wildly different from "can you write something new in the language". This is testing the first, but I would argue that any even moderately-experienced software engineer could read the majority of programming languages out there without too much difficulty.

I think, it serves its purpose pretty well. All those parantheses of a real-world Lisp program may be quit intimidating, but here you get it pretty easily.

And I believe as well that a programmer with a bit of experience should get the examples right, since familiarity and naming of things should help with the more complex examples. E.g., you know what a factorial is. And even, if you don't know the quicksort algorithm, you get it that there's some middle and a left side and a right side and some comparison. So it has to be some kind of sorting algorithm, and from there you may figure out the details, which again solidifies your understanding of the basic language concepts.

Except that what’s being taught here isn’t much more than just prefix notation and the simplest possible list examples. Without exposure to lambdas and more interesting data structures you’ve barely started. It’s fun but it doesn’t live up to its title.

Right, but the point is you could pick almost any arbitrary language, show some basic examples, and people would be able to read it. For example, take someone who's never seen Lua and show them the exact same set of examples written in Lua, and they'd be able to answer the same questions. Hell, you could probably do it with Haskell too, even though nobody would ever pretend that you could "Learn you a Haskell in 0 minutes".

I didn't read the functions to answer questions and I got 7/7. As a programmer when I see "qs" and a list I can understand its quicksort (also "fact" and a number).

Using out-of-place quicksort to advertise functional languages always felt like cheating to me. The in-place implementations of quicksort (the ones you'd actually use) are not nearly as pretty

Eh, even if you end up using an uglier optimized version, having a nice clean slow version is useful as a test case to verify the other version while you're developing it.

I got 7/7 because of my comp sci background and I expected what these would do even though I don't know lisp. I think this would've been the case with most high-level languages for me that I'm unfamiliar with.

I do not have comp sci background. Programming is my hobby (I do not know Lisp). I got 6/7

I'm guessing you missed the last one. The first six were pretty easy to figure out if you've been exposed to programming. I'm not sure if Lisp makes the last one any easier than lets say c#.

As someone who dropped out of Haskell in University because I found it too hard to understand, surprisingly I got 6/7 on this. Quite a beautifully simple site to learn something new! Looks like it's all implemented using basic HTML?

Just a minute after this quiz, if someone were to provide the answers and descriptions of what had to be written and asked me to write it in Lisp, I'd probably get 2/7 or 3/7, covering only the simplest of examples.

That's probably because the first few steps are very incremental. It skips ahead faster after that. If you were to make a longer version of this that was more gradual, I think people would be able to pick up more advanced concepts correctly, although it would definitely be much longer.

learning your first programming language is hard (for an arbitrary measure of hard)

when you start learning your second language you think that it's going to be just as hard. it's only after you are well into learning it that you find out that the languages are very similar, and from then on out learning new languages becomes easier.

most programming languages are similar. (there are few exceptions) it just takes learning a few to realize that.

this post makes an excellent argument to point that out.

I've always thought learning entirely by example would be possible and might have speed advantages for quick learners. I'd like to see this method explored more.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact