[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

first programming languages, and second ones too



There are more obvious practical and commercial advantages to knowing
the language C rather than Pascal, so I would think students would be
better served learning and using that language as a second language
after Scheme. 

* with a reasonable ANSI compiler supporting prototypes, and especially one
that supports a "require-prototypes" compilation flag, it seems you get
about as much strict type checking out of a C program as out of an equivalent
program in Pascal.

* C has more modern/natural I/O primitives, not the funny ancient mainframe
O/S oriented stuff in standard Pascal.

* you can build up complex programs and datastructures from "the bits" and
abstract upwards in the same way you learn in lisp programming. Obviously
just about any language lets you do this; I'm just arguing that it is rather
natural and similar in lisp and C. 

* one could introduce/motivate C near the end of a course (e.g. Chapter 5, SICP)
  with a small C program that implements Scheme, such as SIOD.


On the other hand, after SICP, especially chapter 5, one could argue more
strongly that it would be more natural to cover a reasonable assembly
language programming machine environment in more detail rather than go
for something artificial like a so-called high-level language.

I had one student at Boston University that got into CADR microcode after
his lisp course.

-gjc