4 ms·
It's kind of weird, that we're starting to get a generation of new programmers who weren't even born when that essay came out. I'm starting to feel that teachi
by beat 10y ago
It's kind of weird, that we're starting to get a generation of new programmers who weren't even born when that essay came out.
I'm starting to feel that teaching a history of computer science (in terms of sociology and insights, not just programming) would be a great addition to the curriculum in college. Some familiarity with classics like The Cathedral and the Bazaar, Fred Brooks' The Mythical Man-Month (which predates even my old-timer ass), The Agile Manifesto, and other masterpieces would teach students a lot that they may otherwise have to learn the hard way, or won't learn at all.
- firasd 10y agoYeah. I had that feeling when I came across Turing's original article about the Turing Test a few months ago http://www.loebner.net/Prizef/TuringArticle.html http://www.loebner.net/Prizef/TuringArticle.html. And other classics like Feynman on the Challenger disaster: http://history.nasa.gov/rogersrep/v2appf.htm http://history.nasa.gov/rogersrep/v2appf.htm Maybe we should start aggregating the more "timeless" books/articles we recommend. I'll probably start something on Github or Medium like for my own recommendations. College CS courses (at least in my limited experience) are so far from day-to-day software engineering that I don't hold out much hope that they'd assign these kinda readings though. A few months ago I wrote about how reading Joel on Software was useful to me while I was getting into the field: https://medium.com/@firasd/things-i-read-on-joel-on-software-that-came-true-cd201c03cf58 https://medium.com/@firasd/things-i-read-on-joel-on-software...
- beat 10y agoThe one that really killed me on first reading was Alan Kay's concept of the Dynabook. It only took us 40 years to get it!
- firasd 10y ago(Replying since out of edit time window) One more contemporary link I'd put on such a list is "My Heroku Values" https://gist.github.com/adamwiggins/5687294 https://gist.github.com/adamwiggins/5687294
- beat 10y agoOh, that's a good one! I've had to learn a lot of that the hard way in this whole startup founder path... :(
- geoelectric 10y agoOTOH, there are places starting to do Software Engineering degrees that emphasize real-world practice. They'd benefit greatly from a survey of those texts. I'd be mildly surprised if that doesn't already happen though, at least for holy tomes like Man-Month or Peopleware.
- goda90 10y agoI graduated last year and my school has a computer ethics class that was required as well as an elective software engineering class that was more about team and project organization. Both were quite insightful. Edit: and I forgot to mention that we talked about those books.
- kkylin 10y agoSomething a little bit like this? http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-033-computer-system-engineering-spring-2009/ http://ocw.mit.edu/courses/electrical-engineering-and-comput... Not exactly a history course, but emphasis is on thinking about system-level issues, with plenty of reading (including both classic & newer papers) and writing (of essays, not code).
- FigBug 10y agoYup, a history course would be a good idea. I still find it surprising when programmers, even on HN, don't know where the term "Open Source" came from, as if it always existed. I was involved in a source code copyright lawsuit a few years ago as an expert witness. It made me realize how immature the software industry is. How many terms we use have no authoritative definition. There are no books that cover the basics that say "this is this" and "that is that"
- JustSomeNobody 10y agoYeah, that's how terms like "real time" get overloaded and confusing for people.
- pjmlp 10y agoI feel like that every time I have to explain that C wasn't the first systems programming language and the myriad of options we used to have.
- JustSomeNobody 10y agoNo, there should be a web page that is dedicated to this so it can easily be referenced. :) Also, new programmers aren't the only ones who don't know enough history.
- 01Michael10 10y agoLink?
- erikpukinskis 10y agoI would add Steven Levy's Hackers to the list if you want to go back to the MIT years, and Mitchell Waldrop's The Dream Machine if you want to go back to the DARPA years. Both of those were totally foundational to my understanding of the social history of what computer science is. What I think is so important about history like this I still draw on those ideas all of the time. There are still so many opportunities to apply ideas from The Cathedral and the Bazaar . These foundational works can be "harvested" for a century before society is fully adapted around them.
- vintermann 10y agoIf you go there, you also want to take something that covers microcomputers. There were many things in Cathedral and the Bazaar I rolled my eyes at, but the one thing that arguably hurt was that he downplayed and ignored microcomputer history ("their language was BASIC, so primitive that..." - no ESR, it was assembly! "vast disconnected hinterland" - no ESR, we had a huge network of BBSes and internet access via it). For lionizing Torvalds, you'd thought he'd notice that Torvalds taught himself assembly on the VIC 20.
- ycmbntrthrwaway 10y agoI don't see why new programmers need to read it. When I read it first time, I didn't understand what it really talks about. I thought it is about the difference between open source and closed source. In fact, the book is about the difference between development models of open source projects. Cathedral is not necessarily a closed source project. When the book was written, Emacs, nethack and other open source software were cathedrals in a sense that core team developed software in private and released "tarballs" from time to time. Now, most new programmers don't even have such projects around. The first thing they see is GitHub, where forking a project is one click away. Even *BSD systems made their version control systems open for everyone. Programming culture has assimilated superior development model and there is no way back. New programmers don't even imagine that developing open source software is possible in cycles of gathering patches and releasing tarballs, like the GNU project did before.
- sreenadh 10y ago@beat Please list all the reading list. Not sure if the history of computing will reach curriculum in college. But I am interested in reading.