Cultures of Programming

The Development of Programming Concepts and Methodologies

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.

Cultures of Programming shows how programming concepts and methodologies emerged and developed from the 1940s to the present and interprets key historical moments as interactions between five different cultures of programming.

Open Access

Thanks to the generous support from the Charles University, the book is available as open access! You can get a PDF for free through Cambridge Core.

Hardcopy or eBook

Available in print from: CUP | Bookshop.org | Libristo.eu | Amazon (US) | Amazon (UK)

The publisher also offers an eBook using the Adobe eBook Reader (ePub or PDF): CUP.

Exhibition in Galerie Chodba

Faculty of Mathematics and Physics

The exhibition tells the key ideas from the book through the visual medium. In the first part of the exhibition, we look at the basic believes of the five different cultures of programming—mathematical culture, hacker culture, engineering culture, managerial culture and humanistic culture.

In the second part, we illustrate how cultures exchanged ideas on program­ming languages, types and object-oriented programming and how they disagreed about the nature of the discipline and questions of beauty and art.

Virtual Exhibition

Visit the Cultures of Programming Exhibition online!

The exhibition is open until April 2026 in Galerie Chodba in Prague in the School of Computer Science. Reach out at @tomasp.net and I'll show you around!

Display the Exhibition

Want to host the exhibition at your university, conference or other venue? I would love to help that happen! Please drop me a note at tomas@tomasp.net.

Photo by Alena Chrastová

Talks and Podcasts

Past and Upcoming Appearances

I have been working on the book for quite a few years and have talked about the project in a number of places over time. You can find some of the talks and interviews below. There are also a few upcoming appearances and I'm always looking forward to more!

Upcoming Appearances

I'm always happy to talk about history of programming at conferences or in podcasts! There is a lot to talk about, from interactions between cultures to histories of programming languages, types, object-orientated programming or the neglected hacker and humanistic ideals of programming. Feel free to reach out at tomas@tomasp.net!

Recorded Talks and Podcasts

Slides from Talks