By Charles Zhang
People often ask me why I like to code. The answer is complicated, but I would tell them that coding is an art through which I can represent who I am. Through code, I can contribute to others and make people’s lives better. Through code, I can see the world.
First of all, coding is an art. Many may not think it, but coding is in many ways more expressive than the English language. Every program is a story distinctly tied to its author. Hidden in the lines of code are a record of the way the author thinks and writes. At the surface, there’s the structure. Does the author think linearly, with one statement leading into the next like a conga line? Do they plan it all out, partitioning sections and organizing based on function? Maybe they go with the flow, improvising along the way and adding code as needed.
Next come algorithms. Is the author a perfectionist, forever searching for the most optimal algorithm? Even in empty space you can learn more about the person behind the screen. Space tells us about the author’s organizational skills, if they value space efficiency, or if they like everything to be spread out and easy to read. Space tells us about how much they think about others. Some fill the white space with comments detailing what exactly each line does, while some leave it bare for others to piece together. Combine all these factors, and you end up with a living document; a record of the author’s thoughts and habits.
A common misconception is that programming is just making computer games. Programming is, in fact, much more; in an increasingly technological world, software is quickly becoming the language of innovation, and with just a computer and a few simple tools, anything is possible. Take Google; using databases and algorithms, they single-handedly ushered in a new era of information where anything is available at the touch of a button. Very recently, SpaceX has made incredible progress in the field of rocketry with self landing rocket boosters, all controlled by software. In its essence, programming is about creation and solving problems. At the start of the day, you have a problem. At the end of the day, you end up with not only a solution to that problem, but a piece of art that is useable by others and can enhance their lives.
Most importantly, programming fundamentally changes the way I see the world. When you learn to code, you start questioning the things you take for granted and you try to figure out how they the work. What algorithm did they use to optimize the bus paths based on the traffic data? How would I write the software that controls stoplights across the city? With these questions come not only answers, but possible improvements. I’m constantly thinking of new ideas for apps and programs to make people’s lives better. From an app that would show you building information by pointing your camera at it to an app that uses machine learning and databases to read handwriting and solve complex math problems, the possibilities are endless.
That is why I love coding. Coding is an expressive medium in which I can solve problems and create art that improves the lives of others. The best thing about it? It’s essentially free – anyone can learn to code, and anyone can reap its rewards.
Among other applications, Charles has created an Arduino-based automated maze solving robot, an Android app that measures distance using the accelerometer, and an Apple iOS app, “Ez Jigsaw”, which is published on the Apple App Store. ♦