Hi, I'm Seth! I like interesting stuff. Read my article or perish.
A Work of Fiction
In ancient days, authors
used language to write books for other writers. Education was scarce, and if you could read - you could write, too. It was a valuable economic skill and would not be wasted merely reading - create, goddamnit!
In the years preceeding the Apocalyptic Gargoyle Invasion (aka A.G.I.), a new type of book was engineered that would transform the United Continents of Htrae forever: a magical vessel, imbued with the powers of lightning and fire. The author
, now, had a new tool at their disposal; and thus became a new entity entirely: the mage
.
A mage
was, ultimately, similar to an author because they used fancy books to describe problems for humans. The biggest barrier of entry, however, was the language used to express their arcane ideas. It was dissimilar to the common tongues of the time, full of strange symbols and vibrant colors.
an.example ? would("look") : like("this");
Imagine writing a book that describes a large problem to your reader, except the book itself is able to solve the problem just given your description of it.
The art of magecraft is to build literature such that the problems described are understandable by humans, but also lenient on the machines that run them.
That is what separates a well-written book from a poor one; a wizened mage from the scrappy apprentice.
In case you didn't catch it:
- authors are, literally, authors
- mages are programmers
- magic books are computers
Ethics in Programming
Its far too easy to assume that if the reader understands computer code, then they must be able to simulate the workings of a computer inside their head. Code doesn't have to be pretty, it just has to work. This is prone to the same flaws as thick academic literature:
it doesn't matter how interesting the topic is, nobody will find it interesting if they can't read it.
When writing (code), place the reader first. Always. To progress in your programming skills means to learn new patterns and structures that allow you to communicate large, complex ideas elegantly - while being lenient on the machine that is destined to run them.
Final Thoughts
Have I met the goal outlined in the previous section? I don't know. The article itself is thoroughly dense, and less accessible because of it. My coding style is getting better, but still appears a garbled mess.
This article is not a reflection of my employer's values, nor my status as a programmer.
It is merely an expression of thought.
If you found this interesting let me know.
You can find me on github at https://github.com/stickyfingies.
Top comments (0)