skip to main content
research-article
Free Access

Languages, Levels, Libraries, and Longevity: New programming languages are born every day. Why do some succeed and some fail?

Published:01 December 2004Publication History
Skip Abstract Section

Abstract

In 50 years, we’ve already seen numerous programming systems come and (mostly) go, although some have remained a long time and will probably do so for: decades? centuries? millennia? The questions about language designs, levels of abstraction, libraries, and resulting longevity are numerous. Why do new languages arise? Why is it sometimes easier to write new software than to adapt old software that works? How many different levels of languages make sense? Why do some languages last in the face of “better” ones?

References

  1. Vinge, V. 1999. A Deepness in the Sky. New York: Tor, 222-228.Google ScholarGoogle Scholar
  2. Sammet, J. 1969. Programming Languages---History and Fundamentals. Englewood Cliffs, NJ: Prentice-Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Wexelblat, R., ed. 1981. History of Programming Languages. New York: Academic Press. (Final proceedings of ACM SIGPLAN History of Programming Languages Conference, Los Angeles, CA, June 1-3, 1978.)Google ScholarGoogle Scholar
  4. Dolotta, T., and J. Mashey. 1976. An Introduction to the Programmer's Workbench. Proceedings of the 2nd International Conference on Software Engineering (October 13-15), IEEE 76CH1125-4 C: 164-168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Mashey, J. 1976. Using a Command Language as a High-level Programming Language. Proceedings of the 2nd International Conference on Software Engineering (October 13-15), IEEE 76CH1125-4 C: 169-176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Boggs, P., and J. Mashey. 1982. Cable Repair Administrative System. Bell System Technical Journal 61 (July-August), Part 2: 1275-1291.Google ScholarGoogle Scholar
  7. McIlroy, M.D. 1969. Mass-produced Software Components. In Software Engineering, ed. P. Naur and B. Randell. Garmisch, Germany: NATO Report (October 7-11).Google ScholarGoogle Scholar

Index Terms

  1. Languages, Levels, Libraries, and Longevity: New programming languages are born every day. Why do some succeed and some fail?

        Recommendations

        Reviews

        Manuel E. Bermudez

        Mashey speculates on the reasons for the success of some programming languages, and the failure of others. After some initial speculation about the role of "programmer archaeologists" in the distant future, he describes various levels of programming languages, and presents anecdotal evidence from Bell Labs in the 1970s, arguing (presumably, since the article isn't clear about this) that raising the language level is what made languages like awk unexpectedly popular. The author then discusses libraries, and the acceptance and longevity of programming languages, presenting four goals that a language might need to achieve in order to gain widespread acceptance: addressing a problem domain, raising the level of abstraction, improving on data types, and (a bit tongue-in-cheek) being supported by a strong vendor. The author offers a few future possibilities: programming languages that might follow innovations in embedded central processing unit (CPU) instruction sets, tight and loosely coupled parallelism, and later binding times on future, faster computers. The article is not well written. The author discusses programming language levels at length, including anecdotes, and then abruptly drops the issue and switches to discussing libraries. He then abruptly moves on to his list of goals for successful languages. It is possible to see how his anecdotes might lend some support to his list of goals for future successful languages (an intriguing possibility), but he never makes the case. It is impossible to see how his discussion of libraries fits into the gist of the article. The various facts and anecdotes, although always interesting to hear, are not woven into any conclusions whatsoever. The final section, "Building Better Languages," fades into irrelevance. In summary, this is a speculative article that purports to outline criteria (the author calls them goals) for the widespread acceptance of future programming languages. The criteria are interesting and worth knowing about, but the author fails to substantiate them. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Queue
          Queue  Volume 2, Issue 9
          Programming Languages
          December/January 2004-2005
          65 pages
          ISSN:1542-7730
          EISSN:1542-7749
          DOI:10.1145/1039511
          Issue’s Table of Contents

          Copyright © 2004 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 December 2004

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Popular
          • Editor picked

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format