packbat: An anthro copper dragon playing music on a small MIDI controller keyboard. (packdragon midi)
packbat ([personal profile] packbat) wrote2024-05-10 12:03 pm

word processing is a programming language (Indiepocalypse Social thread rewrite)

A couple weeks ago, in a fit of frustration about not understanding object-oriented programming, we read several articles from the August 1981 issue of Byte Magazine explaining Smalltalk. One of those, "Is the Smalltalk-80 System for Children?" by Adele Goldberg and Joan Ross, contained this passage:

Contrary to the idea that a computer is exciting because the programmer can create something from seemingly nothing, our users were shown that a computer is exciting because it can be a vast storehouse of already existing ideas (models) that can be retrieved and modified for the user's personal needs. Programming could be viewed and enjoyed as an evolutionary rather than a revolutionary act. The frustration of long hours of writing linear streams of code and then hoping to see some aspect of that code execute was replaced by incremental development. Emphasis was placed on learning how to make effective use of existing system components (objects in the Smalltalk sense). Much of the teaching we did was to show users how to search for and read the descriptions of the many useful components we and others (and even new users) continued to add to the system.

Using resources within an already-powerful system is a highly effective and rewarding form of programming, and understanding that it is programming allows users to program more effectively within these systems.

We bring this up because, when you create a formatted document using a modern word processor, this is what you are doing: you are simultaneously creating data and creating instructions for how that data should be processed. (That's why it's called a word processor: it is doing work to convert the words into a format where they can be comfortably accessed.) When the Accessibility Awareness disabled.social account talks about using paragraph styles, it is because you, by using these library functions, allow other document interpreters – like screen readers and keyboard shortcut tools – to execute their own versions of these library functions and therefore process the data more usefully.

Obviously, word processing programming languages are special-purpose, like the bespoke forks of Lua implemented in fantasy consoles and game engines, or the Personal Home Page tool that some folks use for managing websites. It is a vast storehouse of already-existing components, designed to support its specific purpose.

…and we are dwelling on this thought today because we know many users of word-processing tools who do not avail themselves of these existing functions. And because we think this is, in part, because using these functions comfortably requires a degree of philosophical understanding of computers – an ability to learn a computer's language and translate your intentions into it.

As sighted writers, we are well familiar with the idea of marking off sections by having some big text at the top … but the idea that you can directly communicate, below the level of visibility, that a specific block of text is a section heading? And that the bigness of the text should happen not because you chose it, but because you chose to invisibly designate a line of text as heading?

That's a programming mindset.

And you have to learn that.

(original thread.)