http://www.americanscientist.org/bookshelf/pub/100-or-so-boo...
Zuckerberg is definitely a successful dude that one can look up to. But in terms of advancing the field of computing, he hasn't done a whole lot yet.
I don't see that... he just said it wasn't a fair comparison. If it comes off like he thinks advancements in mathematics are more important that other advances, it might be because he does think so, but that's not exactly what he's saying.
It's not too hard to imagine a world without facebook, but I'd find it very hard indeed to imagine a world without Microsoft, Google, Linux, Open Source or the Art of Computer Programming.
It's almost like this is one of those trick questions: "which name does not belong in this list". Zuckerberg pops out at me immediately.
All the rest is timeless, Facebook will one day be gone again, I'm fairly sure of that.
Mr. Knuth's contributions, on the other hand, are much more fundamental. But, because of this, his name remains unknown for the general population. For us, he is a titan amongst men; for the world, he'd be an old, retired professor who cannot even figure out email.
Theory, no. Practice, oh Hell yes. Facebook changed the game, for everyone. The "Social Revolution" has changed the face of business, investing, interpersonal communication, friendships, revolutions... the list goes on. Maybe Zuck was just in the right place at the right time, but he made the most of it and his company's impact has been enormous.
The real fundamentals of computing happened a long time ago. Hero of Alexandria, some Chinese and Islamic scholars, Albertus Magnus, Roger Bacon, Charles Babbage, Ada Lovelace, Joseph Marie Jacquard, Turing, non Neumann. But progress was linear, not exponential - the tools they made were so impractical that they didn't make further tools easier. You used a computer as a curiosity, or to solve a specific problem, not to build a better computer.
Then the singularity hit. Computers got faster, IO got richer, and you could practically write computer programs that would help you write computer programs. It's hard to say exactly when that happened, but the inventions of C, UNIX, and Lisp were certainly part of that critical period in history. This shift started around the mid-1960s to early 70s.
The people who were working on it are now in their 60s and 70s. The next generation (who are in their 50s and 60s) wasn't just inspired by them, they were given very useful tools, which made later advancements easier. It's easier to write a C++ compiler if you already have a C compiler. It's easier to write git if you have a CVS repo to store your work in. People no longer had to bootstrap using nothing but assembly, they started with a sound foundation, and could iterate.
Because of the work of these founders, I think there's a lot more icons left.
It's easier to write git if you have a CVS repo
to store your work in
Not to diminish your point or anything, but regarding Git, I'll just quote Linus Tolvards: For the first 10 years of kernel maintenance, we
literally used tarballs and patches, which is a much
superior source control management system than CVS is
Basically Git started as a bunch of scripts written by Linux for dealing with "tarballs and patches" and nobody starts something like this unless there's lots of hatred involved. What you get if you're a CVS user and want something better is SVN. You get Git when you consider CVS such an abomination that you'd rather do without any existing VCS altogether.And I really think the world needs more people like Linus, as some wheels are worth reinventing.
The real fundamentals of computing happened a long
time ago.
In the words of Alan Kay: The computer revolution hasn't happened yet ... http://video.google.com/videoplay?docid=-2950949730059754521 (listen to this talk because it's great).On "tarballs and patches", I was referring to this famous quote from http://marc.info/?l=linux-kernel&m=111288700902396 ...
So I'm writing some scripts to try to track
things a whole lot faster. Initial indications
are that I should be able to do it almost as
quickly as I can just apply the patch, but
quite frankly, I'm at most half done, and if I
hit a snag maybe that's not true at all.
Anyway, the reason I can do it quickly is that
my scripts will _not_ be an SCM, they'll be a
very specific "log Linus' state" kind of thing.
That will make the linear patch merge a lot more
time-efficient, and thus possible.This was just a facts correction because I find the story of Git being fascinating.
The basic idea here is not to bash the current state
of things but to try to understand something about the
progress of coming up with fundamental new ideas and
principles.
I claim that we need really new ideas in most areas of
computing, and I would like to know of any important and
powerful ones that have been done recently. If we can't
really find them, then we should ask "Why?" and "What
should we be doing?"
Which sounds to me like "The real fundamentals of computing happened a long time ago."Perhaps there will be a more significant revolution in our future but that doesn't contradict the above statement.