The disc Language

What is disc?

An unprofessional language

The disc programming language is a simplified language designed to be easily read and understood by beginner programmers. It is designed to be easy to learn and use. The preference in disc is to use very few non-word characters, and opt for full words rather than abbreviations. This does not mean disc is particularly verbose. Unlike a language like COBOL, disc is designed to be simple in design.

The classic "Hello World" program in disc is only slightly more wordy than the same code in Python.

begin
    print: "Hello, World!"
end
        

The begin and end keywords are designed to give the beginner a sense of code blocks. In fact, the entire language is designed to provide a platform for the learner to both develop a core sense of common language structures, as well as a clear path to verbalizing information about a program they are writing.

An experiment in programming

The disc language is an experiment. The goal of disc is to explore what it means for a programming language to truly be a human interface for interacting with a programmable computing environment. That's a bunch of fancy computer talk for, what if programming languages were a little more human to begin with?

Through Dr. Felienne Hermans I was introduced to the concept of code phonology with her talks, and written work on the topic. Specifically, she has explored the ways in which people are affected by pronouncing the source code for a program, and how it changes learning. This got me thinking about the ways in which I could modify the way I code, such that it is easier for people to immediately convert the source from text on the screen to spoken communication.

Dr. Joy Lisi Rankin wrote a book called "A People's History of Computing in the United States." This work is my second inspiration. She discusses the development of programming in the United States from the perspective of a popular behavior, rather than a purely professional endeavor. The story begins at Dartmouth in the 1960s, with the invention of time-shared computing and the development of the BASIC programming language.

The work at Dartmouth, and the interactive computing that was facilitated by BASIC, when input from a teletype got me thinking about the part of programming that we lost somewhere along the way. People discuss what a first programming language should be and they bounce from Python, to Javascript, to Java, C#, and back again. None of these languages are particularly friendly for someone who has never programmed before. Even with the ubiquity of Javascript, the bar is just too high. The languages are too complicated, the setup is too technical, and the experience is simply too much for someone who is looking for a first taste of writing a program.

The ubiquity of the web browser is what brought me, ultimately, to developing the disc programming language in the end. Inspired by the teletype systems connected to the Dartmouth time-shared computer -- and where disc gets its name "Dartmouth Inspired Simplified Computing" -- I wondered if it would be possible to create a programming language that was simplified, but could still run completely within the browser environment. This led to the creation of disc, written completely in Javascript, and able to be run in the browser even when a computer is disconnected from the network. The browser is the complete computing environment.

Another consideration I had is, I recall hearing about people in Nigeria learning to program. Their experience is radically different than my own. Some of them actually pursued learning programming exclusively on a smart phone. They don't have development machines readily available, and programming languages typically use a large number of characters which are not part of the standard keyboard. This means the budding programmers are forced to constantly switch between keyboard views on their phone in order to even write simple programs. This seemed to me to be a bridge too far for people who are trying to overcome thier current situations and move into a new field of work. Programming is simply inaccessible for some.

This brings us full circle. Why disc?

The entire purpose of disc is to be a beginner-friendly, simplified programming system for people who want to discover programmatic computing without the overhead, and cost, of a development computer, a stable internet connection, or access to a sufficiently sophisticated keyboard as to have all the special characters necessary for writing in a more complicated language. The disc language is intended to be read aloud, and apply words for logical concepts we already have built into the way we talk with each other every day.