the origins of software · 2006. 10. 25. · laning & zierler: mit whirlwind fiinterpretive...
TRANSCRIPT
The
Origin
s of
Soft
war
e
©2006 b
y Arm
ando F
ox,
UC B
erke
ley
RAD
Lab
Perm
issi
on g
rante
d t
o r
epro
duce
for
acad
emic
& p
erso
nal
use
if th
is a
ttribution is
pre
serv
ed.
Dis
clai
mer
s
�I
was
n�t t
her
e w
hen
it
hap
pen
ed
�N
ot
an e
xhau
stiv
e su
rvey
of
com
puting h
isto
ry
�Id
eas
and t
erm
s w
e�ll
use
to d
escr
ibe
thes
e ev
ents
are
applie
d in r
etro
spec
t
�Your
mile
age
may
var
y
�O
rgan
izat
ion
�Key
inte
llect
ual
conce
pts
�In
fluen
tial
peo
ple
& a
rtifac
ts (
har
d t
o s
epar
ate!
)�
Wid
er im
pact
�co
mm
erci
al,
soci
al,
inte
llect
ual
What
is
soft
war
e?
What
is
soft
war
e?
�Soft
war
e is
info
rmat
ion
�Soft
war
e is
a m
achin
e
�sy
mbolic
repre
senta
tion o
f so
me
task
to b
e per
form
ed b
y a
phys
ical
dev
ice
�..
.im
plie
s a
voca
bula
ry�
but
what
are
the
elem
ents
of
the
voca
bula
ry?
Jacq
uar
d loom
(1804)
�D
iffe
rent
thre
ads
att
ached
to
diffe
rent
spools
�H
ooks
dro
p d
ow
n,
�cat
ch�
and
pull
thre
ad t
hru
hole
in c
ard
�N
o h
ole
in c
ard =
> h
ook
is
blo
cked
and n
o w
eave
occ
urs
Edge-
on s
chem
atic
vie
w o
f ca
rd:
3 a
spec
ts o
f so
ftw
are
�Lo
gic
al s
truct
ure
:th
e pat
tern
of
hole
s in
the
card
�d
escr
ibe�
what
the
finis
hed
tex
tile
looks
lik
e�
Rep
rese
nta
tion:
if w
e kn
ew t
he
card
siz
e, c
ould
en
code
a w
eave
as
a bin
ary
string
�H
ere
is 0
10110
�W
hy
wou
ld w
e nee
d t
o kn
ow
card
dim
ensi
ons?
�Rel
atio
nsh
ip t
o s
truct
ure
of
phys
ical
dev
ice
�Posi
tionin
g o
f hole
s =
= p
osi
tionin
g o
f w
eavi
ng h
ooks
�Spee
d o
f fe
edin
g c
ards
==
spee
d o
f m
ovi
ng s
hutt
le�
Car
d is
use
less
without
know
ing m
achin
e geo
met
ry,
how
diffe
rent
thre
ad s
pools
are
ord
ered
, et
c.�
Anal
ogy:
rec
ord
s/re
cord
pla
yers
, CD
�s/c
dpla
yers
...
Evo
lution o
f so
ftw
are
loose
ned
thes
e as
soci
atio
ns.
Soft
war
e is
how
you t
ell th
e dev
ice
what
to d
o�
A s
elf-
conta
ined
rep
rese
nta
tion o
f �i
nst
ruct
ions�
for
a m
achin
e des
igned
to
follo
w t
hem
�pre
-EN
IAC:
spec
ial purp
ose
dev
ices
, �s
oft
war
e�m
irro
rs p
hys
ical
org
aniz
atio
n�
Jacq
uar
d loom
, 1850 H
olle
rith
Cen
sus
mac
hin
e, m
echan
ical
cal
cula
tors
�c.
EN
IAC:
conce
pt
of log
ical
org
aniz
atio
nof
dev
ice
beg
ins
to p
redom
inat
e
�post
-EN
IAC:
ass
embly
languag
e�
phys
ical
configura
tion�
invi
sible
to p
rogra
mm
er�
but
asse
mbly
lan
guag
e co
nst
ruct
s st
ill m
irro
r har
dw
are
org
aniz
atio
n
�Fu
lly m
oder
n s
oft
war
e: lar
gel
y in
dep
enden
t of
har
dw
are
�Q
uas
i-hum
an-r
eadab
le r
epre
senta
tion
�Rel
y on
com
pile
rs a
nd inte
rpre
ters
to b
ridge
gap
to a
ssem
bly
lan
guag
e
Bab
bag
e, L
ove
lace
& t
he
Anal
ytic
al E
ngin
e (~
1837)
�Pre
curs
or:
Diffe
rence
Engin
e�
Com
pute
s poly
nom
ials
(fo
r bal
listics
ca
lcula
tions)
usi
ng �
met
hod o
f diffe
rence
s�,
whic
h r
equires
no
multip
lyin
g o
r div
idin
g�
Firs
t G
ov�
t(m
ilita
ry)
gra
nt
for
com
pute
r re
sear
ch,
budget
ove
rrun,
unfinis
hed
pro
ject
�Ess
ential
ly a
fix
ed-p
urp
ose
cal
cula
tor
�Anal
ytic
al E
ngin
e: p
rogra
mm
able
ca
lcula
tor
��I
nst
ruct
ion c
ards�
and �
variab
le c
ards�
��M
ill�
(CPU
) an
d �
store
�(m
emor
y)�
Inst
ruct
ions:
Load
, Sto
re,
arithm
etic
ops,
co
nditio
nal
, fo
rwar
d/b
ackw
ard jum
p (
skip
fo
rwar
d/b
ackw
ard in c
ard r
eader
), s
ubro
utine�
all el
emen
ts o
f m
oder
n c
om
pute
rs�
Nev
er b
uilt
until
Ada
Love
lace
, th
e firs
t pro
gra
mm
er (
1815-1
852)
�Brilli
ant
and m
athem
atic
ally
pre
coci
ous
dau
ghte
r of
(d
ivorc
ed)
Lord
Byr
on
�at
tended
soci
ety
�sal
ons�
due
to h
er s
oci
al s
tatu
s as
th
e �C
ounte
ss o
f Lo
vela
ce�
�bec
ame
Bab
bag
e�s
pro
tégé
afte
r bec
om
ing f
asci
nat
ed
with D
iffe
rence
Engin
e at
his
sal
on
�O
ne
of t
he
few
who u
nder
stood A
E�s
pote
ntial
�D
evis
ed A
nal
ytic
al E
ngin
e pro
cedure
for
com
puting
Ber
noulli
num
ber
s�
Like
ly t
he
worl
d�s
fir
st c
om
pute
r pro
gra
m
�Rec
ogniz
ed t
he
poss
ibili
ty for
sym
bolic
co
mputa
tion
at
a tim
e w
hen
few
eve
n u
nder
stood
what
that
mea
nt
�(I
t m
eans
AI,
gra
phic
s, M
P3 p
layb
ack,
tex
t pro
cess
ing,
Web
sea
rch,
...)
�Rew
ard:
an ill-
regar
ded
lan
guag
e nam
ed for
her
The
Legac
y of
the
Cal
cula
tor
�D
ates
bac
k th
ru Z
use
, Bab
bag
e, P
asca
l, e
tc.
�1645:
Bla
ise
Pasc
al c
onst
ruct
s firs
t tr
ue
mec
han
ical
ca
lcula
tor
�Rew
ard:
an ill-
regar
ded
lan
guag
e nam
ed for
him
�M
ilita
ry h
as a
lway
s bee
n d
rivi
ng f
orc
e�
Solv
ing b
allis
tics
equat
ions
requires
eva
luat
ing n
ontr
ivia
l poly
nom
ials
, ta
king s
quar
e ro
ots
, et
c.
��D
iffe
rential
anal
yzer
s�an
d o
ther
anal
og
elec
trom
echan
ical
cal
cula
tors
wer
e cu
rren
t tr
end
�Bas
ed o
n p
hys
ical
pro
per
ties
of ca
pac
itiv
e an
d induct
ive
elec
tric
al e
lem
ents
�Id
ea o
f a
dig
ital
com
pute
r buck
ed t
hat
tren
d�
�Soft
war
e�=
pla
n f
or
doi
ng a
com
ple
x ca
lcuat
ion
EN
IAC (
1945)
�Ele
ctro
nic
alN
um
eric
al I
nte
gra
tor
And C
alcu
lato
r built
for
US m
ilita
ry a
t M
oore
Sch
ool of
Engin
eeri
ng,
UPen
n�
Ele
ctro
nic
vac
uum
-tube
reim
ple
men
tation o
f se
quen
ceab
leca
lcula
tor
�Fu
nct
ional
units:
multip
lier,
div
ider
, sq
uar
e ro
ot�
20 A
ccum
ula
tors
, ea
ch c
an h
old
10-d
igit 1
0�s
-co
mple
men
t num
ber
(ab
out
4.3
byt
es,
so <
100 b
ytes
to
tal)
�Const
ant
tran
smitte
r (f
rom
dia
ls o
r punch
car
ds)
�Cyc
ling u
nit (
clock
)
�in
ter
ms
of pro
gra
mm
abili
ty,
arguab
ly les
s flex
ible
than
the
Anal
ytic
al E
ngin
e!
EN
IAC:
built
1937-1
945,
dec
om
mis
sioned
1955
�42 p
anel
s, e
ach 9
�x2�x
1�, ~
200 t
ons
�H
ouse
d in r
are
forc
ed-a
ir-c
oole
d b
uild
ing
�19,0
00+
vac
uum
tubes
, 1500 r
elay
s�
3,0
00 input
switch
es�
Man
ual
cab
ling -
setu
p c
ould
tak
e day
s�
Additio
n c
ycle
0.2
ms
(5 K
Hz)
, 1000x
fast
er t
han
Diffe
rential
Anal
yzer
What
would
EN
IAC
�soft
war
e�be
like?
�Consi
der
3 t
rain
ed m
onke
ys w
ith c
alcu
lato
rs�
2 c
an o
nly
add/s
ubtr
act;
3rd
can
als
o m
ultip
ly,÷
, √
�Eac
h m
onke
y lo
oks
at
a co
lore
d lam
p t
o t
ell him
w
hat
to d
o:
�Show
his
cal
cula
tor
scre
en t
o an
oth
er s
pec
ific
monke
y�
Add
num
ber
show
n t
o h
im t
o n
um
ber
on h
is s
cree
n�
Rep
lace
his
num
ber
with n
um
ber
writt
en o
n b
lack
boar
d
�G
oal
: co
mpute
�D
eliv
erab
le:
step
-by-
step
lis
t of
lam
p-l
ightings
and
what
goes
on b
lack
boar
d a
t ea
ch s
tep
x=(−
b+b2
−4a
c)2a
�Pro
gra
mm
ing�
EN
IAC
�D
ata
bus
is n
ot
real
ly a
bus�
just
a c
able
tra
y�
Tru
e par
alle
lism
: VLI
W F
rom
Hel
l
�Pro
gra
mm
ing�
EN
IAC,
#2
�Ex:
com
pute
(a�
b),
(b+
359),
(c+
2b+
359)
1.
A4
←ad
d 1
0�s
com
p.
of A
5 (
A4=
a-b)
A6
←A5 o
n α
(A6=
c+b)
2.
A6
←A5 o
n α
, si
nce
A5 R
epCount=
2 (
A6+
=b)
3.
A5
←359 o
n β
connec
tor
(A5+
=359)
A6
←359 o
n β
connec
tor
(A6+
=359)
4.
End s
tate
: A4=
a-b,
A5=
b+
359,
A6=
c+2b+
359
EN
IAC�s
contr
ibutions
&
signific
ance
�N
ote
wort
hy.
..�
Tru
e par
alle
l ad
ditio
n (
thin
k: t
he
VLI
W F
rom
Hel
l)�
His
torica
l origin
of �a
ccum
ula
tor�
�re
flec
ts c
alcu
lato
r le
gac
y
�Eas
y to
see
lea
p t
o d
ata-
bus-
bas
ed a
rchitec
ture
w
ith t
rue
mic
roco
de
�EN
IAC:
connec
t sp
ecific
inputs
to o
utp
uts
with h
ardw
ired
ca
ble
s; d
iffe
rent
for
each
pro
ble
m t
o b
e so
lved
�tr
ue
dat
a bus:
outp
ut
from
any
unit a
vaila
ble
to
all;
oper
atio
n b
eing p
erfo
rmed
sel
ects
whic
h o
ne
read
s
�M
IT W
hirlw
ind c
om
pute
r an
d M
ark
I ca
lcula
tor
�punch
car
ds
wou
ld b
e use
d t
o do t
his
sel
ection:
hole
s in
ca
rds
route
outp
uts
to inputs
and s
elec
t oper
atio
ns
�hole
pat
tern
s on
car
d c
an b
e in
terp
rete
d a
s dat
a
Ram
ific
atio
ns
of
mac
hin
e la
nguag
e co
nce
pt
Deep
in
sig
ht:
Pro
gra
ms
Are
Data
�Seq
uen
ces
of
1�s
and 0
�s t
o a
ctiv
ate
mac
hin
e el
emen
ts <
=>
bin
ary
repre
senta
tions
of
num
ber
s�
Pra
ctic
al im
plica
tio
n:
pro
gra
m t
o b
e ex
ecute
d
can b
e st
ore
d in t
he
sam
e m
ediu
m a
s th
e dat
a on
whic
h it
oper
ates
(�s
tore
d-p
rogra
m c
om
pute
r�)
�Jo
hn V
on N
eum
ann u
nfa
irly
cre
dited
with idea
�N
on
-ob
vio
us
bu
t d
eep
im
plica
tio
n:
pro
gra
m
itse
lf c
an b
e oper
ated
on lik
e dat
a
Ala
n T
uring:
A f
orm
al m
odel
of
com
puta
tion (
1936)
�Turing m
achin
e: �
esse
nce
�of
com
puting
�Eas
y-to
-under
stan
d v
ersi
on:
Finite
stat
e m
achin
e�
Mac
hin
e�s
nex
t beh
avio
r dep
ends
only
on
curr
ent
stat
e an
d c
urr
ent
inputs
.�
Exa
mple
: 6-s
tate
FSM
for
25-c
ent
vendin
g
mac
hin
e th
at t
akes
nic
kels
and d
imes
�Slig
htly
har
der
to
under
stan
d v
ersi
on:
�In
finite
paper
tap
e div
ided
into
cel
ls h
old
ing
one
sym
bol ea
ch�
Head
exam
ines
one
cell
at a
tim
e an
d c
an
move
lef
t/right
�Tab
le o
f in
stru
ctio
ns:
�If
in s
tate
X,
and
sym
bol under
tap
e is
∑,
eras
e/w
rite
a
sym
bol [o
n t
he
tape]
, m
ove
Left
(or
Rig
ht)
, an
d e
nte
r st
ate
Y.�
�M
achin
e def
initio
n is
a finite-
length
lis
t of
tu
ple
s<
X, ∑
, Wri
te, M
ove,
Nex
t-sta
te>
that
can
be
repre
sente
d n
um
eric
ally
S 5 10
25 20 15
REJECT-COIN
DISPENSE-
CANDY
Implic
atio
ns:
Com
puta
bili
ty
Theo
ry a
nd U
niv
ersa
lity
�Pro
gra
ms
as d
ata:
can
subje
ct t
hem
to form
al m
anip
ula
tion
and a
nal
ysis
�Fa
mou
s re
sult:
Univ
ersa
lity,
Turing c
omple
tenes
s�
Giv
ena
des
crip
tion (
tran
scri
bed
to �
paper
tape�
) of
a par
ticu
lar
turing
mac
hin
e M
,�
one
can c
onst
ruct
a �u
niv
ersa
l�Turi
ng m
achin
e U
TM
that
can
re
ad t
hat
tape
and b
ehav
e ex
actly
as M
would
.
�Pr
actica
l im
port
ance
: phys
ical
com
pute
r w
ith p
roper
ties
of a
UTM
is
just
as
pow
erfu
l (i
n a
theo
retica
l se
nse
) as
any
oth
er c
om
pute
r�
A d
eep a
nd r
evolu
tionar
y re
sult w
e now
tak
e fo
r gra
nte
d!
�Pr
actica
l re
sult:
com
pile
rs a
nd inte
rpre
ters
�Pr
actica
l re
sult:
emula
tors
and s
imula
tors
(eg
Apple
~1997)
Gra
ce M
urr
ay H
opper
, th
e M
ark
I �c
om
pile
r�,
and s
ubro
utines
(1944)
�N
avy
offic
er (
even
tual
ly r
ear
adm
.) &
mat
h
pro
fess
or,
vis
itin
g P
rof.
How
ard A
iken
�s H
arva
rd
Com
puta
tion L
ab�
Mar
k I
& I
II c
om
pute
rs d
evel
oped
for
US M
ilita
ry�
�Pro
gra
mm
ing�
==
punch
a r
ow
of
24 h
ole
s in
pap
er t
ape
to r
epre
sent
one
mac
hin
e in
stru
ctio
n�
Firs
t au
tom
atic
com
pute
r, b
ut
not
store
d-p
rogra
m�
Hopper
�s insi
ght:
kee
p lib
rary
of ta
pes
of
com
monly
-use
d �
subta
sks�
(eg
squar
e ro
ot)
�But
each
tim
e use
d,
hav
e to
chan
ge
argum
ent
valu
es,
what
to d
o w
ith t
he
resu
lt,
etc.
�Id
ea:
a pro
gra
m t
o a
uto
mat
ical
ly c
om
pile
pap
er
tape
of
com
ple
te p
roce
dure
, �s
plic
ing in�
subta
sks
as n
eeded
�M
oder
n (
re)b
irth
of
the
subro
utine
conce
pt;
would
be
abse
nt
from
origin
al F
ORTRAN
!�
Eve
ntu
ally
bec
ame
A-0
�co
mpile
r�fo
r U
niv
ac 1
(1
952;
photo
c.1
962)
Lanin
g&
Zie
rler
: M
IT W
hirlw
ind
�Inte
rpre
tive
Pro
gra
m�
(1954)
�In
put:
alg
ebra
ic e
xpre
ssio
ns
punch
ed o
nto
car
ds
�O
utp
ut:
mac
hin
e-la
nguag
e pro
gra
m t
o d
o th
e co
mputa
tion
�W
her
e to
put
inte
rmed
iate
res
ults
�H
ow
to �
sched
ule
�co
mputa
tion o
f in
term
edia
te r
esults
�This
would
�ve
bee
n E
NIA
C�s
ass
emble
r, if
it h
ad o
ne!
�Pro
bab
ly t
he
firs
t as
sem
ble
r�
Ori
gin
: �a
ssem
blin
g�
a dec
k of
card
s fr
om
subro
utines
, co
nst
ants
, et
c.�
Voca
bula
ry o
f w
hat
to d
o is
still
tie
d t
o m
achin
e har
dw
are
�But
�house
keep
ing�
task
s m
anag
ed a
uto
mat
ical
ly�
Like
ly f
ore
runner
of
moder
n c
om
pile
rs
��s
ourc
e�an
d �
obje
ct�
code
not
sto
red in s
ame
mem
ory
��p
rogra
mm
ing�
still
see
n a
s se
par
ate
from
�co
mputing�
�Fi
rst
com
pla
ints
by
�rea
l pro
gra
mm
ers�
that
com
pile
r-gen
erat
ed c
ode
is m
uch
wors
e th
an h
and-t
uned
ass
embly
John B
acku
s, F
ORTRAN
, an
d
the
IBM
704 (
1957)
�Res
emble
s al
geb
ra,
hid
es
phys
ical
im
ple
men
tation
�Im
med
iate
hit
�In
dust
ry r
ealiz
atio
n:
use
rs
wan
t to
do
work
, not
futz
w
ith a
rtifac
ts�
Not
cle
ar if th
is h
as s
unk
in
PROGRAM HYPOTENUSE
REAL X,Y,Z, T1
PRINT *,"ENTER X
and Y VALUES:"
READ *, X,Y
IF (X.EQ.0 .OR. Y.EQ.0) THEN
PRINT *, "X,Y MUST BE NON-ZERO"
ELSE
T1 = X**2 + Y**2
Z = T1**0.5
PRINT *, "HYPOTENUSE IS:", Z
END IF
END
�D
evel
oped
by
IBM
for
use
on its
pio
nee
ring
704 c
om
pute
r�
Am
ong f
irst
to h
ave
float
ing p
oin
t har
dw
are
�Com
pute
r, lan
guag
e &
com
pile
r co
-des
igned
by
John B
acku
s to
exp
loit t
his
=>
fas
t
�Com
pile
r is
its
elf
a m
achin
e co
de
pro
gra
m
on c
ards!
Ter
min
olo
gy:
Lo
w L
evel
, H
igh L
evel
�By
1957,
moder
n languag
es
had
beg
un t
o e
volv
e�
1937:
EN
IAC p
rogra
mm
ing is
phys
ical
rec
onfigura
tion
�1950:
Whirlw
ind p
rogra
mm
ing
conve
rts
algeb
ra e
quat
ions
to
mac
hin
e in
stru
ctio
ns
�1957:
FORTRAN
exp
ress
es t
ask
to
be
done
with n
o re
fere
nce
to
phys
ical
mac
hin
e
�N
ext
big
rev
olu
tions:
�te
chnolo
gy:
inte
gra
ted c
ircu
its
�re
sear
ch &
busi
nes
s m
odel
s re
sultin
g f
rom
�unbundlin
g�
of
soft
war
e
Con
nect
ing
cabl
es
Mac
hine
cod
e on
pun
ch
card
s
Asse
mbl
y la
ngua
ge
Early
hig
h-le
vel l
angu
ages
(F
OR
TRAN
, C)
Stru
ctur
ed p
rogr
amm
ing
lang
uage
s (P
asca
l)
Dom
ain-
spec
ific
lang
uage
s (M
ATLA
B, O
penG
L)
Scrip
ting
and
“glu
e”la
ngua
ges
(Per
l, R
uby)
Fred
Bro
oks
, IB
M S
yste
m/3
60,
and c
om
pat
ibili
ty
��A
rchitec
ture
�: I
BM
�s n
ew t
erm
for
360 a
ppro
ach
�Ass
embly
lan
guag
e use
d b
y pro
gra
mm
ers
reflec
ted o
nly
lo
gic
al m
achin
e or
gan
izat
ion
�M
icro
code
(diffe
rent
for
each
model
) im
ple
men
ted
asse
mbly
inst
ruct
ion in t
erm
s of phys
ical
circu
its
�In
put
& o
utp
ut
circ
uitry
sta
ndar
diz
ed �
chan
nel
�ci
rcuitry
�Res
ult:
Buy
any
360 m
odel
, upgra
de
late
r, y
our
pro
gra
ms
and I
/O p
erip
her
als
will
still
work
!
�Fi
rst
step
in t
he
tota
l dec
ouplin
g o
f H
W &
SW
�In
tel/
Mic
roso
ft s
trat
egy
~30 y
ears
lat
er
�Fr
ed B
rooks
(princi
pal
arc
hitec
t of
OS/3
60):
fir
st
�har
d les
sons�
from
a g
argan
tuan
soft
war
e pro
ject
, The
Myt
hic
al M
an-M
onth
Ken
Ols
en,
Dig
ital
Equip
men
t Corp
., a
nd t
he
PDP-
8 (
1965)
�D
EC:F
irst
star
tup t
o re
cruit n
ew c
olle
ge
gra
ds
(MIT
)�
Man
yim
po
rtan
t fi
rsts
of PD
P se
ries
(es
p.
PDP-8
):�
Firs
t m
inic
om
pute
r: s
ize,
pac
kagin
g,
cost
(~
$120K),
and u
se
model
�use
rs,
not
oper
ator
s�
[Gee
k] F
irst
com
mer
cial
DM
A:
fast
I/O
at
frac
tion o
f IB
M p
rice
�[G
eek]
Fir
st u
se o
f in
dir
ect
addre
ssin
g &
pagin
g t
o e
xten
d
addre
ss s
pac
e w
hile
kee
pin
g n
ativ
e in
stru
ctio
n s
ize
smal
l
�Fi
rst
open
API�s
�to
com
pet
e w
ith I
BM
, D
EC e
nco
ura
ged
its
cust
om
ers
and
pro
spec
ts t
o lea
rn a
bout,
modify,
and p
lay
with t
hei
r sy
stem
�Sim
ple
arc
hitec
ture
�co
uld
be
quic
kly
under
stood b
y an
as
sem
bly
-lan
guag
e pro
gra
mm
er
�Tri
via:
use
d f
or
firs
t co
mpute
r-co
ntr
olle
d lig
hting
(A C
horu
s Li
ne,
1975)
and B
ART info
dis
pla
ys (
1972)
�N
o r
eal en
gin
eering b
reak
thro
ugh,
but
a m
assi
ve c
ultura
l sh
ift.
..�a
hac
ker-
frie
ndly
com
pute
r�
Ken
Thom
pso
n,
Den
nis
Ritch
ie,
Brian
Ker
nig
han
: U
nix
& C
(1971)
�U
nix
: a
�sim
ple
�oper
atin
g s
yste
m o
rigin
ally
dev
eloped
for
PDP-
7 (
the
Ford
Esc
ort
of
min
icom
pute
rs)
�nam
e al
ludes
to M
IT M
ULT
ICS,
pio
nee
ring �
tim
eshar
e�sy
stem
�1st
ed.
1971;
for
text
pro
cess
ing o
f pat
ent
docu
men
ts w
ith
roff
�C:
a co
mpac
t an
d m
odes
t pro
gra
mm
ing lan
guag
e�
Provi
des
hig
h-l
evel
lan
guag
e co
nst
ruct
s (l
oopin
g,
subro
utines
, si
mple
dat
a st
ruct
ure
s, e
tc.)
�
but
does
n�t h
ide
mac
hin
e-le
vel st
ruct
ure
s
�M
ost
of
Unix
rew
ritt
en in C
~1973:
firs
t so
urc
e port
able
OS
�Ber
kele
y Soft
war
e D
istr
ibution (
BSD
) ~
1975:
AT&
T-c
onte
sted
par
ts r
ewri
tten
fro
m s
crat
ch,
port
ed t
o V
AX,
avai
lable
fre
e�
Unix
+C+
VAX
(PD
P-8 s
ucc
esso
r) s
wep
t re
sear
ch c
om
munity
�1982:
Sun d
ecid
es t
o b
ase
work
stat
ion b
usi
nes
s on U
nix
�so
urc
e port
abili
ty a
nd C
com
pile
r now
tak
en for
gra
nte
d
(gcc
)�
Linux:
wid
est
open
-sourc
e m
anifes
tation
of
this
tra
ject
ory
Gat
es,
Alle
n,
Rober
ts,
the
MIT
S
Altai
r, a
nd M
icro
-Soft
[si
c] B
ASIC
�M
ITS A
ltai
r -
firs
t �h
obbyi
st�
com
pute
r ki
t, o
ffer
ed in
Popula
r Ele
ctro
nic
s fo
r $395,
sold
lik
e c
razy
�But
you c
ould
n�t d
o a
nyt
hin
g w
ith it:
no I
/O d
evic
es,
pro
gra
mm
ing w
as a
ll in
bin
ary
(Inte
l 8080)�
�G
ates
& A
llen s
aw a
n o
pport
unity:
BASIC
lan
guag
e�
crea
ted in 1
964 a
t D
artm
outh
for
teac
hin
g p
rogra
mm
ing
�G
ates
& A
llen f
ounded
�M
icro
-Soft
�an
d c
reat
ed a
ver
sion o
f BASIC
for
the
Altai
r�
Late
r lic
ense
d B
ASIC
for
TRS-8
0,
Apple
II,
and m
any
oth
ers
�Big
lose
r: G
ary
Kild
all, inve
nto
r of CP/M
�Turn
ed d
ow
n I
BM
; M
icro
soft
got
contr
act,
bought
QD
OS f
or
$175K,
repac
kaged
as
MS-D
OS
�Kild
allth
ought
peo
ple
would
pay
more
for
a bet
ter
pro
duct
�W
indow
s (d
irec
t des
cendan
t of
QD
OS)
now
runs
90+
% P
C�s
�W
ould
be
repea
ted w
ith A
pple
�s M
acin
tosh
& J
ohn S
cully
Impac
t: s
oft
war
e as
in
form
atio
n v
s. a
s m
achin
e�
Unbundlin
g o
f so
ftw
are
and b
ackw
ard c
om
pat
ibili
ty�
Unhea
rd-o
f bef
ore
IBM
S/3
60;
impra
ctic
al b
efore
PD
P-8
�Res
ult:
cust
om
er inve
stm
ent
is m
ost
ly s
oft
war
e: lic
ensi
ng,
trai
nin
g,
support
org
aniz
atio
n,
etc.
�The
entire
busi
nes
s m
odel
of
Inte
l/M
icro
soft
�Bre
akin
g a
way
fro
m t
he
�pries
thood
�m
odel
: BSD
+VAX
�Bef
ore
DEC &
BSD
, IB
M o
wned
the
soft
war
e/co
mpute
r in
dust
ry�
today
, >
2/3
of
Web
ser
vers
rel
y on O
pen
Sourc
e so
ftw
are,
th
e sp
iritual
des
cendan
t of
PDP-
8/B
SD
Unix
�M
oore
�s L
aw (
com
pute
r sp
eeds
dou
ble
eve
ry 1
8 m
onth
s)
mak
es v
ery-
hig
h-l
evel
lan
guag
es a
fford
able
�Com
pile
rs n
o longer
slo
w�
Inte
rpre
ters
no longer
slo
w�
Languag
es c
an f
ocu
s on b
eing e
asie
r to
lea
rn:
each
lan
guag
e el
emen
t does
a lot
more
com
puting w
ork
�Eve
ryday
exa
mple
s: E
xcel
mac
ros,
MATLA
B,
Vis
ual
Bas
ic
Impac
t: S
oft
war
e as
fu
nct
ional
ity
(vs.
har
dw
are)
�W
hat
kin
d o
f in
telle
ctual
pro
per
ty is
soft
war
e?�
Sou
rce
code
is lik
e a
boo
k →
copyr
ight
�Soft
war
e direc
ts t
he
oper
atio
n o
f a
mac
hin
e →
pat
ent
�Sof
twar
e ca
n b
e tw
eake
d a
nd incr
emen
tally
modifie
d →
der
ivat
ive
work
�If
I d
evel
op a
new
alg
ori
thm
...
�it�s
pat
enta
ble
if
I im
ple
men
t it d
irec
tly
in s
ilico
n
(EN
IAC-s
tyle
) �
it�s
copyr
ighta
ble
if
I publis
h t
he
sourc
e co
de
�it�s
a m
ess
if I
cla
im its
�look
& f
eel�
is p
rote
ctab
le�
what
if it im
ple
men
ts a
�busi
nes
s m
ethod
�, lik
e Am
azon
1-c
lick�
©®
purc
has
ing?
�H
as s
paw
ned
a w
hole
subfiel
d o
f in
nova
tion-
stiflin
g litig
atio
n
Impac
t: s
oft
war
e as
abst
ract
re
pre
senta
tion
�Turing�s
form
alis
ms
mad
e it m
eanin
gfu
l to
tal
k ab
out
com
pute
r sc
ience
as
dis
tinct
fro
m e
lect
rica
l en
gin
eering,
pro
gra
mm
ing,
etc.
�D
esig
n o
f dom
ain-s
pec
ific
lan
guag
es�
Des
ign o
f pro
gra
mm
ing m
ethodolo
gie
s�
Com
pute
r la
nguag
e en
gin
eeri
ng:
build
ing t
he
pro
gra
ms
that
an
alyz
e, c
om
pile
, an
d o
ptim
ize
oth
er p
rogra
ms
�Fo
rmal
met
hods
for
pro
ving t
hin
gs
about
pro
gra
ms
�Pr
ogra
ms
are
abst
ract
des
crip
tions
of
com
puta
tion;
what
can
w
e pro
ve a
bout
those
des
crip
tions?
�Fa
mous
Turing r
esult:
the
hal
ting p
roble
m a
nd u
ndec
idab
ility
�Lo
ts o
f w
ork
in v
erific
atio
n,
pro
toco
l ch
ecki
ng,
bug f
indin
g
�Critica
l ques
tion:
what
is
actu
ally
bei
ng v
erifie
d?
�th
e gap
bet
wee
n s
oft
war
e-as
-abst
ract
ion a
nd s
oft
war
e-as
-m
achin
e has
alw
ays
bee
n w
ith u
s, a
nd p
robab
ly a
lway
s w
ill b
e
Impac
t: s
ourc
e port
abili
ty
�Sourc
e-port
abili
ty t
aken
for
gra
nte
d�
Incr
ease
d lev
erag
e of pro
gra
mm
ers
ever
ywher
e�
BSD
Unix
and lat
er G
NU
/FSF
mad
e it a
fford
able
(fr
ee)
�gcc
now
tak
en f
or
gra
nte
d o
n a
ny
new
arc
hitec
ture
�In
terp
rete
rs a
nd s
ourc
e-port
abili
ty�
ut
inte
rpre
ters
too s
low
for
�pro
duct
ion�
soft
war
e?�
Moore
�s L
aw fix
ed a
ll th
at�
Per
l, P
ython
, PH
P, e
tc.
now
com
mon for
web
sites
�Soft
war
e vi
rtual
mac
hin
es,
egJa
va�
Inte
rpre
ter
+ just
-in-t
ime
com
pili
ng
�Sof
twar
e VM
exp
oses
mac
hin
e-le
vel an
d O
S-l
evel
co
nce
pts
(th
read
s, s
ched
ulin
g,
I/O
prim
itiv
es,
etc.
) norm
ally
hid
den
by
hig
h-l
evel
lan
guag
es�
VM
�byt
ecode�
is its
elf in
terp
rete
d/c
om
pile
d
Impac
t: v
iruse
s
�Soft
war
e has
bec
om
e ove
rwhel
min
gly
com
ple
x�
Win
dow
s N
T:
~60 m
illio
n lin
es o
f so
urc
e�
Bey
ond t
he
abili
ty o
f an
y in
div
idual
to fully
gro
k
�Soft
war
e is
not
har
dw
are
�Pro
gra
mm
ers
tend t
o hav
e an
abst
ract
sta
te m
achin
e in
m
ind (
Turing)
when
des
ignin
g s
oftw
are
�But
the
syst
em o
n w
hic
h it
runs
has
man
y �p
hys
ical
ly
legal�
stat
es t
hat
don
�t c
orr
espon
d t
o a
ny
pro
gra
mm
er-
antici
pat
ed s
tate
�Annoyi
ng r
esult:
bug
�D
anger
ous
resu
lt:
bug =
= s
ecurity
hole
�Li
ke a
Murp
hy�
s La
w�
any
bug t
hat
can
be
explo
ited
as
a se
curity
hole
, w
ill b
e, a
nd a
t th
e w
ors
t poss
ible
tim
e an
d
by
evil
peo
ple
Concl
usi
on
�Sep
arat
ion o
f har
dw
are
and s
oft
war
e m
ay b
e th
e m
ost
im
port
ant
inte
llect
ual
bifurc
atio
n o
f 20th
c.
�Conce
pts
go f
ar b
eyon
d d
igital
com
pute
rs!
1.
Soft
war
e as
info
rmat
ion t
hat
can
be
oper
ated
on,
anal
yzed
, et
c.2.
Soft
war
e as
an a
bst
ract
des
crip
tion o
f how
a m
achin
e sh
ould
do a
pro
cedure
3.
Rel
atio
nsh
ip b
etw
een t
he
phys
ical
mac
hin
es a
nd t
he
repre
senta
tion(s
) of
its
�so
ftw
are�
�N
ow
rep
lace
�so
ftw
are�
with �
DN
A�
and
�mac
hin
e�w
ith �
bio
logic
al s
yste
m�
�The
last
50 y
ears
witnes
sed a
pro
found r
evolu
tion fro
m
the
dev
elopm
ent
of idea
s of
com
pute
r so
ftw
are
�Both
pos
itiv
e an
d n
egat
ive
impac
ts�
Will
the
nex
t 50 b
e th
e sa
me
for
�bio
logic
al
f
For
more
...
�Com
pute
r M
use
um
Vis
ible
Sto
rage,
Mounta
in
Vie
w,
CA
�Com
pute
r M
use
um
Onlin
e Tim
elin
e�w
ww
.com
pute
rhis
tory
.org
�Anal
ytic
al E
ngin
e si
mula
tor:
w
ww
.fourm
ilab.c
h/b
abbag
e�
EN
IAC o
nlin
e si
mula
tor
it)
�Turing M
achin
e onlin
e si
mula
tors
(ditto
)�
the
Hel
lo W
orld a
rchiv
e�
New
Hac
ker�s
Dic
tionar
y (o
nlin
e a/
k/a
The
Jarg
on
File
)�
Esp
. �T
he
story
of M
el,
a re
al p
rogra
mm
er�
for
insi
ghts
in
to m
enta
lity
of m
achin
e vs
. as
sem
bly
vs.
com
pile
rs