-
Notifications
You must be signed in to change notification settings - Fork 0
/
013. fix.html.typ
43 lines (40 loc) · 1.6 KB
/
013. fix.html.typ
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
#set page(
paper: "a5",
margin: (x: 1.8cm, y: 1.5cm),
)
#set text(
font: "Liberation Serif",
size: 10pt,
hyphenate: false
)
#set par(justify: true)
#set quote(block: true)
#v(10pt)
= What Languages Fix
#v(10pt)
Kevin Kelleher suggested an interesting way to compare programming languages: to describe each in terms of the problem it fixes. The surprising thing is how many, and how well, languages can be described this way.
- *Algol*: Assembly language is too low-level.
- *Pascal*: Algol doesn't have enough data types.
- *Modula*: Pascal is too wimpy for systems programming.
- *Simula*: Algol isn't good enough at simulations.
- *Smalltalk*: Not everything in Simula is an object.
- *Fortran*: Assembly language is too low-level.
- *Cobol*: Fortran is scary.
- *PL/1*: Fortran doesn't have enough data types.
- *Ada*: Every existing language is missing something.
- *Basic*: Fortran is scary.
- *APL*: Fortran isn't good enough at manipulating arrays.
- *J*: APL requires its own character set.
- *C*: Assembly language is too low-level.
- *C++*: C is too low-level.
- *Java*: C++ is a kludge. And Microsoft is going to crush us.
- *C\#*: Java is controlled by Sun.
- *Lisp*: Turing Machines are an awkward way to describe computation.
- *Scheme*: MacLisp is a kludge.
- *T*: Scheme has no libraries.
- *Common* Lisp: There are too many dialects of Lisp.
- *Dylan*: Scheme has no libraries, and Lisp syntax is scary.
- *Perl*: Shell scripts/awk/sed are not enough like programming languages.
- *Python*: Perl is a kludge.
- *Ruby*: Perl is a kludge, and Lisp syntax is scary.
- *Prolog*: Programming is not enough like logic.