DEV Community

Cover image for Expanded literacy and the current state of software
Felipe Bosi
Felipe Bosi

Posted on

Expanded literacy and the current state of software

While reading Soon’s and Cox’s Aesthetic Programming book, I was faced with the “expanded literacy” concept that made me think on how different people see software.

Expanded literacy is the ability to write and read expanded with the ability to understand code. This extra literacy is linked to a better understanding of digital media and how our communication is being enhanced by new forms of writing languages. New languages that communicate both with programmers and that starts an action on a machine or online system.

Understanding how a computer and code works is one of the things that separates people that see software, AI, and similar things as a magical black box that can do anything that you want without any costs from the ones that understand the limits and costs of technology. Any software works on a set of commands that programmers give to a computer and the computer obeys them exactly as it is written. AI If you want to see this in a more visual and comical way, take a look at Josh Darnit’s video:

This is even true to Large Language Model and generative AI. For these cases, you can imagine that we have a program that generates a program/code based on the training data that it receives. This has a large cost on energy and manual work to tell the model what is correct and what is wrong, otherwise you'll end up telling your users that “Doctors recommend smoking 2-3 cigarettes per day during pregnancy.”.

Coming back to the expanded literacy idea, programmers know that a code written by a programmer, specially a senior one, has better performance and readability than a machine generated one. In non-coder terms, this means that a code written by someone costs less energy and we can understand better what it means and fix it, not only in terms of bugs that break the app, but also in terms of ethical consequences, like biased AI, people being able to use AI to teach them to build weapons or getting away with crimes ( For more read: "AI has a racism problem, but fixing it is complicated, say experts" and "Could a Chatbot Teach You How to Build a Dirty Bomb?"), or even hallucinations and strait up lies.

AI is a hot topic these days, but let’s focus on expanded literacy and differences between coders and non-coders that impacts everyone.

One thing that you'll see that is common among developers is that the “user doesn't care about the language that is used to build something” or “the best language is the one that pays my bills”, and I would say that both are correct. But that is only because the user doesn't have code literacy. However, the final user is directly impacted by the code, language and technology choices that we make. Even financially. The users start to feel that their computer or phone is “getting slower” and decide to buy a new one. Some of this can be credited to hardware getting older, but a lot more can be credited to these language, framework, paradigm and technology selection.

Although the user doesn't care about how we build the software that they use, this impacts how long a piece of hardware will survive, the amount of energy we use from their battery, and even the speed in which an action will take (for a detailed study, go to "Ranking programming languages by energy efficiency"). While users don't care about how software is made, most companies will try to cut corners and sell slow software as “blazing fast”. A term familiar to programmers, that in reality can mean anything from very slow to really fast, only the programmers that can check what is under the hood can tell which it is.

While users keep avoiding learning how computers and software works, companies will do their best to achieve a better revenue at the cost of the user's own money and our environment. Selling fake promises of a future where anything can be generated using natural language at low cost, while in reality we are forced to buy new computers and phones to keep up with trends we never asked for and that we don’t get any benefits from.

Top comments (0)