Does computer programming make you smarter or dumber?
You'll be forced to practice thinking straighter, deeper, and more critically.
Programming can teach you:
- Precision: One typo and the program will halt.
- Simplicity: Code must be as simple and obvious as possible. But simple is a complex problem.
- Tooling: You require many many many tools. Hardware, software, SaaS, cloud storage... all tools.
- Logical expression: Ideas must be formulated logically to be computationally plausible.
- Communication: Between team members, the client, the boss, the users, and even to yourself tomorrow. One must present and document.
- Abstraction: Everything is abstraction. What is concrete to you is simply what you cannot change - like the specifications of some language. But beyond that, your job is to name and implement your own specifications that will make up the product.
- Intention: Every abstraction is intentional. Your code is no accident. If your program sucks, its on you. And the one thing a computer does not have is intent. It has no idea what to do with itself. But you have an idea. And that is why you have your job.
Here is what makes programming a great teaching tool.
- Immediate results: Execution is instant.
- Real consequences: Programs can be written to do math, draw, move robots, write web pages or even apps. Not many educational tools can be used to produces real consequences.
- Freedom of construction: Given a project, there is great freedom in how one can express the problems and formulate them in a way that can be implemented into code.
- Constrained collaboration: Programming requires extremely specific and accurate results, yet also requires creative and innovative thinking. Be it assigning roles or effectively sharing ideas, a group programming project is an exercise in both communication and implementation.
- Unconstrained independence: The flip side is programming projects done solely by yourself in which it is only you vs the computer. One is only limited by their ambition and their coding prowess.
- Cheap: Open source is all free. Web programming is all free. References and Q&A is abundant online all free also.
- Rewarding: Like a painting, an essay, or a musical composition, a program is a tangible piece of work that the author can be proud of. It can even give you bragging rights.
Here is what makes programming an indispensable tool for science, research, and business:
- Logical Expression: Even a business hypothesis can benefit from logical expression. By making something logical, it becomes computational. Physics and mathematics is all about logical expression.
- Simulation: One can crunch the numbers, test scenarios, and even model environments or markets for the sake of analysis.
- Calculations: Whether it's plotting a graph or solving complex equations, knowing how to code will lead to greater handling of programs like Excel and Mathematica. Scripting, be it within a larger software suite or directly with a compiler, is an uncompromisingly powerful tool that has no substitutes.
- Automation: Similar to calculations, but for repetitive tasks. The "for" loop is an incredible invention. Even Photoshop can be programmed to handle tasks automatically.
- Manipulating Data: Computers and servers are also used to store and process huge datasets. Be it scientific data or web traffic, programming is the tool for storing and converting data into useful output.
You may argue that tools don't make someone smarter. But if it involves any of the above activities, then the programmers will have an edge. A competent programmer understands data, understands how to make a computer do their math, and, given input, is capable of generating a desired output. If this doesn't qualify you as "smarter", then I do not know what would.
Programmers are also the only ones that have the capability to extend their brain with the memory and CPU of computers, and manipulate the internet in ways no one else can. There are no substitutes for the skill of programming, and most of the benefits are related to data processing, information, and intelligence.