Tech
June 27, 2026
0 views
2 min read

Cultures of Making and Relating

Source: Hacker News
Cultures of Making and Relating
Tech Daily Byte Analysis

The five cultures of programming, as identified by Tomáš Petříček, are distinct approaches to software development. Mathematical culture views programs as mathematical entities, while hacker culture sees programming as a conversation with a machine. Engineering culture focuses on constructing programs according to best practices, management culture views software as an industrial product, and humanist culture sees computation as an extension of human thought. These cultures are not specific to programming, with engineering and management cultures being similar to those found in manufacturing industries.

The distinction between cultures of making and relating software is crucial. Hacker, engineering, and management cultures are focused on making software, while mathematical and humanist cultures are about relating to software. For instance, if a developer wants to ensure that their software has formally provable properties, they must consider this requirement during all stages of software construction. This interplay between cultures is evident in scientific research, where early scientists worked in a hacker-like manner, creating their own instruments and experimental setups. As scientific activities have become more industrialized, management culture has been imposed from the outside, often leading to a mismatch with the inherently exploratory nature of research.

The implications of these cultures are significant for scientific software development. Research software engineers often adopt a primary culture that defines their attitude towards programming, but also incorporate elements from other cultures. For example, the use of computational notebooks and workflows reflects a hacker culture approach. However, the dominance of engineering culture in larger software projects has led to a decrease in the role of mathematical culture, which is concerned with applying formal approaches to software. The tension between engineering and hacker cultures is evident in the debate over static type checking, a formal method that is widely available in standard software development tools.

Key Takeaways

Tomáš Petříček's book identifies five distinct cultures in programming: mathematical, hacker, engineering, management, and humanist.

These cultures influence software development and research practices, with hacker culture prevailing in software produced as part of a research project.

The interplay between cultures of making and relating software is crucial for ensuring that software meets certain properties and requirements.

The dominance of engineering culture in larger software projects has led to a decrease in the role of mathematical culture in scientific software development.

About the Source

This analysis is based on reporting by Hacker News. Here is a short excerpt for context:

Comments
Read the original at Hacker News

More in Tech