It saddens me that so few programming students know much about the history of computing. Dijkstra, Wirth, Hoare anyone? There is a lack of knowledge of the computer scientists that built the field, and a lack of understanding of how computer science developed. This is partly our fault for not advocating more historical adeptness. It’s not good enough to say “but we’ve moved on from there”. Clearly in many cases we haven’t. Besides which there are many good discussions to be had by reviewing history. Here are some topics:
- Does the use of Cobol really cripple the mind? – Why has Cobol survived since the dawn of computing?
- How relevant is Fortran?
- What has been the impact of object-oriented design since the early 1990’s?
- Java, C, C++ – Is there one language to rule them all?
- Who is the greatest computer scientist?
- How evil is GOTO?
- If GOTO had not been supplanted by structured programming, where would programming be today?
- What has AI achieved in the past 30 years?
- What were the most revolutionary ideas of the 1970s? 1980s? etc
- Has our way of programming really evolved?
- When did people begin to start hacking?
One could also look at the evolution of programming languages, the birth of the electronic computer and its role in WW2, a history of algorithms (historical and those considered the most influential), a history of the operating system or usability. In reality there are a myriad of interesting topics to explore, providing a better understanding of why computer science is what it is. Yet few institutions offer a “History of Computer Science” course – maybe because it takes away a valuable slot from a “hot” topic. But much can be learned from delving into the past.
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC as potential programmers they are mentally mutilated beyond hope of regeneration.
Edsger W. Dijkstra