Suppose you are a beginner on the piano. You hear a piece of music that catches your fancy and borrow the score from the library. If the music is beyond your capabilities, you’ll know soon enough: if not right away on turning the cover page, then before you get to the end of the first few bars.
In programming, it’s different. There you can be busy for days or weeks, even months, learning the ins and outs of, say, Java and its libraries. Flushed with the illusion of power that all this knowledge brings, you come across something that catches your fancy, say, write a program that solves Sudoku puzzles. Wouldn’t that be neat! Now that you know so much about this powerful and sophisticated programming language, what’s going to stop you? Even after weeks of thrashing around, you may not know what hit you.