Tomas Petricek
Not just a computer scientist
Tomas is an academic, open-source developer and a book author. He is a lecturer at University of Kent and works on making programming with data easier. He also studies history of programming and writes about it from a philosophical perspective. Previously, Tomas wrote a popular F# book "Real-World Functional Programming", helped to create a number of F# open-source libraries such as F# Data and created coeffects (http://tomasp.net/coeffects), a theory of context aware programming languages. His most recent work includes programming tools for data journalism (http://thegamma.net), but also three essays that understand programming concepts such as types, monads and errors from philosophical perspective (http://tomasp.net/academic).
Past Activities
Code Mesh V
10.15 - 11.15
Cultures of Programming
Computer programming originated at the intersection of logic, art, electrical engineering, business and psychology. Those disciplines brought with themselves different ways of thinking about and doing programming. In the early days, the friction between cultures could have been just a sign of the immaturity of the field. 70 years later, the idea that a unified culture will emerge as the field matures is becoming difficult to believe. Different cultures keep their strong identity, but they interact. Interesting innovations appear and revealing discussions occur when multiple cultures meet or clash.
In this talk, I will characterize and explore the different cultures of programming through a number of historical case studies. I will describe five different cultures of programming. The mathematical culture sees programming as a mathematical activity and advocates the use of formal methods. The hacker culture sees programming as tinkering and emphasizes practical skills of an individual. The managerial culture aims to solve problems via organizational structures and processes. The engineering culture emphasizes methodologies and tools that help achieve good-enough results. Finally, the artistic culture emphasizes creativity and interaction with a computer.
This talk will not be just about the history of programming - the different cultures of programming shape much that happens around programming. They influence what we think of as a "correct" program, they influence what we teach as programming and they also clash about what characteristics we look for in job interviews.
OBJECTIVES
* Give a new helpful framing for thinking about current issues in programming
* Tell interesting stories about the history, like the birth of programming languages
* Explain how different cultures think about programming, including hackers, artists, mathematicians, engineers and businesspeople
AUDIENCE
Anyone who is interested in the broad historical and philosophical context around programming. If you think that programming is not just about solving business problems by consuming coffee and typing code in your favorite programming language, this talk is for you!