-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
124 lines (102 loc) · 6.97 KB
/
index.html
File metadata and controls
124 lines (102 loc) · 6.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The disc Programming Language -- What is it?</title>
<link rel="stylesheet" href="./styles/bootstrap.min.css">
<link rel="stylesheet" href="./styles/styles.css">
</head>
<body id="home">
<header class="container">
<h1>The <em>disc</em> Language</h1>
<nav class="nav navbar">
<ul class="nav-list text-center">
<li><a href="./" id="home-link">home</a></li>
<li><a href="./getting-started/" id="getting-started-link">getting started</a></li>
<li><a href="./build.html" id="build-link">create something</a></li>
<li><a href="./command-reference.html" id="command-reference-link">language reference</a></li>
<li><a href="./about.html" id="about-link">about <em>disc</em> lang design</a></li>
</ul>
</nav>
</header>
<div class="container">
<h2>What is <em>disc</em>?</h2>
<h3>An unprofessional language</h3>
<p>
The <em>disc</em> 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 <em>disc</em> is to use very few non-word
characters, and opt for full words rather than abbreviations. This does not mean <em>disc</em> is particularly
verbose. Unlike a language like COBOL, <em>disc</em> is designed to be simple in design.
</p>
<p>
The classic "Hello World" program in <em>disc</em> is only slightly more wordy than the same code in Python.
</p>
<pre class="code">
begin
print: "Hello, World!"
end
</pre>
<p>
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.
</p>
<h3>An experiment in programming</h3>
<p>
The disc language is an experiment. The goal of <em>disc</em> 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?
</p>
<p>
Through <a href="https://twitter.com/Felienne" target="_blank">Dr. Felienne Hermans</a> I was introduced to the concept of <a href="https://www.felienne.com/archives/5947" target="_blank">code phonology</a> 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.
</p>
<p>
<a href="https://twitter.com/joymlrankin" target="_blank">Dr. Joy Lisi Rankin</a> wrote a book called "<a href="https://bookshop.org/books/a-people-s-history-of-computing-in-the-united-states/9780674970977" target="_blank">A People's History of Computing in the United States</a>." 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.
</p>
<p>
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.
</p>
<p>
The ubiquity of the web browser is what brought me, ultimately, to developing the <em>disc</em> programming language
in the end. Inspired by the teletype systems connected to the Dartmouth time-shared computer -- and where
<em>disc</em> 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 <em>disc</em>, 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.
</p>
<p>
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.
</p>
<p>
This brings us full circle. Why <em>disc</em>?
</p>
<p>
The entire purpose of <em>disc</em> 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 <em>disc</em> 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.
</p>
</div>
</body>
</html>