Today, software helps foster the idea that computers are visual and transparent. Software creates visual interfaces of desktops and folders. It is transparent in a way that makes the computer readable codes into said desktops and folders. Software allows for the invisible (the computer readable codes) to become visible (visual interfaces) and also renders the visible to become invisible (all the users and programmers see is what is presented by the software on the monitor).
Before software existed, in the 1940s, human operators participated in direct programming, “making connections, setting switches, and inputting values” (28). In order to decrease programming time, John von Neumann suggested the switch to store-program computers, eliminating the need to rewire the machines every time to run a new program. This switch to store-program computers was largely reliant on women. There presumption that the role of women in computation can be replaced by machines. However, most operators were young women, like the member of the Women’s Royal Naval Service, with mathematic background. To say these women follow the commands repetitively like a computer blindly follows a program is unfair. Women operators must put together the instructions, interpret and learn from previous commands.
This distorted belief was brought to light as the “desire to reuse code and to recruit the computer into its own operation” gave way to automatic programming (29). However, early programmers of software found it difficult to write machine codes because of the tedious steps involved. A programmer must write discrete instructions. In a way, the ability of the women programmers to decipher the commands was taken for granted. The success of automatic programming helped develop higher-level programming language (which includes more abstract and less tedious steps) and high power machines. Higher-level programming languages created a more open system with computers since, unlike assembly language, can run on more than one machine. The beginning of higher-level programming language furthers in hiding the machine, allowing programmers to use the language instead of the machine codes that drives the actual machine.
The opening of the system and software engineering moved programming away from being a craft profession. As a development of opening the system, structured programming developed. Structure programming “secures” the program by allowing data abstraction, which further hides the machine by restricting knowledge on the programmer’s part. It lumps “minor steps” into modules as to reduce errors on the programmer’s part.
We accept a visual program, run by a software, because we take pleasure in causality, knowing that certain actions will occur. In order to have absolute power to generate whatever it is on the screen, a programmer must follow the laws of a programming language. However, what we see on the monitor, whether it is the microworlds or just folders on the desktop, is not what it actually is, the codes running the software. Software makes the invisible codes and technical operations visible (again, whether as the microworlds or as icons on a desktop). We accept the ideology of software out of our constant practice of clicking on the icons on the desktops, even though we might not realize that they are only visual representations of machine codes in the software.
Today, we accept the ideology as presented by software. We allow software to condition us by creating “certain expectations about cause and effect” (47). However, by accepting this ideology, software has opened up the opportunities of computing to many people. The understanding of computers as non-visual and non-transparent still rest with a small group of craft programmers who understand the machines’ complex command language. The visual culture and apparent transparency created by software contributes to the common, albeit ignorant, use of computers.