Reading the news nowadays it seems that many people are saying that everyone should learn to program. But is this skill really necessary or even a good idea for…everyone? (Hint: NO!)
The actual skill people need to learn is critical thinking and problem solving. Programming, or “coding”, is that last part….after you have done the thinking and solved the problem. The coding then is merely the translation of the solved problem into a computer program for execution. (Don’t expect the computer to solve a problem you yourself don’t understand.)
Yet, deciding on whether to learn to code may not be an option depending on where you are in the educational system, but learning to code (program) has advantages and disadvantages. Keep in mind that …”just because you drive a car doesn’t mean you need to become a mechanic”.
Quick Example: How many times does this for loop run (pseudo code)?
For i = 0 and ≤ 10
do <something>
(Ans: 11)
The above example is a classic “off by one” error that is present in many computer programs. Note that this error is “logic” problem. Fixing logic errors can take lots of time once the programmer fixes any syntax errors.
Below are some advantages and disadvantages of learning to code:
– Advantages
• helps train the mind how to solve problems
• could help prepare someone for an inevitable future working, in some way, with computers
• can be extremely rewarding
• gives you total control of the machine
• programmers are in huge demand ($)
– Disadvantages
• coding is not for everyone (critical thinking is)
• can take many years to be truly proficient in a single language
• learning to code may never help someone use the computer for the applications they actually need for their job
• very time consuming to learn
• very time consuming to do
• can be extremely frustrating
• requires setup and learning about complementing technologies
• requires some development environment setup
• requires constant effort to stay up with current versions and technologies
– Alternatives
Become a power user. Many people would benefit far more from learning to use their applications more fully. Perhaps also learn some basic scripting on their computer, for example learn some basic AppleScript, to better interact and control applications. Additionally, on the Mac, there’s an excellent program called Keyboard Maestro, which enables its users to easily create powerful computer “programs” (macros). For the average person looking to automate their workflows and increase their productivity, programs like Keyboard Maestro might be much better than learning to code in say, Java or C++.
– Suggestion
If you’re interested in seeing if coding is for you, try a programming class at your local community college where you can work with others and share experiences. Most of these classes will focus on problem solving first.
– Conclusion
Coding can be fun and extremely rewarding, but it’s not for everyone. If you don’t love to work through a difficult “debug” problem (often for hours) to finally arrive at “working code”, you may find that coding is really not for you. And, that’s OK. But, if you get that programmer’s “high” after solving a difficult program issue, then programming may be just the ticket.
——–
Please read our disclaimer available from our home page