“Conversations with computers: Coding as an Art Form”
A continuation of my last post, Coding as Communication. To picture the computer as a living entity; the computer is ready to be put into motion. The list of possible commands is vast and ever changing. When the computer does fail an operation the fault lies on its technological limitations or more likely, the communicator of code. There are many different ways to convey a message to a computer but clarity and precision in coding is paramount. As my last post asserted, Code is the way we speak to our computers. Recently, I have been learning to code in React, a framework of JS, geared toward front-end development. In a sense, I have learned a new “dialect”.
React varies from vanilla JS because it makes adding web components modular and declarative. Simply put, I can build a reusable piece of the puzzle and place it directly where I want, rather than explaining every step, for every action. To dive deeper into my experience with react, I have been able to produce beautiful web pages like my new improved website (daniel-hackworth.com) that would have previously been exceedingly difficult in traditional JS. My most notable takeaway from React is how to use it’s modularity and libraries. Imagine if you are training someone to do a job. You could write your own how-to manuel every time and then you get full control over it. Or you could use an already written how-to manuel, oftentimes, by someone(s) more advanced; though these manuals may become out of date, or surpass your code. The benefits and problems essentially boil down to saving time now vs saving time later.
“Making Living Art”
Software Engineering is an art form like how bees create a hive and ants a network of tunnels. Function and beauty working in tandem; it reminds me of training bonsai trees. You have to prune and style heavily, taking care not to destroy it. Like code, deciding what should stay and what should go, are the lines readable to others, are they vulnerable to bugs. Each branch must be gently but precisely guided to take the proper shape. The program is the tree and it grows as you add to it but must be constantly maintained and formed. When it begins to take shape, it takes time and skill to grow into a finished form. Yet, even in its finished form it must still be maintained. Coding is more forgiving as there is an undo button and ample testing. Even still, there is a necessary emphasis on patience, adaptability and finding the right guidance. There is more to learn than any one human can know.
So far I have been really enjoying this journey, and passionately studying to keep up and learn the newest things. Thus far, I have put most of my effort into learning design and front end development. Starting next week is our delve into back end development. There are many more programming languages that I have yet to study but all have their strengths and weaknesses. Which I hope to discuss in my next post when I have learned more about python.
Top comments (1)
Hello Dan, I truly appreciate your humanized perspective on the essence of being a developer. It's easy to overlook that, despite its close association with technology, coding remains, in a sense, a hands-on activity.
While there are pre-built and automated elements, creating a robust and effective solution often demands customized code tailored to the client.
So yes, coding is indeed an art form, you are completely right!
I wish you great success in your career!