ABSTRACT
While still a relatively young field, computer science has a vast body of knowledge in the domain of programming languages. When a new language is introduced, its designers make claims which distinguish their language from previous languages. However, it often feels like language designers do not feel a pressing need to back these claims with evidence beyond personal anecdotes. Peer reviewers are likely to agree.
In this paper, we present preliminary work which revisits the history of such claims by examining a number of language design papers which span the history of programming language development. We focus on the issue of claim-evidence correspondence, or determining how often claims are or are not backed by evidence. These preliminary results confirm that unsupported claims have been around since the inception of higher level programming in the 1950s. We stake a position that this behavior is unacceptable for the health of the research community. We should be more aware of valiant and effective efforts for supplying evidence to support language design claims.
- Wikipedia - list of programming languages. http://en.wikipedia.org/wiki/List_of_programming_languages.Google Scholar
- J. W. Backus. The IBM 701 speedcoding system. J. ACM, 1(1):4--6, 1954. Google ScholarDigital Library
- J. W. Backus. The syntax and semantics of the proposed international algebraic language of the zurich acm-gamm conference. In IFIP Congress, pages 125--131, 1959.Google Scholar
- A. J. Chlipala. Ur: statically-typed metaprogramming with type-level record computation. In B. G. Zorn and A. Aiken, editors, PLDI, pages 122--133. ACM, 2010. Google ScholarDigital Library
- J. Gosling and H. McGilton. The Java Language Environment. http://java.sun.com/docs/white/langenv/, 1996.Google Scholar
- T. Griggs. New C++ language extends c programming capabilities. Bell Lab News, 24(51), 1984.Google Scholar
- J. McCarthy. Recursive functions of symbolic expressions and their computation by machine, part i. Commun. ACM, 3(4):184--195, 1960. Google ScholarDigital Library
- M. Odersky, P. Altherr, V. Cremet, I. Dragos, G. Dubochet, B. Emir, S. McDirmid, S. Micheloud, N. Mihaylov, M. Schinz, L. Spoon, E. Stenman, and M. Zenger. An Overview of the Scala Programming Language (2. edition). Technical report, 2006.Google Scholar
- A. J. Perlis and K. Samelson. Preliminary report-international algebraic language. Commun. ACM, 1(12):8--22, 1958. Google ScholarDigital Library
- L. Prechelt. An empirical comparison of seven programming languages. IEEE Computer, 33(10):23--29, 2000. Google ScholarDigital Library
Index Terms
- Staking claims: a history of programming language design claims and evidence: a positional work in progress
Recommendations
Comments on "Language Design for Program Manipulation"
The paper by E.A.T. Merks et al. "Language design for program manipulation" identifies design principles for a procedural or object-oriented language whose programs will be easier to manipulate. However, it neglects to relate these design principles to ...
Language Design for Program Manipulation
The design of procedural and object-oriented programming languages is considered with respect to how easily programs written in those languages can be formally manipulated. Current procedural languages such as Pascal, Modula-2 and Ada; generally support ...
Patterns or claims: do they help in communicating design advice?
OZCHI '09: Proceedings of the 21st Annual Conference of the Australian Computer-Human Interaction Special Interest Group: Design: Open 24/7Past research asserts that patterns or claims will help capture and communicate interaction-design advice. Both structures attempt to provide advice in context along with the justifications for fit. These properties aim to make patterns or claims more ...
Comments