The most frustrated I get when I’m programming is when I focus on the outcome, and not the process.
You can learn how to program by focusing on the outcome. But I think the truly excellent programmers understand the process.
I learned Ruby on Rails lately. It abstracts away a lot of the process. I showed my friend, and he made fun of me, because he understands the magic of Rails, and I agree with him.
Rails is very outcome focused. Build an application, quickly. PHP is very processed based. Build an application, and understand deeply everything that goes on within it.