14 ms·
Let's Not Dumb Down the History of Computer Science (2014)
- blt 6y agoAs a computer science graduate student, I am always surprised by how rarely my peers seem to know or care about the history of our field. I doubt many of them would write papers about computer science history even if the incentives were better. I think it is somehow related to the power of computer science to change the human condition. Everyone is thinking about the future. Mathematicians also crave novelty, but I don't think they feel "my work could change the world" in the same way as CS researchers. Learning about CS history would make us better researchers, and thus more likely to change the world, but that line of motivation is not direct enough to excite people. There is still so much low-hanging fruit that can be plucked with only shallow knowledge of the field.
- wernercd 6y agoI like history but how is history going to get me a functional game released or land a job interview? I don't need to know about DARPA to create a wordpress page or a C# Windows Service...
- Sharlin 6y agoThe GP is talking about (future) researchers in particular. Still, there’s a tremendous historical myopia among practicing software engineers as well, leading us as a field to reinvent old ideas in new clothes every ten years or so.
- wernercd 6y agoResearchers might have more use for history... but day to day, in the field, programmers? not so much. I would think it's the difference between math researchers and accountants... You don't need to know history to balance a check book.
- tremon 6y agoProgrammers in the field have little use for computer science in general. You don't need to know anything about cyclomatic complexity when assembling a shiny javascript widget. Until you do, of course. At which point it's clear you should've known about it years ago.
- wernercd 6y agocyclomatic complexity and computer science isn't history. Not sure where the disconnect is because at no point have I said you shouldn't learn how to do your job correctly - and understanding Big O, SOLID, YANGI, etc are all important to know... but have nothing to do with history. So again... history isn't needed to be a good engineer. And being a good engineer and KISS programming is possible without understanding 100 years of history.
- Sharlin 6y agoThe difference is that the way to balance a check book doesn't change every five years, or these days more like every year. Maybe if programmers knew a bit more about history, they wouldn't need to reinvent it so often and could be more like accountants. But programmers don't want to be accountants, they want to use new and shiny things even when it's not the pragmatic choice, even when it would be better engineering to understand things in a broader context, to understand the history behind these "new" (actually old) things.
- wernercd 6y agoAccounting has been around for hundreds of years. The reason it doesn't change? Because it's not a "new" field. Same for stuff like construction and cooking... stuff that's been around a very long time has become rather stable and of course it isn't going to be "reinvented every five years". > when it would be better engineering again... I don't need to understand history to understand Big O and which algorithm to use in the right circumstances or when procedural programming is proffered to functional. At no point in my career have I ever NEEDED history to decide which library to use, which sorting algorithm is suitable and how to create functional apis or windows services. History is nice to know... but still 100% not needed at any stage of the process. I'm not sure where the disconnect is because I like history... I like learning about American history, world history, programming history... but none of that has ever been relevant in any of my jobs when it comes to day to day decisions and projects. "don't reinvent the wheel" is a separate topic and while I can agree that many things get reinvented - computers are still a very young industry compared to stuff like accounting and architecture.
- andi999 6y agoSo what? Sometimes ideas have to be reinvented, maybe this time they succeed. There could be two reasons why old ideas (talking about Software here) didnt succeed, one is Hardware wasnt capeable, the other is 'they didnt cross the chasm' - both might be different now (third option, the idea is bad, then one shouldnt do it again of course).
- Sharlin 6y agoYou're still assuming a linear model of history. My point was that history is cyclical, the same trends come and go. Static vs dynamic typing. Thin client vs thick client. Local vs distributed. Key-value vs relational. Monolithic vs micro*. And so on. Yes, sometimes these have to do with changing requirements or hardware capabilities, but more often they're just about a new generation wanting shiny new things rather than boring old things. Except that the shiny new things were the boring old things of the previous iteration. Many ideas of the yesteryear were not bad or even infeasible, indeed they were successfully put into real-world use. Until the tide changed and they became unfashionable for whatever reason. And then they became fashionable again, but without a view of the history there's little synthesis of ideas, little learning from past experiences beyond the current cycle.
- jonjacky 6y agoThis cycle was called the "Wheel of Reincarnation" in this 1968 paper by Myer and Sutherland about display processors. http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland-design-of-display-processors.pdf http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland...
- mikewarot 6y agoThe optimization bottleneck you're fighting against in the game might have been solved 50 years ago, if you don't know history, you don't have a complete toolkit of all the good tools. There are good reasons to learn assembler, basic, forth, lisp, smalltalk, pascal, c, c++, python, java, etc. even if you don't use them on a regular basis.
- wernercd 6y agoI don't need history to know algorithms... so "that was solved 50 years ago" doesn't teach me how to build a balanced node tree or actually matter if I simply know to use sort library method A instead of B. > good reasons to learn Of course... but none of that needs HISTORY to use effectively. Knowing functional programing, procedural, async, etc, etc, etc... I can know all of that without needing to know history. One doesn't need the other.
- fooker 6y agoHistory is not just about time — what happened when. An equally important part is the ordering and the reasons something happened. You can know how to write simple programs in all paradigms, but fail to understand what to use when. You might have memorized a long list of algorithms but not understand the trade-offs involved in choosing one. Of course history is not the only way to understand this, but it is definitely one good method.
- wernercd 6y agoWell like I said... I enjoy history. but. I've never used history to solve business problems. They are related and good to know... but I don't need to know history to flip burgers, run a business or plan my next sprint. I'm not arguing history is unimportant or good to know or even possibly useful just to have ideas of what to do - or what not to do... I'm just arguing it's importance is over-emphasized.
- ballenf 6y ago
- afarrell 6y ago> how is history going to land me a job interview Step 1. Go to software conference. Step 2. Get into hallway track conversation where a historical anecdote and its lessons are relevant. Step 3. Say things that prompt y'all to have insight and establish trust that you're thoughtful about how to build software.
- wernercd 6y ago> Step 1. Show 10+ years of experience > Step 2. Never talk about history because I don't need history to solve business problems with programming > Step 3. Make 6 figures. An anecdotal example made up about talking at some conference with big words won't provide business value and isn't useful in day to day problem solving. So again... 99% of programmers won't ever use the history of DARPA and the birth of the internet to land a job.
- enriquto 6y agoThis thread is about computer science, not specifically programming.
- afarrell 6y agoI this is the first time I've seen the same person simultaneously assert that: 1. What really matters is delivering business value. 2. Networking at conferences and talking about the social context of technology is useless.
- juliendorra 6y agoI won’t try to give a list of examples of how historical knowledge is useful for a developer, but just compare this statement with different fields: An architect will learn about the history of hundreds of buildings at school. A product designer like a designer designing chairs, knows about the history of chairs, has dozens of example of chairs in their mind. That developers strive to be so a-historical is a sad state of affairs. It makes the whole field naive and stuck in a perpetual present. But digital art and web design are in the same mode too, so it’s something about the whole digital fields. The only exception is game design, where it’s considered important and valued to learn about old games, play them, understand how they worked.
- Shorel 6y agoIf you ever need to read something in one of Knuth's books, that's useful history for you. I know because I was looking how to efficiently generate power sets and eventually the only good answer was in TAoCP!!! So the answer is: history, the kind of history full of technical details that Knuth argues for, is extremely useful for our profession. It is the empty, pop history, made without algorithm descriptions and full of only anecdotes what you are thinking about? Knuth argues against that!
- taeric 6y agoI'm intrigued which method you are referencing. If I recall, he goes through many. :)
- Animats 6y agoSuggested reading. This will take some searching. - "As We May Think" - Von Neumann's report on the EDVAC. - The invention of index registers, originally called the "B Box". (The "A Box" being the main arithmetic unit.) Von Neumann missed that one. - The original 19 page definition of ALGOL-60. - HAKMEM, from MIT. - A description of the SAGE air defense system. - Something that describes how the Burroughs 5500, a very early stack machine, works. - Something that describes how the IBM 1401 works. At one time, there were "business computers", all decimal, and they were very strange machines. - Djykstra's original P and V paper. - Wirth's Pascal manual, the one with the compiler listing - The Bell System Technical Journal issue that describes UNIX. - Jim Blinn's "A trip down the graphics pipeline", for the basics of classical computer graphics.
- contingencies 6y agoAs We May Think https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/ https://www.theatlantic.com/magazine/archive/1945/07/as-we-m... The First Draft Report on the EDVAC http://history-computer.com/Library/edvac.pdf http://history-computer.com/Library/edvac.pdf The invention of index registers https://en.wikipedia.org/wiki/Index_register#History https://en.wikipedia.org/wiki/Index_register#History Report on the algorithmic language ALGOL 60 https://sci-hub.do/10.1016/s0066-4138(61)80016-5 https://sci-hub.do/10.1016/s0066-4138(61)80016-5 HAKMEM https://news.ycombinator.com/item?id=18793554 https://news.ycombinator.com/item?id=18793554 SAGE https://en.wikipedia.org/wiki/Semi-Automatic_Ground_Environment https://en.wikipedia.org/wiki/Semi-Automatic_Ground_Environm... B5500 https://github.com/pkimpel/retro-b5500 https://github.com/pkimpel/retro-b5500 https://en.wikipedia.org/wiki/Burroughs_large_systems#B5000 https://en.wikipedia.org/wiki/Burroughs_large_systems#B5000 http://www.retrocomputingtasmania.com/home/projects/burroughs-b5500 http://www.retrocomputingtasmania.com/home/projects/burrough... IBM 1401 https://en.wikipedia.org/wiki/IBM_1401 https://en.wikipedia.org/wiki/IBM_1401 http://www.columbia.edu/cu/computinghistory/1401.html http://www.columbia.edu/cu/computinghistory/1401.html P&V https://en.wikipedia.org/wiki/Semaphore_(programming) https://en.wikipedia.org/wiki/Semaphore_(programming) PASCAL – User Manual and Report http://seriouscomputerist.atariverse.com/media/pdf/book/Pascal%20-%20Manual%20&%20Report.pdf http://seriouscomputerist.atariverse.com/media/pdf/book/Pasc... The UNIX Time-Sharing System https://archive.org/download/bstj57-6-1905/bstj57-6-1905.pdf https://archive.org/download/bstj57-6-1905/bstj57-6-1905.pdf A Trip Down The Graphics Pipeline: The Homogeneous Perspective Transform http://cfile204.uf.daum.net/attach/272FF54D519C8D973525F4 http://cfile204.uf.daum.net/attach/272FF54D519C8D973525F4
- thundergolfer 6y agoA favourite quote, that appears on my Github profile: > Computing is pop culture. [...] Pop culture holds a disdain for history. Pop culture is all about identity and feeling like you're participating, It has nothing to do with cooperation, the past or the future—it's living in the present. I think the same is true of most people who write code for money. They have no idea where [their culture came from]. - Alan Kay Changed how I think about my career.
- lowdose 6y agoTo make new pop culture cooperation is necessary otherwise a culture stays niche. Diffusion of new culture works exactly as diffusion of technology from innovators to late adopters. The paradox with culture is that when an innovation is adopted in the mainstream late adopters do not perceive it as innovation because it is now the normal thing to do. Innovators do because brands validate new behavior, values and rituals that are contrarian to the status quo. Nike & BLM, Tesla & global warming, Apple and computing without a 1000 page manual. Nike validated Kaepernick at a moment for the first time that more kids of color are born than white. https://www.slideshare.net/superbrands_poland/douglas-holt-how-to-build-an-iconic-brand?from_m_app=ios https://www.slideshare.net/superbrands_poland/douglas-holt-h...
- Mauricebranagh 6y agoThe problem with this blanket rejection of "pop culture" as something lesser is that its almost always deployed by "young fogey" conservatives, harkening back to so golden imperial age. And of course these sort of people don't actually have any in depth historical knowledge.
- thundergolfer 6y agoI don’t read that quote as a blanket rejection of pop culture. Not at all.
- Mauricebranagh 6y agoI do
- JoeAltmaier 6y agoCompared to those employed in an industry, few write about the history of trains, or wifi, or road building, and on and on. It's normal for only a few academics to be interested. There are only a couple of fields that are different - media (movies/broadcast), military, medicine. Probably because of the built-in human drama that's easily accessible? As others have mentioned, Computer Science has a little human drama but few have sacrificed their lives or appeared heroic. It's a pretty dry field to document - more similar to road building.
- username90 6y agoThe main problem seems to be that computer scientists don't care about history. That seems a bit strange to me, since there is no lack of people to analyse the historical parts of mathematics of physics. Maybe the problem is that computer science history doesn't seem like history yet since it is relatively recent?
- ampdepolymerase 6y agoBecause a lot of CS history are only relevant in a larger/humanities context. In terms of absolute technical value, the historical contributions are not necessarily as valuable. Russell and Whitehead's Principia Mathematica has next to no practical use in modern day software engineering. Their existence helped induce Church and Turing to create modern computer science theory but the discrete mathematics in that book itself holds little value for your average computer scientist outside of being an intellectual exercise. Another issue is that CS is a branch of applied math that also happens to be extremely profitable. Math operates on much larger timescales than other domains. But business and economics demands immediate attribution. McCulloch and Pitts had their Hebbian neural network almost a century ago. Kleene of the Regex fame designed his neural network in 1951 [0]. These vast timescales are quite normal for advanced mathematics. But in 2010 GPUs became cheap and the obscure theories of the pre-GOFAI age are suddenly immensely profitable. Of course the names and associations would be with their most recent implementors. The ones who actually applied and made it possible, rather than those whom dreamt it up a century ago. [0] https://news.ycombinator.com/item?id=25882079 https://news.ycombinator.com/item?id=25882079
- username90 6y agoRe first paragraph: Do you think mathematics and physics are different? It isn't like the old papers are relevant after hundreds of years, others have written the same things in more distilled and easier to read formats.
- ampdepolymerase 6y agoWell, most students in (contemporary) math programs don't learn to derive their axioms from Euclid (construction of naturals are usually done via Peano), their Calculus from Newton's Principia, and nor do they learn their set theory from Cantor's original papers. Instead they learn from modern textbooks that make only a passing reference to the original authors.
- dwheeler 6y agoOne problem in understanding computer science history is the essentially perpetual copyright laws. It's illegal to view or share many important past programs' source code, a problem not shared by other fields. Imagine discussing literature without being allowed to read it! There are exceptions, but they are exceptions. The rise of open source software is finally letting us view some of that software. But we may never publicly know what some past giants did.
- ed25519FUUU 6y agoIs the actual source code that important? I’m trying to think of what I’m missing. I’m personally more interested in the comments left in the code of some or those old projects than the actual code, which was probably full of bugs and a bit crufty just like the stuff we write today.
- sanxiyn 6y agoYes it is important. Sometimes details matter, and often the only place details can be found is actual source code.
- aidenn0 6y agoPrograms source code is just as copyrighted as late 20th century literature. However, it's not generally available (unlike late 20th century literature). If windows sold with the source code (even if you were forbidden from doing anything with it), then we would be reading windows source code in our CS classes.
- deleted 6y ago[deleted]
- johnorourke 6y agoI wonder if Architecture - a much older trade, also having immediate commercial value and expensive intellectual property - has a technical history? Or accountancy - another old trade with immediate commercial value, though perhaps without as much intellectual property.
- sjg007 6y agoUmm. yes?
- Ice_cream_suit 6y agoIn most active and growing fields ( medicine is one example ), the history of the field is generally ignored by students and practitioners. There are a few pleasant exceptions. For instance, Neurology Minute have had occassional bits on the history of neurology. See https://neurologyminute.libsyn.com/ https://neurologyminute.libsyn.com/ However, when reading something historical ( for instance this interesting podcast on the history of the Inverted Brachioradialis Reflex) https://neurologyminute.libsyn.com/history-of-neurology-3-hx-inverted-brachioradialis-reflex https://neurologyminute.libsyn.com/history-of-neurology-3-hx..., there is no expectation that it will actually contribute to practice.
- herodoturtle 6y agoFunny you should mention Neurology in this context - my experience in South Africa has been the same. South Africa is renowned for grooming some of the world's best doctors (as subjective as this sounds, it is largely owed to the relentless influx of patients in state hospitals and the inevitable hands-on experience that follows). So practically speaking, you have some very young yet very experienced doctors emerging from the assorted residency programmes and specialisations. And yet the history is largely overlooked - which is mostly a function of "not enough time to learn this as well" - and I know this because I was fortunate enough to collaborate with a very old and respected Neurologist in Pretoria who has made it his personal mission to collate all the historical tidbits on his field, so that he can pass it on to the next generation. He has subsequently prepared a rather extensive 2,000+ page archive on the history of Neurology (all manually typed up in his old Word installation), and I'm helping him transpose it onto a an easily searchable website so that his work can live on. Anyhow your comment reminded me of this, thought I'd share :)
- redis_mlc 6y agoWestern military doctors world-wide visit the US for a hospital term because of our unlimited quantity of gunshot patients.
- Synaesthesia 6y agoThat sounds fascinating. Can't wait for you to finish that. I also live in Pretoria. You know we have the national library here, which I've never visited, but I'm interested in SA history. Cheers, Paul
- svat 6y agoTo be clear about the "(2014)", although Knuth gave this talk in 2014, this transcript of the talk is from the upcoming (February 2021) issue of Communications of the ACM. The whole sequence of articles/talks is interesting: - (2007, Martin Campbell-Kelly), "The History of the History of Software" (DOI: 10.1109/MAHC.2007.4407444 ) — the trigger for what follows. - (2014, Donald Knuth): "Let's Not Dumb Down the History of Computer Science". Video: https://www.youtube.com/watch?v=gAXdDEQveKw https://www.youtube.com/watch?v=gAXdDEQveKw Transcript: this submission (As mentioned, there was also a 2009 talk at Greenwich of which I can only find a 6-minute video: https://www.youtube.com/watch?v=sKUg0V7pt8o https://www.youtube.com/watch?v=sKUg0V7pt8o) - (2014, Martin Campbell-Kelly): "Knuth and the Spectrum of History": https://ieeexplore.ieee.org/document/6880249 https://ieeexplore.ieee.org/document/6880249 (click on PDF) - (2015, Thomas Haigh): "The Tears of Donald Knuth": https://cacm.acm.org/magazines/2015/1/181633-the-tears-of-donald-knuth/fulltext https://cacm.acm.org/magazines/2015/1/181633-the-tears-of-do... The short version is that over the years, in all "history of X" fields other than history of mathematics, the proportion of papers with technical content—exactly what ideas did people come up with, and how, etc—has decreased, while historians have taken a turn towards broader social commentary. In this talk, Knuth explains why he finds this unfortunate and what value practitioners can get from history. (He also ends with examples of this kind of history waiting to be written.) In his reply, Haigh points out that if computer scientists want such history they'll have to write and fund such writing; historians as a field won't do it. (Someone in the YouTube comments points out that military history is like this: there exist military historians writing technical history about things like the "terrain, weapon systems, tactics, strategy, etc", funded by the military, because members of the profession do care about this. Unfortunately, this doesn't seem to be much the case in computer science.) BTW, here are a couple of papers that Knuth wrote himself, which I would guess is the kind of historical writing he'd like to read (rich in technical detail): - Von Neumann's First Computer Program (1970): https://fermatslibrary.com/s/von-neumanns-first-computer-program https://fermatslibrary.com/s/von-neumanns-first-computer-pro... - Ancient Babylonian algorithms (1972): http://www.realtechsupport.org/UB/NP/Numeracy_BabylonianAlgorithms_1977.pdf http://www.realtechsupport.org/UB/NP/Numeracy_BabylonianAlgo... - The Early Development of Programming Languages (1976): https://news.ycombinator.com/item?id=25717306 https://news.ycombinator.com/item?id=25717306
- 6y ago
- psyklic 6y agoHere is an interesting Cornell reading group+papers on the history of Instruction Set Architectures - https://www.cs.cornell.edu/courses/cs7491/2020sp/ https://www.cs.cornell.edu/courses/cs7491/2020sp/
- mikewarot 6y agoUnlike Medicine, many of the ideas that we had in the past were better than the commonly accepted way things are done now. Capability based security, for example was something that allowed you to run any program, with no danger to your system. It's not part of any common OS. They had it at Xerox PARC, but Steve Jobs chose not to take that part. On the other hand, the PARC focus on replicating paper was a step backwards from work by Engelbart and others. The limitation of a single desktop was put in place to allow children to ease into the desktop metaphor... it wasn't meant for adults to be stuck with the training wheels on. I've been digging back, looking for the ideas we missed... and boy, there are some really powerful tools waiting to be reified in a modern context.
- Animats 6y agoCapability based security, for example was something that allowed you to run any program, with no danger to your system. It's not part of any common OS. I know, I know. Norm Hardy was really good, his system, KeyCos, worked, and few could understand him. I used to know his "explainer", Susan Rajunas. We don't even have proper "rings of protection", like Multics, any more. Although the real problem today is that we need to run programs with less authority than the user running them, and we still lack a good conceptual model for doing that. "Allow write to SD card" is far, far too powerful a privilege to grant.
- brandmeyer 6y ago> Although the real problem today is that we need to run programs with less authority than the user running them, All true; But. What really stopped capability systems is that most users cannot be bothered to grant minimum privilege. Even most developers cannot - we invented containers in part as a way to mitigate the consequences of failing to grant minimum privilege.
- jerf 6y agoAs the old saying goes, you go to war with the army you have. I have a bunch of fantastic solutions to all our problems, if only programmers would work 10 times harder for every line of code, and the project managers would be OK with that, and the business funding it would be OK with that, and society would be OK with getting 1/10th the software. Capabilities-based stuff is really neat, but it's also really complicated to put into practice, and I live in a world where it's often a struggle to get developers to label their brand new REST interface for whether or not it's "admin only". Personally, I think a lot of that "really complicated to put into practice" is essential complexity, not incidental; anytime you sit down and really think about what the optimal permissions scheme around any even slightly non-trivial system ought to be, you generally end up with something pretty complicated. But even if the perfect system existed and you handed it to the real developers we have today, you'd still be working with people who would do whatever the simplest thing they could do to fully bypass the capabilities system is and get on with life without a moment's twinge of conscience. I don't want to be too hard on the average programmer; contra fashionable cynicism, things are actually getting better on the decade time scale. But at the current pace, "capabilities" are probably still a decade or two away from even being "niche".
- bboreham 6y agoI would submit that the “Graphics Gems” series of books does document a lot of rendering techniques in their historical context. They were written to be current for practitioners at the time, but the connections are drawn. Similarly Michael Abrash’s articles on the development of Doom et al.
- svat 6y agoAlso I guess Fabien Sanglard's "Game Engine Black Books" (on Doom and Wolfenstein 3D: https://fabiensanglard.net/gebb/ https://fabiensanglard.net/gebb/), and John Aycock's book "Retrogame Archeology: Exploring Old Computer Games". (Wonder why all these examples are from computer games…)
- bboreham 6y agoI suppose to Knuth’s point there is no “book of the history of graphics algorithms”. The information exists, and some people know how to find it, but we don’t choose to write the book.
- cromwellian 6y agoWow, He used my wife's portrait of himself. I was there the day she took it, it was the opportunity of a lifetime to meet one of my heroes, and he didn't disappoint. Knuth is incredibly sharp, lightning sharp for his age. He plays Emacs as masterfully as he plays his pipe organ in his home. I watched as he whipped around different buffers of literate programming, as he demoed some new angle on the properties of Sudoku solving algorithms. I asked him if he had been keeping up with machine learning, and he instantly name-dropped a dozen papers/authors he had read recently. I have to say, I'm worried. Just in 2020, we lost of a lot of greats, including Jon Conway, Larry Tessler, Chuck Peddle, Bert Sutherland, Frances Allen, most recently Brad Cox. We're losing not just a lot of history, but a lot of the historians themselves, the people to whom can tell the stories that may not have been written down yet.
- jecel 6y agoThat is why this project is so important: https://www.computerhistory.org/collections/oralhistories/ https://www.computerhistory.org/collections/oralhistories/ Except for Jon Conway, all the other people you mentioned were interviewed.
- forgotmypw17 6y agoI feel the same way about the history of the Web. There are hundreds of browsers we can be using, each one with its own unique features, advantages, and dare I say, beauty. Really writing for ANY browser shows you why things are the way they are today, and helps you not reinvent Unix, poorly :D
- tannhaeuser 6y agoIn 2021, we're having difficulties to surface even the history of computing and canonical documentation of the last two decades or so. Go search anything about early HTML, early JavaScript, research results in CompSci not even ten years old, POSIX reference docs, or even up-to-date JVM javadoc pages using your favorite search engine. It'll bring up all kinds of content marketing, naive march-of-progress advertising fringe tech and PLs addressed at juniors, hit-and-miss StackOverflow articles, and masses of academic pseudo science publications with original content/sites being decommissioned in favor of shiny content-less "web 2.0" crap. Fuck the algorithm!
- juliendorra 6y agothat’s probably where the methodology used by trained historians is useful. I created a History of Tech Design class [0] of 6 different tracks for design students. I’m not an historian, but I have some training in finding original sources, sorting them, accessing archives… it helped a lot, and I could use a lot of primary sources full of not-well-known details. Back in the 90s it would have taken me weeks or months to just access this amount of historical material! I had to turn this class into something accessible and interesting for design students / pros, but I certainly do not consider that dumbing down, just: Know your audience! [0] https://workflowy.com/s/strate-history-of-te/a4ID6kKtznLwQC7C https://workflowy.com/s/strate-history-of-te/a4ID6kKtznLwQC7...
- ghaff 6y agoEspecially as you get back to 20 or 25 years ago, the idea that you can just do some web searches to uncover much more than surface information is somewhat naive. A lot of information isn't accessible to casual public search. You need to use libraries, talk to people, etc.
- juliendorra 6y agoYou would be surprised, as I was, how much raw documents and primary sources much much older than 2000/1995 (to take your 20/25 year reference) are available, thanks to various digitization efforts. Check my notes for some nice sources dating back to the 60s. (Not in my notes but just yesterday I stumbled upon the original 1990 memo by adobe co-founder John Warnock for the PDF project, Camelot. Great read) You are absolutely right that there’s so much more in boxes somewhere and in the mind of the people who were there, but as a starting point online archives are great. We can only encourage more digitization of more archives (it’s a lot or works, organizing and sorting even before scanning)
- Guthur 6y agoI wonder how much this is born from what at outwardly appear very transient. Our interfaces with computing have changed so radically and many things are legitmately obselete for the majority of us; no one is likely to reach for a punch card or a 3.5" floppy (might be a few edge cases on this one :) ). Most of this is the facade of computing though and many of underlying fundamentals are the same but I feel that this outward appears of transiency leaves us flippant about the retrospective. It's not a great comparison but lets look at military history, many of the tactics, and hardware remain the same for decades with design and development taking an significant portion of time. the F35 has been in development for nearly 2 decades and it's only now at the beginning of it's service life.
- ballenf 6y agoThis type of history is also crucial in the fight against overreaching patent and copyright. Talking in broad strokes about a novel solution that is later patented probably won’t get the patent invalidated. Showing the code for the implementation would.
- Shorel 6y agoExcellent point and also a very important one!
- 20thCB 6y agoMartin Campbell-Kelly was my lecturer for "History of Computing" at Warwick University in 1986. Nice guy, and one of the few CS courses I actually enjoyed :-)
- baobabKoodaa 6y agoThis article returns error 500 for me. Seriously, STOP rendering your static web content with run-time server-side rendering! There is absolutely no reason this article couldn't be delivered as static assets by a CDN.
- guidoism 6y agoI’ve been saying the same thing so much that I should probably just get it tattooed on my forehead. It’s crazy to think about the carbon we are pumping into the atmosphere in order to do the same computations over and over again. Same goes with layout and rendering on the client. There’s no reason we can’t just do this for a few standard widths and send that static content to the client.
- nickdothutton 6y agoKnuth writes eloquently what I have thought for a while. Some of these early works and ideas, even and perhaps especially those that did not evolve into something successful today, are worthy of study. I strongly suspect some of them could take us in new directions. Some of those that “blocked” may now be unblocked by related developments in our field. Maybe we have to go back to forwards. https://blog.eutopian.io/the-next-big-thing-go-back-to-the-future./ https://blog.eutopian.io/the-next-big-thing-go-back-to-the-f...
- guidoism 6y agoThis this this. We’ve sort of settled on the architecture of our “stack” mostly by historical accident. It has constantly been the local maxima for various variables throughout our short history. And because of the inertia of the mass of what we’ve built that mostly works we don’t look outside very far. There are a lot of excellent ideas that were too early, or due to a coin toss not taken, or killed because of winner-takes-all market competition, or because they were just some footnote at the bottom of a paper some researcher wrote and never investigated. These ideas are ripe for investigation. I’ve been reading papers and looking at source code from the early days of programming languages. There was definitely more interplay between the design of the machine’s API (the instruction set) and programming language designers than we see these days. Our ISAs are made to emulate a PDP-11 running C (a glib take I know but not entirely inaccurate). Oh yeah, we also now get an instruction that handles JavaScript floats better. :-)
- User23 6y ago> Operating Systems. I have at home Edsger Dijkstra's source code for the operating system he wrote in 1965. Nobody has looked at it, and we should. I'd love to see this. Please put it on your webpage Dr. Knuth!
- guidoism 6y agoI was going to say the same thing but it’s probably a cardboard box filled with paper. Somebody who understands the stuff needs to spend the time to go through it and scan it and catalog it. And given the time crunch for the test of Vol 4, not to mention the rest I don’t want Knuth doing it.
- svat 6y agoSomeone (Randall Neff) from the Computer History Museum has scanned a lot of the documents from Knuth's personal collection; search for "Dijkstra" on this page: https://archive.computerhistory.org/resources/text/Knuth_Don_X4100/PDF_index/KnuthDigitalArchive-Index.html https://archive.computerhistory.org/resources/text/Knuth_Don... The following document is labelled as the source code (the OS was called "THE"; see https://en.wikipedia.org/w/index.php?title=THE_multiprogramming_system&oldid=979514733 https://en.wikipedia.org/w/index.php?title=THE_multiprogramm...): https://archive.computerhistory.org/resources/text/Knuth_Don_X4100/PDF_index/k-1-pdf/k-1-C1063.6-source-THE-os.pdf https://archive.computerhistory.org/resources/text/Knuth_Don... (254 pages of assembly code), but there are also other related documents listed on the page.
- commandlinefan 6y agoI often find that when I can come across documentation that was written for a practitioner, say, 50 years ago, it helps clarify why things work the way they do today - the new, "streamlined" way of doing something only ever makes sense to me after I understand what the old way actually was.
- wittycardio 6y agoSeems to me that there are multiple histories of computing . One is the history of theoretical computer science which I think is what Knuth is referring to. This is actually fairly well preserved in academia and anyone with a CS background should have gone through it. Another is the history of programming, of which we know the origins but off late has become nearly impossible to track. The last is the social history of the internet , which doesn't require a technical background.
- kevinwang 6y ago> This is actually fairly well preserved in academia and anyone with a CS background should have gone through it. I don't think I've been exposed to it, but I would love to be. Where did you learn about TCS history?
- squibbles 6y ago> There was a brilliant programmer at Digitek who had completely novel and now unknown ideas for software development; he never published anything, but you could read and analyze his source code. Does anyone know about whom Knuth was referring? Did this have anything to do with the work on the PL/I compiler?
- svat 6y agoSeems to have been Jim Dunlap (James R. Dunlap), who wrote many Fortran compilers. Just posted a comment here: https://news.ycombinator.com/item?id=25955227 https://news.ycombinator.com/item?id=25955227