Describing a Programming Language

  • Chapter
  • First Online:
Programming Languages: Principles and Paradigms

Abstract

A programming language is an artificial formalism in which algorithms can be expressed. For all its artificiality, though, this formalism remains a language. Its study can make good use of the many concepts and tools developed in the last century in linguistics (which studies both natural and artificial languages). Without going into great detail, this chapter poses the problem of what it means to “give” (define) a programming language and which tools can be used in this undertaking.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
EUR 29.95
Price includes VAT (France)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
EUR 46.00
Price includes VAT (France)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
EUR 58.01
Price includes VAT (France)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. C.W. Morris, Foundations of the theory of signs, in Writings on the Theory of Signs (Mouton, The Hague, 1938), pp. 17–74

    Google Scholar 

  2. J. Gosling, B. Joy, G. Steele, G. Bracha, The Java Language Specification, 3/E (Addison Wesley, 2005). The last specification available at the time of printing is that of Java SE 19, https://www.docs.oracle.com/javase/specs/. Accessed 14 Feb. 2023

  3. A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd ed. (Pearson Education, 2006)

    Google Scholar 

  4. G. Winskel, The Formal Semantics of Programming Languages (MIT Press, 1993)

    Google Scholar 

  5. G.D. Plotkin, A structural approach to operational semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981. Repr. J. Log. Alg. Program. 6061, 17–139 (2004)

    Google Scholar 

  6. J.E. Hopcroft, R. Motwani, J.D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd ed. (Pearson, 2006)

    Google Scholar 

  7. A.W. Appel, Modern Compiler Implementation in Java, 2nd ed. (Cambridge University Press, 2002). This text exists also for C and ML

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maurizio Gabbrielli .

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Gabbrielli, M., Martini, S. (2023). Describing a Programming Language. In: Programming Languages: Principles and Paradigms. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-031-34144-1_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-34144-1_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-34143-4

  • Online ISBN: 978-3-031-34144-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics

Navigation