I have described coding as a blue-collar venture, but there are other ways to view it as well. Here are some models to conceive of code.


The Bricks-for-a-House or Blue-Collar Model — which is the above-described theory, which I advanced in my article The Beautiful, Blue-Collar Nature of Code. Code is the building blocks for a grander structure, and that’s the limit of its function. Beauty derived from the coding process is beauty emanating not from code, but from the initial problem to be solved.


The Languages Model — proposed by Mr. Raul Hernandez, a good friend — in which coding languages (CLs) are akin to human languages (HLs). Different CLs convey the same function through different syntax, as do different HLs the same meaning. There exists dialects in both: JavaScript and TypeScript, Portuguese and Spanish. In this way, once one learns a certain programming language, the others can be thought of as creating the same commands in different syntax. After all, broadly speaking, what can be done in CL A can also be done in CL B—such is the function of compilers and translators. This is of course true with HLs too. Many features of CLs, e.g. different types of errors, have analogs in HLs, e.g. different grammar issues. This model has the advantage of inspiring HL learners to quickly pick up on CLs and realize that CLs are mostly superficially different from each other.


The Physical Instantiation Model — proposed by Dr. Andrew Wang, my CS advisor — in which coding takes a problem, conceptual or mathematical, and realizes it by producing an answer, which can range from a simple number to plots and videos. This is similar to the Bricks-for-a-House model, as we sketch a blueprint, then build the blueprint into physical form. In this way, coding has a blue-collar nature, as it is akin to physically building.


The Technical Writing Model — proposed by Dr. Andrew Wang — in which coding is similar to writing: when one writes a function, and when one writes an essay or story. In the same way that writing stimulates the mind and puts forth an interpretation of a topic, so too does code: execution of a function. Strategic revision of writing—keeping an overall flow, being concise and precise, and adding sparkles—is akin to revising code: well-compartmentalized and easy to understand. This model couples well with the languages model, and inspires one to examine coding strategically, as if one has the command of the full palette of words or keywords and selects the best ones.