Abstract

Many will be familiar with the old adage that at the core of any child’s education should be the three Rs: reading, writing, and ’rithmetic. The phrase, which appeared first in print in 1825 [12] has been appropriated and parodied at length (“read, reason, recite”, “reduce, reuse, recycle”, etc.). Each permutation has the same purpose: to express succinctly the core tenets of an approach or philosophy. The four Rs of programming language design is another such parody of this old phrase, providing a rubric, or framework, for the design and evaluation of effective programming languages and language features. Since the very first programming language back in the 1940s [14] thousands of programming languages have been developed, representing a broad spectrum of paradigms, perspectives, and philosophies. And yet, there is no single language which is “all things to all people”. The four Rs were born out of trying to answer a number of questions about the nature of programming languages and programming language design: what makes a programming language effective or ineffective? What should be the core aims of a language designer? How should programming languages and features be compared? Why is there no single “perfect” language? The four Rs go someway towards answering these questions. Before I reveal the four Rs, let’s first consider some more foundational questions:

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call