Alan Kay was quoted several years ago to the effect that there had been only three new things in software in the preceding 20 years (effectively the lifespan of PCs). One of them was Spreadsheets.

Does anyone remember the other two?

(EDIT: Who is Alan Kay (a few may ask.) His work at Xerox Parc arguably did more to shape our current software paradigm than any other influence.)


Mice and GUI's

Craig G
I think of those as the big 3 we credit to the Alto (xerox parc) but I think his enumeration was different.
le dorfier
The mouse was invented before that by Engelbart in 1968 (see Wikipedia).
Jared Updike
+297  A: 

I will try to remember what I said, but neither of the answers above is correct (every one of them was done in the 60s and 70s before the commercialization of PCs in the 80s.

However, we could start all over and try to think of new inventions in computing since the 1980s.

Best wishes,

Alan Kay

Alan Kay
"think of new inventions in computing since the 1980s" that would be quite a long list.
Robert S.
Well? What would you propose?
Alan Kay
@Alan, post that question and we'll all answer it.
Robert S.
I can't think of much that is non-trivial. It certainly wouldn't be a long list. All of these things that are trendy like functional programming, concurrent programming, and so forth date before the 1980s.
I think a lot of important inventions have been around the processes of software development, such as Test Driven Development and the Agile concept (though probably not "new").Besides that, the 'invention' of the User Experience field has a great effect on the use of computers.
The world wide web comes to mind.
Robert S. Thanks Dr. Kay.
Robert S.
I think Jon Skeet better look out. Alan Kay has been a member for 19 days and he already has 100 up-votes and 3 badges for saying essentially "I don't remember." It must be nice being Alan Kay.
@bmb, Dr. Kay also posted a question. The guy won a Turing Award. Do you think he cares at all about rep or badges?
Robert S.
I voted this answer down. Why? Because I'm just that bad.
@Out Into Space: That's hilarious. How much rep do I have to spend to get a Turing Award?
Bill the Lizard
@Bill, if I were to place an arbitrary number on it, I'd say 640k.
Robert S.
+9  A: 

No mention of spreadsheets, but how about this quote, from an interview with a 1991 issue of Byte Magazine:

"In 1968 I saw two or three things that changed my whole notion of computing. …Doug Englebart’s view [was] that the mainframe was like a railroad, owned by an institution that decided what you could do and when you could do it. Englebart was trying to be like Henry Ford. A personal computer as it was thought of in the sixties was like an automobile. In 1968 I saw Symour Papert’s first work with kids and LOGO, and I saw the first really great handwriting-character-recognition system at Rand… And that had a huge influence on me because it had an intimate feel. When I combined that with the idea that kids had to use it, the concept of a computer became something much more like a supermedium. Something more like superpaper."


Marc Novakowski
+15  A: 

When ever I think about xerox parc I always remember this quote from triumph of the nerds by steve jobs:

They showed me, really, three things, but I was so blinded by the first one that I didn’t really ”see” the other two. One of the things they showed me was object-oriented programming. They showed me that, but I didn’t even “see” that. The other one they showed me was really a networked computer system. They had over 100 Alto computers all networked, using e-mail, etc., etc. I didn’t even “see” that. I was so blinded by the first thing they showed me, which was the graphical user interface. I thought it was the best thing I had ever seen in my life. Now, remember it was very flawed. What we saw was incomplete. They had done a bunch of things wrong, but we didn’t know that at the time. Still, though, the germ of the idea was there, and they had done it very well. And within ten minutes it was obvious to me that all computers would work like this, someday.

Thanks for this - it's another quote I try to remember accurately from time to time. (But it's not the one I'm looking for.)
le dorfier
and it's such a shame that Jobs didn't "get" object-oriented programming; perhaps if he had then the first Mac SDK would not have been such a gigantic bloating function-oriented API, and the Mac would have had a lot more software far earlier...
Steven A. Lowe
Well I think he kinda redeemed himself with NeXTStep
The first Mac API had to live in ROM in a machine with 128 KB of RAM. They did a fantastic job, given those restrictions. The file I/O stuff was needlessly complicated, but they had their reasons. QuickDraw was amazing.
Mitch Haile
+3  A: 

I am pretty sure C++ wasn't one of the two things.


+7  A: 

Perhaps this link leading to the paper

The Most Important Software Innovations written by David A. Wheeler

helps you remembering the two missing things.

P.S.: I personally would choose (1980 and later):

  • 1982: computer virus
  • 2004: MapReduce (In 2004, Google's Jeffrey Dean and Sanjay Ghemawat revealed MapReduce)
APL had the concept of MapReduce long before 2004. I'll admit that it wasn't implemented in a distributed way in those days.
The first computer viruses and worms were done experimentally at Xerox PARC by John Shoch
Alan Kay
Here the link ("The Worms Program")
Distributed application of a function to a data set (map) followed by a reduction was sufficiently established in the HPC world to be standardised as part of MPI 1.0, published 1994. MPI as as standard took existing best practice rather than being inventive, so it's use was probably earlier.
Pete Kirkham
+1  A: 

Alan Kay invented Smalltalk. In so doing, he can be said to have invented object oriented programming, although there are important precursors to Smalltalk in that regard.

Simula, a language form the 1960s for writing simulations was one. another was Planner, a language invented by Carl Hewitt of MIT. Alan Kay specifically gives credit to Hewitt for influencing him while he was at Xerox PARC.

Walter Mitty