Back in college I had taken several computer programming languages. I had the opportunity (at times I use that term loosely) to learn COBOL, RPG, Visual Basic, C, Assembler, and the markup language called HTML. This was over ten years ago, so many of the languages used today, such as C# weren’t around then.
I remember the first time I had to write an exam in one of those languages. It came as a surprise to learn that the exam was open book. In face, pretty much all exams for the programming languages were open book. After thinking about that for a moment I realized why they were open book.

Understanding Is a Foundation of Learning
Learning programming languages can be difficult for some, and easy for others. The trouble many people probably have with them is that they try to memorize the languages, instead of understanding them. For those that memorize the language, they know the structure of a “while” loop, but they may not know when to use it. This type of learning is backwards, and was probably one of the reasons the exams in my programming courses were open book – don’t memorize the structure – understand when to use it.
Another good example of understanding over memorizing is with securing a wireless router. For many, a wireless router can be confusing to secure. The reason for this is because they don’t understand how to secure the router.
I have secure many routers, and not all of the same type. I don’t memorize where the options are in each router, that would definitely be beyond my mental capacity, but I know what I need to do to secure the router. I understand what is needed, so I access the router’s administrative pages and look for the settings I need to secure the router.
Once the router is secured, I know what I need to connect devices to the secured wireless router. Each device has it’s own interface, but they would all have the same options to connect to the router, which I understand and am able to configure.
With my knowledge of wireless networking, I am now able to configure different devices to different wireless routers, regardless of what the user-interface looks like simply because I understand what needs to be done.
How Programming Taught Me To Understand
For those that have visited my blog in the past, you may have noticed that change my theme on a regular basis, and I just did it recently. I have also moved from Blogger to WordPress almost two years ago.
Since my switch to WordPress I have been understanding how WordPress is designed. While I am not an expert by any stretch of the imagination, I have learned quite a bit. My understanding of databases has allowed me to write queries, and explore the WordPress database (I never had any experience with MySQL before WordPress). All I needed to know was how to access the database from WordPress, and the structure of the SQL queries.
As the years went by I learned other programming and markup languages. My experience with past languages has enabled me to learn the new languages and create applications easier than if I didn’t have an understanding of the basic principles of application development. Applying this idea of understanding, as I did with programming languages, has benefited me in may facets of my life.
While undestanding can also benefit you in different areas of your life, if you wish to learn technology – you must first understand the underlying principles. As you understand those, you will soon begin to memorize what you need know.







on August 4, 2010 at 6:09 am
Hey Paul you are so right. This explains why it is taking me so long to master CSS and HTML. I need to understand them better and which one to use in a particular situation. I really need to take a good class, because I never have time to sit down and read a book.
Thanks for your advice.
on August 4, 2010 at 8:18 am
I’m not one for classes myself, I learn by doing. The more you do learn, the easier other things become within the technology world because so many technologies are very similar to others.
on August 10, 2010 at 6:30 pm
Dude, I can totally relate. I’ve been learning programming for over 14 years (5 years of that being my professional job). I can say right now that I have never stopped learning and bettering my skills.
But to me, the difference between a good programmer and a bad programmer is that us good programmers can adapt to new programming languages in a matter of days/weeks because we *understand* the concepts and structures of programming languages in general, specific details and everything else is just a Google search away!
on August 10, 2010 at 9:54 pm
We will always have to adopt to new programming languages. The good thing is that many programming languages are very similar to previous languages, so the adoption isn’t that difficult. I usually do use Google to look up specifics – stuff I don’t care to memorize.
on October 22, 2010 at 2:06 pm
Hi Paul,
This is the first time I’m commenting on your site. =) Very intriguing post I have to say.
I never been much of a techie but I am a bit of a geek and I love anything computer related. =)
But the premise behind this applies for all things. It’s about understanding things at their basic level which allows you to better understand how things are built on top of that foundation.
Maybe that’s why I got into training…I like to take things apart and learn them by building them back up again. I guess it’s the same as getting your techie groove on. =)
Thanks for the great post!
Michele Welch recently posted…That’s A Wrap- October 21- 2010
on October 22, 2010 at 7:22 pm
I agree, understanding the premise behind things applies for all things. If you don’t build up a strong foundation of understanding, you will have more difficulty learning the more complex parts.
on October 6, 2011 at 2:22 am
The thing is, when you learn about programming, it also train your logic for sure. So it’s a very beneficial thing to do learning some programming.
Andrew Walker recently posted…New Public Hotel in Chicago