Hacker News new | ask | show | jobs
by jharger 3948 days ago
Well, I imagine if your background/education wasn't computer science, and you didn't have an intro to algorithms and data structures, (and also not that into math) recursion would feel unnatural and strange.

I say this because I was originally a self-taught programmer, and I hated recursion too. Once I went to school for a CS degree, I learned how awesome it really was, and now I use it all the damn time.

1 comments

I studied math and I find recursion unintuitive, whereas I find the Principle of Induction[1] profoundly intuitive (the two are very closely related).

[1] https://en.wikipedia.org/wiki/Mathematical_induction

So what is it about recursion that eludes you? It is very strange to me that someone would find one of those concepts easy and the other not -- as you say, they are two forms of the same thing.
I guess it's more reading and writing it in code. In my case, it makes sense to read code like I read a book: it has a beginning, a middle, and an end. (Procedural, see?)

A recursive function makes me do all these convoluted mental gymnastics when I'm just trying to figure out if Cinderella lived happily ever after or not.

I promise you, if you wrote and read more recursive functions, you would get used to them. It's just a matter of practice.
One is linear, the other recurses (things into things into things).

It's like comparing Star Wars to Inception.