Skip to main content Accessibility help
×
    Show more authors
  • Open Access
    You have digital access to this book
  • Select format
  • Publisher:
    Cambridge University Press
    Publication date:
    19 December 2025
    08 January 2026
    ISBN:
    9781009492379
    9781009492348
    Open access funder:
    Charles University, Faculty of Mathematics and Physics
    Creative Commons:
    Creative Common License - CC Creative Common License - BY Creative Common License - NC
    This content is Open Access and distributed under the terms of the Creative Commons Attribution licence CC-BY-NC 4.0.
    https://creativecommons.org/creativelicenses
    Dimensions:
    (244 x 170 mm)
    Weight & Pages:
    0.84kg, 368 Pages
    Dimensions:
    Weight & Pages:
Open Access
You have digital access to this book
Selected: Digital
View content
Add to cart View cart Buy from Cambridge.org

Book description

What defines a correct program? What education makes a good programmer? The answers to these questions depend on whether programs are seen as mathematical entities, engineered socio-technical systems or media for assisting human thought. Programmers have developed a wide range of concepts and methodologies to construct programs of increasing complexity. This book shows how those concepts and methodologies emerged and developed from the 1940s to the present. It follows several strands in the history of programming and interprets key historical moments as interactions between five different cultures of programming. Rooted in disciplines such as mathematics, electrical engineering, business management or psychology, the different cultures of programming have exchanged ideas and given rise to novel programming concepts and methodologies. They have also clashed about the nature of programming; those clashes remain at the core of many questions about programming today. This title is also available as Open Access on Cambridge Core.

Reviews

‘The book succeeds not only as a readable story that subject matter enthusiasts can revel in, but it also provides the tools to resolve ingrained disagreements between colleagues. For it is quite possible that your manager is not hopelessly stuck in the past when he characterizes testing as a phase; he may be starting from a different assumption regarding the role of testing in the process. And perhaps your colleague who used to study mathematics is not a hopeless theorist, but his view of what good code looks like is shaped by notions of elegance rather than readability. The fact that we all write Java or C# turns out to be no guarantee that we speak the same language.’

Karl van Heijster Source: Boekenkrant

Refine List

Actions for selected content:

Select all | Deselect all
  • View selected items
  • Export citations
  • Download PDF (zip)
  • Save to Kindle
  • Save to Dropbox
  • Save to Google Drive

Save Search

You can save your searches here and later view and run them again in "My saved searches".

Please provide a title, maximum of 40 characters.
×

Contents

Full book PDF
  • Frontmatter
    pp i-iv
  • Contents
    pp v-viii
  • Preface
    pp ix-xi
  • Acknowledgements
    pp xii-xiv
  • 1 - Introduction
    pp 1-32
  • 2 - Mathematisation of Programming
    pp 33-76
  • 3 - Interactive Programming
    pp 77-131
  • 4 - Software Engineering
    pp 132-190
  • 5 - Programming with Types
    pp 191-235
  • 6 - Object-Oriented Programming
    pp 236-284
  • 7 - Conclusion: Cultures of Programming
    pp 285-308
  • References
    pp 309-331
  • Index
    pp 332-352

Metrics

Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Book summary page views

Total views: 0 *
Loading metrics...

* Views captured on Cambridge Core between #date#. This data will be updated every 24 hours.

Usage data cannot currently be displayed.

Accessibility standard: Missing or limited accessibility features

Why this information is here

This section outlines the accessibility features of this content - including support for screen readers, full keyboard navigation and high-contrast display options. This may not be relevant for you.

Accessibility Information

The PDF of this book is known to have missing or limited accessibility features. We may be reviewing its accessibility for future improvement, but final compliance is not yet assured and may be subject to legal exceptions. If you have any questions, please contact accessibility@cambridge.org.

Content Navigation
Table of contents navigation

Allows you to navigate directly to chapters, sections, or non‐text items through a linked table of contents, reducing the need for extensive scrolling.

Index navigation

Provides an interactive index, letting you go straight to where a term or subject appears in the text without manual searching.