I used to think that way too, until I realised that you can make your own (powerfull) functions by using/combining existing ones.
Believe me, when you get more experienced you start to think in creating your own solutions. (It's the C/Unix philosophy, using small functions to create solutions for more complex problems).
Like lego's, just a bunch of simple blocks, but that can be combined in a virtually infinite number of ways to create the most complex structures.
I used to play with lego bricks a lot, it was a by far my favorite toy.