{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,1,11]],"date-time":"2024-01-11T22:40:07Z","timestamp":1705012807902},"reference-count":8,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":11349,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1975,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Although Fortran is not a pleasant language to use, it does have the advantages of universality and (usually) relative efficiency. The RATFOR language attempts to conceal the main deficiencies of Fortran while retaining its desirable qualities, by providing decent control flow statements and some \u2018syntactic sugar\u2019. RATFOR is implemented as a preprocessor which translates this language into Fortran<\/jats:p><jats:p>Once the control flow and cosmetic deficiencies of Fortran are hidden, the resulting language is remarkably pleasant to use. RATFOR programs are markedly easier to write, and to read, and thus easier to debug, maintain and modify than their Fortran equivalents<\/jats:p><jats:p>It is readily possible to write RATFOR programs which are portable to other environments. RATFOR is written in itself in this way, so it is also portable; versions of RATFOR are now running on computers of six different manufacturers<\/jats:p><jats:p>This paper discusses design criteria for a Fortran preprocessor, the RATFOR language and its implementation, and user experience.<\/jats:p>","DOI":"10.1002\/spe.4380050408","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T13:54:44Z","timestamp":1163771684000},"page":"395-406","source":"Crossref","is-referenced-by-count":64,"title":["RATFOR\u2014a preprocessor for a rational fortran"],"prefix":"10.1002","volume":"5","author":[{"given":"Brian W.","family":"Kernighan","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380040405"},{"key":"e_1_2_1_3_2","volume-title":"American National Standard Fortran","year":"1966"},{"key":"e_1_2_1_4_2","unstructured":"\u2018Workshop on Fortran preprocessors for numerical software\u2019 Pasadena Calif. Nov.1974."},{"key":"e_1_2_1_5_2","unstructured":"D. M.Ritchie. \u2018C Reference Manual\u2019 Bell Labs. internal memorandum 1974."},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/361011.361061"},{"key":"e_1_2_1_7_2","unstructured":"S. C.Johnson. \u2018YACC\u2014yet another compiler\u2013compiler\u2019 Bell Labs. internal memorandum 1974."},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/356635.356640"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/362637.362644"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380050408","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380050408","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T05:54:48Z","timestamp":1699768488000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380050408"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1975,10]]},"references-count":8,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1975,10]]}},"alternative-id":["10.1002\/spe.4380050408"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380050408","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1975,10]]}}}