←back to thread

166 points levlaz | 1 comments | | HN request time: 0.254s | source
1. mirrorlake ◴[] No.41880422[source]
I quite like the sociological definition for several reasons. Rather than trying to pin down precise criteria, you simple can ask people "Are you a mathematician? Are you a theoretical computer scientist?" And once someone has gone through that filter, everything that follows is opinion and also a historical snapshot of what people felt the field contained at the time. It provides future theoreticians and students a way to orient themselves on a map which is only partially drawn.

The definition of "theoretical physics" might have rapidly changed between 1900, 1920, 1940, and 1950--but certainly people who called themselves theoreticians remained mostly unchanged. Analyzing how everyone's definitions were changing gives a wealth of information about when and where breakthroughs were happening. 1919 and 1945 come to mind as such examples of when a theoretical field changed as a result of experiments [1][2].

Back to computing: Dijkstra told the story of attempting to put "Programmer" as his profession on his marriage certificate in 1957, and was rejected [3]. Clearly there are both pros and cons of using the sociological definition of a field. We all know programming existed before 1957, but the perception of it as a profession was so foreign that it wasn't allowed on an official document. It would've been impossible, apparently, where he lived to ponder about "What is programming?" if no one could BE a programmer. For that reason, we should probably be flexible and always be willing to discuss different definitions for every field so that we gain the benefits from multiple lines of reasoning.

[1] https://en.wikipedia.org/wiki/Eddington_experiment

[2] https://en.wikipedia.org/wiki/Trinity_(nuclear_test)

[3] https://amturing.acm.org/award_winners/dijkstra_1053701.cfm