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