Part I -- Talking with Don Knuth, software pioneer

Robert Scoble interviews Don Knuth about his early days in computing and what matters now. Knuth argues for beauty in code, warns that multicore programming is harder than most realize, and sees medical visualization as the next big thing.
So we're at the Computer History Museum seeing the New Revolutions exhibit, and we're in the software area. And one of the gurus of software, Don, thank you for your. Thank you for everything you've done for programmers around the world. Because on Twitter, I took a picture of you and already people are saying, oh, man, I learned how to program from Don. I read his books. He's a guru all around the world. You've impacted the art and the craft of software.
So thank you. Okay, well, I can only demean myself in your eye by speaking now. I'm a better writer than speaker, but also be like this. Well, even though I'm kind of old, I have to point out that I was just an 8th grader when most of the important stuff in computers were done. So I might be considered a pioneer, but really I came fairly late in the game in the real scheme of things. I came at just about the right time, though, because I could ride the waves when computers became. Became affordable. When I was a freshman in college was the first year that there were more than a thousand computers in the world. Before that, there were just a few. And so then over the years, I sort of grew up at about the time when there still were easy problems left to solve, and so we had first cut at those. And now, well, there's still great stuff that's being discovered that that is fairly near the surface, fairly near the root. It's not all. It's not all been solved yet, but it sure is a heck of a lot more challenging now when there's tens of thousands of people all looking at things from when there was only a few dozens of us.
Since a lot of people are going to watch this video, and not everybody gets a chance to sit here in this exhibit with you. What's. What's important to know about, you know, this exhibit? When, when school kids come through this exhibit.
What.
What are you hoping they get out of it?
Well, you know, Beauty. I. I'm thinking how. Okay, I got two main, main reactions to that. One is, to me, it's not something that I do for money. It's something that I do that I have to. Because I. Because I think that I was born to be a geek in a certain way, that certain kind of talents that I have mean that I can also resonate with the computer. You know, computer and I can be in sync with each other, and there are, you know, there are many other, many kinds of skills, and I have not been very good at football playing and various other things. And you know, and I don't know how to deal with money, but I sure do know how to program. And I think maybe one person in 50 has this, has this peculiarity that I have. And so I try to actually realize that everybody has a variety of talents and the ones who discover that they have a talent for computers, I try to nourish them. And the ones who don't, I just try to say, well, make friends with somebody who does because teamwork is important. Everybody has their own perspective on things and by working, the name of the game for the future is networking. Working together rather than having each person only doing what they're good at.
If you're talking about to a 12 year old coming through this exhibit, what would you and you had a chance to talk with them, what would you do to inspire them?
So I would say if you really find that you're resonating with computers, then you're going to be always in demand throughout your life because there's only going to be 1 in 50 people like you and you're going to be able to change the world in an important way. On the other hand, I would say if you're that age, spend a lot of time also learning how to communicate, learning how to write. Don't go 90% of your life into computers, but balance it all off. Because the thing that's going to be most important in your future career is not your greatest strength, but your greatest weakness is going to define you. So if you have a something that you're not able to do well, that's going to hold you back more than if you can do something spectacular. So I like to recommend that people become well rounded. And I also, because I have this idea that programming is a little bit, takes a little, what do you call it? Strange, you know, quirky. Still, a programmer can't design something for other people to use unless, unless he has some idea as to what other people are like. And so that's why this collaboration is very important because we work together and we see from each other how to.
When I interviewed Mark Zuckerberg, for instance, it's very clear that he studied psychology in school and he understands how people think and work and what's going to get them addicted to his system. Right?
Yeah, yeah, so. And you know, I married an artist, you know, very important to me. I also, I guess I started out with the idea of beauty and things I like about this exhibit is that it's beautiful the way they chose the textures, the materials, the style of typography, all the Way through is elegant on many levels.
Well, we're going to get a more thorough tour in a little bit. If you were sitting with some of the other people who are doing the bleeding edge work of today, Mark Zuckerberg, or you know, the two guys who started Google, what would you be talking with them about? What are you intellectually curious about today's systems? Well, because some of those will walk through this hallway too.
Yeah, no, the cases you mentioned, we'd be trying to talk about how you deal with the masses of data and for example, Facebook. It all seems, it all seems easy when you're using it. But in fact, if you know something about computers, you realize that how are they able to do this so fast? How are they able to get all this information from all the millions of people who are involved with it? And well, I found out that.
One.
Of our professors, consultant to Facebook, he said, well, yeah, actually they have it all in one big computer, all in core. I mean the basic stuff at once, but then you have to replicate it out, make copies of it so that the data goes out without getting traffic jams. So that's the kind of thing we would talk about.
So you talk about Memkash D. How.
Did you make it look so easy, you know.
Well, you talk about memcached then and.
Understand his various kinds of. Yeah, and if I were with, you know, different people, I would also, you know, talk about my pet peeves about a lot of stupid decisions that are being made by various engineers, in my opinion.
Tell me about some of them.
Well, you know, we'll see what the. I don't know anybody who likes multi core except the people who are, you know, are manufacturing the chips and they're trying to say, well, now it's, you know, we're giving you all this great, this great hardware. So you're not talking about Facebook, you're talking about the chips. I'm talking about. Yeah, I'm talking about things like that, the software, user interfaces. I'm not. I'm pretty well, you know, I think the next breakthrough in that area is going to be in connection with visualization of things like medical conditions and so on. There's a great need to have so that doctors and patients can better understand their diseases and so on. And there's huge opportunities there. I don't know what the answer is going to be, but that's a killer app for the next 10 years.
Getting back to multicore because I hear this complaint from programmers I used to work at Microsoft and the programmers there were tearing their hair out trying to make it easier. And they still, I don't think, what can you do?
So the chip designers are just passing the buck. You know, they ran out of ideas, and so they said, okay, now it's your job, it's your problem. But, you know, so I was glad to see that Dave Patterson had expressed this. You know, it's politically incorrect to say that these are true. And these, these multi cores actually do a lot of important things well. And, and so if you're, if you're doing video games and, or you're doing certain kind of calculations physicists like to have, and I can think of lots and lots of applications where multicore is a super thing. The trouble is, if I look at the last 2,000 programs I've written, maybe two of them are helped by multicore. So it's helping only, you know, some people. And that's why I'm not really happy about myself, because I can see how in the last week, one of the things that I did with computers would actually have been improve my multicore. And the answer is it's very hard to think of any.
When Steve Wozniak showed me through this exhibit, he talked about the architectures and how at certain points in history, the architecture that ran the computer changed. And it seems like we're in the middle of another one where it's shifting to graphic processors. Nvidia just made a deal with Intel.
Right.
Just last week at ces.
Right. That's going to make the programming, making programming different. And it might be that actually a different kind of. It also might mean that people like me aren't going to be good at programming anymore in 10 years. I mean, just the fact that I'm good at the kind of computers we have now doesn't have any promise that I'll be able to cope with some other kind of mission. It's, you know, I'm specifically oriented towards computers the way they were when I grew up. And I don't just.
More from Robert

45: Sandy Carter Unveils the Future of AI: Myths, Agents, and Creativity | SXSW Insights









