COMP 3000 Essay 1 2010 Question 4: Difference between revisions
m formatting |
structure edit |
||
Line 8: | Line 8: | ||
=Answer= | =Answer= | ||
== Introduction == | |||
Not so long ago people believed the Earth was a flat world at the center of the universe. This essay addresses a more recent falsehood: that all operating systems are written in assembly language and C. It's not surprising that students of computing in this century would genuflect at the academic altars of Kernighan & Ritchie. After all we grew up with our computer worlds already pre-formed into the conceptual continents of Apple OS, UNIX, and Windows. The more historically curious among us are vaguely aware that other island cultures do exist but they represent civilizations defeated in the marketplace. Explorations into these ancient worlds resemble documentaries about archeologists decoding rediscovered languages etched in stone. But scratch the surface of any of our so-called modern operating systems and you'll find echoes of these ancient languages in our own familiar worlds. Ellen Ullman said it best when she wrote, <blockquote>''We build our computer systems like we build our cities: over time, without a plan, on top of ruins.''</blockquote> | |||
In the sections below we present our explorations into a few truly foundational operating systems. We will also see some brand new ones that prove we stand, as one twelfth century scholar put it, [http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants on the shoulders of giants]. | |||
The following is a short list of operating systems written partially or completely with the given language. We will go into more detail in the language-specific sections below. | The following is a short list of operating systems written partially or completely with the given language. We will go into more detail in the language-specific sections below. | ||
Line 29: | Line 35: | ||
| JavaOS, JNode, JX, Android | | JavaOS, JNode, JX, Android | ||
|} | |} | ||
==Lisp Based== | ==Lisp Based== |
Revision as of 15:05, 9 October 2010
Question
What "operating systems" have been implemented in the following languages: LISP, Modula-3, Smalltalk, Java? To what extent do these systems match the capabilities of operating systems implemented in C and C++?
Team Note (to be removed by delivery date)
Please use the discussion page for any planning and comments.
Answer
Introduction
Not so long ago people believed the Earth was a flat world at the center of the universe. This essay addresses a more recent falsehood: that all operating systems are written in assembly language and C. It's not surprising that students of computing in this century would genuflect at the academic altars of Kernighan & Ritchie. After all we grew up with our computer worlds already pre-formed into the conceptual continents of Apple OS, UNIX, and Windows. The more historically curious among us are vaguely aware that other island cultures do exist but they represent civilizations defeated in the marketplace. Explorations into these ancient worlds resemble documentaries about archeologists decoding rediscovered languages etched in stone. But scratch the surface of any of our so-called modern operating systems and you'll find echoes of these ancient languages in our own familiar worlds. Ellen Ullman said it best when she wrote,
We build our computer systems like we build our cities: over time, without a plan, on top of ruins.
In the sections below we present our explorations into a few truly foundational operating systems. We will also see some brand new ones that prove we stand, as one twelfth century scholar put it, on the shoulders of giants.
The following is a short list of operating systems written partially or completely with the given language. We will go into more detail in the language-specific sections below.
Language | OS List |
---|---|
Lisp | MIT's Lisp Machines, Genera |
Modula-3 | SPIN OS |
Smalltalk | Smalltalk-80 on Xerox Alto, Squeak |
Java | JavaOS, JNode, JX, Android |