"<p>Have you ever seen Mr. Robot? It's quite an interesting tv series.</p> <p>Anyways, I hate to ruin it by giving up spoilers!</p> <p>Even if you have not seen this series before, its name must have gotten your attention, hasn't it? and you have guessed that it is about a <strong>programmer</strong>!</p> <p>Why is that? may I ask? Why do most people see programmers as robots who copy & paste some code, and spend the whole day doing boring tasks?</p> <p>If you too have this perception about programmers, then I am sure this short blog will change it.</p> <p>I had once read this quote while roaming around the Internet:</p> <blockquote> <p><span class="marker">"Programmers are the bridge between the brightest of ideas and the stupidest of machines. "</span></p> </blockquote> <p>In my (limited and non-professional) experience, such a function can not in any way be executed without creativity. To be honest, I believe that there is not a single job on earth that does not need the least amount of innovation. The barista in your favorite café shop is creative: coming up with new recipes now and then, the bus driver is creative: figuring out new short-cuts and amusing passengers, your doctor is creative; coming up with personalized words just for you so that they don't hurt your feelings, accountants are creative: inventing new ways to work with new issues,... and the list goes on.</p> <p>It's more apt to think of programming in terms of language. Let's say you learned Spanish, you can use the words you learned in creative ways like communicating the language difference you stumbled upon funnily, or you can just memorize some vocabulary and that's it! The same applies to programming: with knowledge of a programming language, you could create a masterpiece of a game, or you could do the same boring tasks you're asked to do.</p> <h1><strong>How Is Programming Creative?</strong></h1> <p><a href="https://i.postimg.cc/63QLpNTV/3-reasons.png"><img alt="How Is Programming Creative" src="https://i.postimg.cc/63QLpNTV/3-reasons.png" /></a></p> <p>Here are 3 Reasons Why Programming Requires Creativity:</p> <h2><strong>1. What to Program</strong></h2> <ul> <li> <p>Isn't figuring out how to use code to solve problems a creative task? Implementing that programming language and applying it to real-life situations is not something a textbook can teach you, it is a way of thinking, of perceiving reality.</p> </li> <li> <p>Programmers not only come up with new languages, but they are constantly coming up with new ideas that never cease to amaze us. How is that anything but creative?</p> </li> </ul> <p>If you're still doubting it, why don't you have a look at these <a href="https://www.editorx.com/shaping-design/article/creative-coding" target="_blank">10 innovative creative coding examples that are redefining programming</a>?</p> <h2><strong>2. How to Program</strong></h2> <p>Let's go back to the language comparison status, does knowing a language mean that you can be a writer? or a poet? Absolutely no! Writing requires skills beyond knowing one language, it requires infinite creativity, sensitivity, and unbounded imagination,... you get the point right? If programming wasn't creative, anyone who knows how to write code would be inventing new methods, but that is not the case.</p> <p>What if the code isn't functioning, what if your program isn't compiling? Yes, there may be already solutions to some bugs on the internet; however, there are countless ways a problem might occur, and the one to come up with the/a solution is usually the one who made the program in the first place.</p> <p>So yes, figuring out tricks and techniques to make their code run faster and consume less memory, is considered Technical Creativity.</p> <h2><strong>3. How to Explain the Program</strong></h2> <p>When I first started coding, I assumed that my code is only for my computer to "understand". Then, I remember I once worked on a project with my classmate, so I sent her my part of the code, which, was perfect. Even though my code was functioning without a single error, a friend could not resume the work, why?</p> <p>Because she did not understand it? Oh, that's just arrogant!</p> <p>It's because I failed to make it understandable!</p> <p>That's when I realized that my program does not only have to function but to be understandable by anyone reading it. And I am not going to lie, it requires a lot of creativity to figure out how to write such clear and executable code.</p> <p>I stumbled upon this comment on an online forum and it caught my attention:</p> <p>"I once had a professor when I was in college tell me that any good code should never need any comments."</p> <p>If it was as simple as writing some comments, anyone could have done it, but it is not.</p> <p>Here is a simple illustration of what I mean:</p> <p>Instead of:</p> <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px">if (starColour.red > 200 && starColour.blue > 200 && starColour.green > 200){<br />    doSomething();<br /> }</div> <p>A readable code would be:</p> <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px"> <p><code>bool starIsBright;<br /> starIsBright = (starColour.red > 200 && starColour.blue > 200 && starColour.green > 200);</code></p> <p>if(starIsBright){<br />    doSomething();<br /> }</p> </div> <h1><strong>Conclusion</strong></h1> <p>We conclude that: even though there are programmers who copy & paste blocks of code, sometimes as part of the optimization process, the act of solving a problem (what to program) using code (how to program) that is readable and understandable by other programmers (how to explain the program) is nothing but creative.</p> <p>What do you think? Would you consider programming as creative? Do you consider yourself a creative programmer?</p> <p>Share your opinion in the comment section below.</p>"