date and time created 80/10/30 00:35:38 by mckusick
[unix-history] / .ref-BSD-3 / usr / doc / ratfor / m5
CommitLineData
8340f87c
BJ
1.NH
2CONCLUSIONS
3.PP
4Ratfor
5demonstrates that with modest effort
6it is possible to convert Fortran
7from a bad language into quite a good one.
8A preprocessor
9is clearly a useful way to extend or ameliorate
10the facilities of a base language.
11.PP
12When designing a language,
13it is important to concentrate on
14the essential requirement of providing
15the user with the best language possible
16for a given effort.
17One must avoid throwing in
18``features'' _
19things which the user may trivially construct within the existing
20framework.
21.PP
22One must also avoid getting sidetracked on irrelevancies.
23For instance it seems pointless for
24Ratfor
25to prepare a neatly formatted
26listing of either its input or its output.
27The user is presumably capable of the self-discipline required
28to prepare neat input
29that reflects his thoughts.
30It is much more important that the language provide free-form input
31so he
32.ul
33can
34format it neatly.
35No one should read the output anyway
36except in the most dire circumstances.
37.SH
38Acknowledgements
39.PP
40C. A. R. Hoare
41once said that
42``One thing [the language designer] should not do
43is to include untried ideas of his own.''
44Ratfor
45follows this precept very closely _
46everything in it has been stolen from someone else.
47Most of the control flow structures
48are taken directly from the language C[4]
49developed by Dennis Ritchie;
50the comment and continuation
51conventions are adapted from Altran[10].
52.PP
53I am grateful to Stuart Feldman,
54whose patient simulation of an innocent user
55during the early days of Ratfor
56led to several design improvements
57and the eradication of bugs.
58He also translated the C parse-tables
59and
60.UC YACC
61parser
62into Fortran for the
63first
64Ratfor
65version of
66Ratfor.