1.9 Thematic Takeaways

  • This course of study is about concepts of programming languages.

  • There is a universal lexicon for discussing the concepts of languages and for, more generally, engaging in this course of study, including the terms binding, side effect, and first-class entity.

  • Programming languages differ in their design and implementation options for supporting a variety of concepts from a host of programming styles, including imperative, functional, object-oriented, and logic/declarative programming.

  • The support for multiple styles of programming in a single language provides programmers with a richer palette in that language for expressing ideas about computation.

  • Programming languages and the various styles of programming used therein are conduits into computation (Figure 1.3).

  • Within the context of their support for a variety of programming styles, all languages involve a core set of universal concepts that are operationalized through an interpreter and provide a basis for (comparative) evaluation (Figure 1.2).

  • The diversity of design and implementation options across programming languages provides fertile ground for comparative language analysis.

  • A variety of factors influence the design and development of programming languages, including (historically) computer architecture, abilities of programmers, and development methodologies.

  • The evolution of programming languages bifurcated into languages involving primarily static binding and those involving primarily dynamic bindings (Figure 1.4).

See also the recurrent themes in Section 1.6.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.31.22