[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: General Layers questions



On Mar 18, 2011, at 4:07 PM, DJ Delorie wrote:

> And your kind of bottom-up design never gets done at all, because of
> impossible-to-meet requirements for unlimited flexibility.

"My kind" of bottom-up design is precisely what Ritchie did when he invented C. Contrast C with PL/I, the language it replaced (at least in my world). C is designed to economically reflect the capabilities of the hardware on which it is based. PL/I was designed from "use cases" derived from existing programs in Fortran, Algol, and Cobol.

The designers of PL/I were the world's leading experts on programming languages.

PL/I was a conceptual mess, loaded with "features" that seemed useful and plausible, but which in real programs caused (at best) miserable inefficiency, and (at worst) seriously unpredictable behavior. These "features" included many kinds of high level constructs like string manipulation, I/O, and multitasking.

In contrast, C represents the common features of the hardware in an open-ended way that allows programmers to extend the language by composition. So "PUT" is a language feature in PL/I, while printf() is a library function in C (itself written in C). That's good factoring, yielding unlimited flexibility. That good factoring also made C much easier to implement than PL/I.

Proper bottom-up design *never* results in "impossible-to-meet requirements" because it starts from capabilities. What can a layered description of tame plane geometries (no fractals ;-) actually represent? Not so hard.

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx




_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user