YouSaid · the spoken record
Robert C. Martin
- lines on the record
- 49
- first
- 2020-11-28
- most recent
- 2020-11-28
- sittings or episodes
- 1
- sources
- podcast
Every line below is reproduced as it was said and linked to the record it came from. Nothing here is summarised or generated. Directory · Search · Corrections
“Is immensely high right now and will continue very high for a long time and find a way to get in. And it's not that hard, right? So that would be my advice. Read like crazy. Read. Inhale as much as you can. Study like crazy. Watch videos and do exercises. Just, you know, fill your brain with this stuff. And then it ought to be simple after that.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“If you can get into a trade school for programming, that would be great, not necessary, but it would be great. If you've got the means to go to university and you want to spend the ridiculous amounts of money that universities now cost and go into horrific debt for the rest of your life, okay, you can do that too. I'm not going to stop you. And you'll learn a whole bunch of really cool stuff there, stuff that some of which you'll even be able to apply later on in your career. But if you don't have that means, if you don't have the means to go to university, that's okay. I mean, you can get this, you can acquire these skills. You can become a programmer with a minimum amount of investment. Just find some people to mentor you along, find a company that's willing to hire a beginner. And there are a lot because the demand.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“And tons and tons of very good books that you can read. Start out with simple books like, you know, The Joy of Java or Java for dummies in 10 days or learn C in 21 days. Any one of these books that will just help you immensely. Find a mentor, someone who's been at it for a while. Most of them will be overjoyed to have someone that they can teach and work with and help.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, okay, becoming a programmer is not particularly difficult in our day and age yet. It may be at some point in time, but right now it's not. If you think you want to be a programmer and you think you have the aptitude, it is stupidly simple to get on YouTube now or get on a bunch of other websites and learn to code. And it doesn't take a lot of effort. If you've got a laptop, if you've got a computer at your disposal, if you can go on to YouTube or any of the other sites out there, just find some site that'll walk you through an initial Java program and then experiment with that as much as you can, learn how to write this code, read other people's code, go on to GitHub, download their code, read it, understand it. It'll be hard, but that's okay. You can do it. There's a whole bunch of books out there.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“I think in general the only way to deal with issues like this is to do it entirely on merit. If you're going to be a programmer, I'm perfectly happy to hire anybody. I don't care what your political bias is, your sexual bias is, your age, your racial situation. I don't care about any of that stuff. As long as you can write the code, I'm happy to work with you. I don't want to suddenly or I don't want to relax the standards for a certain subgroup. I don't think that's fair to anybody. Just me.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“I once sat with a woman, a very accomplished woman, and we were at a conference. And I was giving a keynote and she was giving a keynote. And we were just talking about this issue. And she looked at me and she said, I hope to hell that they did not ask me to do this keynote just because I'm a woman. And I could feel that angst, the devaluing. Of her ability to do a keynote talks because she was invited just to become a woman. So her fear was that she was being devalued by a quota system that she didn't even know if that existed.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“I think it does. I think it always does. I mean, the idea behind a quota is always very well intentioned, right? There's a marginalized group. They're not getting serviced properly. We need to relax the barrier of entry for that marginalized group so that more of them can join. Well-intentioned, everybody wants the best. But what's the end result? The end result is that you lower the standards. The standards have to come down, which hurts the entire industry. And it doesn't help. The marginalized folks to let them in under low standards but expect the high standards on exit. Because then you'll see this failure. And we see that in universities, and we see it in employment as well, is that the dropout rate or the failure rate is higher. It doesn't help.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“And then I think, and this is a guess on my part, I think they use that skill and that technology that gives them a voice. And that voice has been turned. And in a way that is sometimes very detrimental. Now, I don't want to cast aspersions on every marginalized community, but I have noticed that there are some that suddenly develop a very loud voice. And in a lot of cases, they wind up driving the cancel culture. Just, you know, the way that looks like it's been happening from my, you know, my middle age, no, I'm not middle-aged. I'm actually old now. From my old conservative white bias, right? That's what it looks like to me.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“It turns out to be easy to become a programmer. We've talked about this before. You don't really need to go to university. You don't really need to get a full education, right? You can become a programmer without a lot of experience. Because our industry continues to invent new schemes all along there are people who can jump into these schemes very early. So for example, HTML. HTML was invented 20 years ago. And a whole bunch of high school kids suddenly Barrier to acceptance early on. And that, I think, has led to a good thing, which is a bunch of marginalized folks, folks who live in marginalized communities, managed to get in very easily. And they get experienced and they develop skills, and that's also good.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“No, well, yes and no, I guess. And it's been a deep puzzle. If you, let's do this differently. If you look at the political bias geographically, there is a definite political bias in the United States. You've got the two coasts, they tend to be liberal, blue states on each coast, cities tend to be more liberal. Rural areas tend to be more conservative. The Midwest tends to be more conservative. If you go to a company in Kansas City and you find a company there that has 100 programmers, Odds are those programmers are going to be conservative. It's just, you know, because of the geographical bias. Go to San Francisco. Odds are the programmers there are going to be liberal. That's just the geographical bias. Is there anything else in software that drives people in a certain political direction? Well, maybe”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“There are a number of companies that have begun to do this. So you look out in the world out there of especially software consulting firms. And there are software consulting firms out there that have based themselves on a set of principles, ethics, and disciplines. And they advertise themselves that way. And I think there will be more and more of that. So that's kind of the direction I think the industry is going to go. At least I hope it goes that way. And I hope we get there before government sticks their foot in it and kicks us all to hell.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“How do we address it? Do we need something akin to the AMA, the American Medical Association, who provides licensure for doctors? Or do we need something else? Do we need maybe a guild structure, maybe a whole set of little organizations that license their own programmers with different sets of standards and ethics and disciplines, and then let the market decide, you know, oh, those guys did better than those guys. I think we'll hire them. I don't know where that's going to come down. My fear is that it will be forced upon us by government before we can develop that solution. And I'm hoping that we can develop that solution before government sticks their little fingers in there and screws it up completely.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, so the problem. The problem is that programming has become an entirely essential job function for our society to exist. Human society can no longer exist without programmers. And that dependency is growing at an exponential rate. So you look around the room here and you'll just see dozens and dozens of little electronic things that have code running in them that just make life doable. And all of the things that we used to depend upon that did not have code running in them all now have code running in them. So your microwave oven and your refrigerator in your car, telephone, your television all has code running in it. Our society can't exist anymore. without programmers and there is no constraint on programmers to behave ethically to have any standards to have any disciplines So that's an unstable situation. It can't go on like that.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, there is, and this has been known for some time, there is a very strong correlation between programmers and musicians. People who study music or have played an instrument or have developed a musical sense often become programmers. Why that's true, I don't know. It could be the rhythmic thing, the mathematical layout of the scales, who knows. If you look at a musical composition, if you look at a sheet music, it is a program. It's got if statements, it's got while loops, it's got sequence, it's got everything. So maybe it's something like that. I don't know, but there's definitely a correlation.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“And in the midst of this, someone asked her, you know, why are you so interested in chess? And she leaned back and she said, it's beautiful, or it can be beautiful. And I think the same thing applies to software.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Michael Feathers coined a term twenty years ago, which he called design sense. He's threatened to write a book on this for the last 20 years. I haven't seen him write it yet. But the basic idea is that, yeah, there is this sense that a programmer develops over a long period of time that a bit of code or a design of a system or an architecture of a system somehow feels right. And it's an elusive kind of sense. Beautiful designs. There are beautiful architectures. There are beautiful functions which can be described as beauty and understood as beauty only by people who have the experience to look and say, oh my goodness, that's beautiful. I was watching a program on Netflix yesterday. It's called Queens Gambit. It's a new one. It's about a young girl who becomes a chess master.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“I think everybody should have an Everybody should get the experience. Probably, you know, for a four week or a six week period, everybody should do a little basic programming or Ruby programming. I want to be careful there because turn people into Ruby and put, you know, it's a very complicated language when you get into it. But you know, maybe a little bit of coding, a little scripting, a little something, so that you know basically what it's about. But other than that, I don't think there's any need to push a year-long course. I don't think that's necessary. I think the ones who are interested are going to do that on their own.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“A whole bunch of children that would sit and drive the turtle around for a little while and then lose interest and never develop the more interesting skills of putting things in variables and calling functions. Those just went, they didn't happen. And we see the same thing with things like Lego mindstorms. Now, there are children who do grab it, and you can tell they want to become programmers. But then the question is, well, wouldn't they have just grabbed it anyway? Why did they need this tool? Are these educational props actually incentivizing more people to become programmers or are they just helping the ones who would become programmers anyway? And I don't know the answer to that. I'm skeptical nowadays.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“And they span a huge period of time. So nowadays you've got things like LEGO mind blocks or Mindstorm and you've got a whole bunch of other tools that try to encourage young people to become programmers, kids that are 12, 13, 14. In the early days, we invented languages that would help young people become programmers. The logo language, for example, was all about driving a little mechanical turtle on the floor and letting it raise a pen and draw on a piece of paper and kids, you know, they would issue it commands, go forward 10, turn right 90 degrees, go forward 10, drawing squares and circles on a paper. And what we found through all of these, through all this long period of time attempting to make tools that would appeal to children is that It did not have a profound effect.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Had you asked me that question 20 years ago, I would have said there's obviously an advantage to teaching young children. I mean, if you can get the young children immersed into computer as well, obviously they're going to turn into much better programmers. And I'm not so sure that's true now. So the counter examples are the vast number of programming toys.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Son, for example, who is now a programmer and a very accomplished one, had showed no interest at all in early grade school when I got interested. I was 12 years old. So I thought, oh, okay, everybody's going to be interested at 12. Now my son didn't show any interest at all until he left home and became, or close to leaving home, late high school, early university, and came back with this interest and skill. My daughter has just turned 30 and is suddenly very interested and is acquiring a significant amount of skill. So I've seen this happen at different stages. The switch turns on and all of a sudden they've got all the motivation and the focus energy and the analytical skill they need. So I don't know, you know, it's a deep mis To me”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“It's hard to know. I think there's a certain amount of just neural wiring. Some character defect that causes you to be a programmer that not all people have. However, I have seen people who were not at all interested acquire the interest and acquire the talent at different stages of life.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Challenges, not all of which are programming challenges. Some of them are writing challenges. Some of them are speaking challenges. Some of them are presentation challenges, but a sequence of ever-increasing challenges. And then at the end of that, an assessment is made by everyone that they have talked to and they're offered a job or not. And in some cases, there's a stipend salary for that apprenticeship program. In other cases, there's not.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“So, what the conclusion I've come to now is that there is no simple test. What you need to do is spend a fair bit of time with someone and observe how well they learn over a period of time and how well they apply that learning, how well they can focus, how well they can deal with a problem analytically. period of time is probably weeks. So the kind of interviewing that I would prefer to do now, and by the way, I don't hire people anymore. I'm now just kind of me, but I know people who do hire people. And one of the ways that they do it is to ask them to join an apprenticeship program. And in that apprenticeship program, they will be given a series of ever greater”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“That's a heck of an interesting question, and one that I've struggled with for a very long time now, a number of decades, and I have found no reliable test. I used to make people. So back when I thought it was math, I used to make people solve Newton's method for calculating a square root. I just draw it on the board. I draw parabola on the board and say, okay, here's the slope. It's the derivative of the function. Now come up with an algorithm and I'd let them use any language they wanted. And I thought that was a pretty good approach. And then I found people that were very good at that, but could not do other things. Then I thought, okay, I'm going to describe the siva veritosthenes, beautiful algorithm for finding prime numbers, right? I'm going to describe that in simple terms and have them write some pseudocode and show me that they can actually build a doubly nested loop.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Both actually. So as you take on a job, you want to specialize in the business that you're in for a period of n years, whatever N is, might be two, might be three, probably that short though. And get to know that business and then see if you can move to a different business domain and spend two or three years on that and then try another business domain and spend two or three years in that. And by that time you've got a nice broad business domain. And that will allow you to infer other business domains because business domains have similarities and differences. But once you've got three or four of them in your head, you can start to triangulate.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Understand the telephone company. And so much of the early education of a programmer in a mentorship program at a company is really about the company and not about programming. This is what we this is our field of expertise. This is what we do. This is what an insurance claim is. This is what all these other things are. This is how we think about it so that you can effectively apply the business knowledge to the problem of writing code. And that brings us full circle because you had asked me originally and you'd said, well, aren't we going to eventually have these machine learning things that can write code? And the answer to that is probably not because it's the intuitive knowledge of knowing the business you're in that allows you to make these low level decisions that the business people don't want to make.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Siri just yelled at me for saying run of the mill. If you're going to be writing the code that runs inside my refrigerator, for example, the machine control software inside my refrigerator, probably you don't need a tremendous amount of math for that, a good high school algebra would probably do enough, maybe a little bit of pre-calc, probably enough. I don't think you need, you know, deep math theory for that kind of stuff. Even the guys who do game work even though that's pretty heavy physics stuff, all that physics stuff was already in the physics engines. So most of the time there, I think you don't need all that math. Is it important for a programmer to know the business they're going into? And the answer to that is yes. If you're going into an insurance business, you better know the insurance business. If you're going to be a programmer in the telephone company, you better.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“If you're going to be doing a really deep, interesting financial stuff, going to be one of the quants in a stock exchange or something like that, probably need to know a little bit of good math, right? On the other hand, if you're a run-of-the-mill programmer writing code for, oh, I don't know, maybe. Yeah.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“I used to think that was true, and I actually hired someone because they had got a master's degree in mathematics. And I thought, okay, master's degree in mathematics, you're going to be able to think this way. You're going to be able to focus. You're going to be able to do this. And I've found myself very disappointed with the way this person became a programmer. Now, eventually they succeeded, but it was not the quick success that I had expected. It took a lot of working and a lot of failure. to get this person's mindset into the programming mindset as opposed to the mathematics mindset. So there's a difference there. Now, is it worthwhile knowing mathematics as a programmer? Yeah, in certain fields, it certainly is. I mean, if you're going to be doing any kind of physics work, you're going to be writing the code for a particle accelerator, probably want a little bit of math, right?”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“So we've got some demonstration that at least 1% of the population has this skill, close to 1%. Maybe it's as high as five to 10%. Could be that high. Could be. I've had a number of experiences trying to teach people to program and not being able to get through after about 10 minutes. You know, their brain just goes somewhere else. They can't do it. That seems to be much more common than the other talent, which is where the person that you're trying to teach gets excited and focuses in with you. And that is much rarer.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Tough question to ask. What percentage of the human population has the aptitude for programming? I think there are 100 million programmers in the world right now. That's just a guess, but I think that's about right. And that would be, what, 180th of the population”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“On very narrow things for very long times. And there are people who simply cannot do that. It's just not in their mental wiring. They cannot do it, but some programmers can or some people can, and they can become programmers. So you ask the question, why are we putting out corporate lawyers? Computers. It's a very different kind of mindset.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“I'm going to try and interpret that question carefully. When I was a young programmer, I thought anybody could do this. That was my fundamental hypothesis. Anybody could learn this. It's ones and zeros. I mean, how hard does ones and zeros? It took me a very long time and a number of very expensive mistakes hiring people to realize that not everybody can do this. And in fact, the number of people who can do this is much smaller than I had at first thought. It is not a rare talent, but it is not a massively common talent either. And the talent requires a number of things, right? There's this need to be a deeply analytical. And there is this need to be able to focus.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“A half get a good job with some mentors and learn it that route. Learn it that way. I think that is a much better way for young programmers to become programmers. Not go to university. It's not worth a four-year education. The amount of money you'll spend on that four-year education is not going to be worth the programming knowledge you get. Now it might be worth a whole bunch of other knowledge. It's not worth the programming knowledge you're going to get. If you want to be a computer programmer and you're just getting out of high school, I'd be looking at a trade program, some kind of a trade school or a boot camp or something like that. Some of these boot camps are not very good. So I'd be real careful about that. But some kind of program like that where you can spend a few months learning a language like Java or C sharp or something like that and then move on to a job which has a mentor.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“I don't think it's a university kind of thing. Again, this is a discipline that is only 70 years old. There is not that much in it. There's far more cruft in it than there is actual knowledge, actual solid, teachable knowledge. And the vast majority of the skills that a programmer needs are trade-like skills, not educational-based skills, right? Or not university kinds of skills. If you want to be an electrical engineer, you have to go to university. There's just a tremendous amount of stuff you've got to learn there. If you want to be a doctor, you've got to go to a hell of a lot more than a university. But to be a programmer, and a good programmer, this is a skill that you can learn at a community college or in a trade school over a period of a year, maybe a year.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Five years say can become adept at GUI programming, middleware programming, database programming, telecommunications programming, threads, all of this stuff can become well healed inside of a five-year experience program. Ten years even better, right? So it's not like being a doctor or a lawyer where you absolutely must specialize and narrow your focus down to a razor. Programmers can still be real general practitioners.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Point at a computer system and say, well, I know everything about my MacBook Pro. No, you don't. It's just too much crud in there. So there is a much longer learning curve to become as adept at programming as those of us who started 50 years ago and had to climb that tree while we were working. On the other hand, it is not like being a doctor yet. If you want to become a doctor, you must specialize. There's no way to go forward in medicine without specializing. Even a general practitioner is a specialist nowadays because they have to exclude all his other stuff they cannot do. And we are not there yet. A programmer over a period of”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“It takes longer now because there's so much more cruft that you have to wade through. When I was a young programmer, the machine that I was working on was initially a PDP-8. I've got a little mock-up of a PDP-8 sitting right there. It must have blown through a power failure because it's not doing what I usually have it do. But that was a very simple machine. It was a 4K machine, 12-bit word, half megahertz clock right. And there were no libraries. There were no frameworks. There was no nothing, right? If something executed in that machine, it's because you wrote it. And a programmer in those days could know everything about the computer. And it wouldn't take very long. It would take a matter of months to eventually get to the point where you just knew everything. Those days are long gone. It's now not feasible.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Teams of programmers are far more creative than programmers working alone, but they also go in many different directions at once. So you need a leader. A team has to have a lead.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“We'll see how that goes. We'll see how that goes, but under no circumstances will there not be a programmer involved. Someone with the same skills that you and I have today, someone who has deeply analytical at a detail manager and is watching out for all the dumb little gotchas that the machine has no clue and no strategy for addressing.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“And then watch the tool as it starts to develop a program. And then I, as the programmer, watching what it's doing start tweaking parameters around the outside saying, no, no, not that, not that. This, this, go in this direction. Will I be able to do that? Yeah, I'd say that's probably very likely sometime in the next couple of decades that the way we program computers will be more like training a dog rewarding it in the right circumstances and punishing it in the others”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Programmers still arrange programs in little units of sequence selection and iteration. Will we continue to do that? Well, I think that's a very interesting question. And we've had some hints about other possibilities. If you've ever programmed in Prologue, for example, you see that the sequence selection and iteration gets transformed into something else equally detailed, but it's not sequence selection iteration anymore. It's declarative truth. I'm not going to go deep into prologue, but if you want to bend your brain around a concept that you're not familiar with, study prologue for a couple of days. But in the end, are we going to get to a situation similar to my autopilot, where I can set up some parameters in a tool?”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“For the programmer to be there and supervise those tools. I'm a pilot. I fly a plane. The plane has a beautiful autopilot. I can turn it on and the plane will fly itself all the way to my destination and I watch that thing like a hawk because it's a machine and it's going to do the wrong thing at exactly the wrong time. So I sit there and I watch that autopilot and every time it's supposed to do something, I make sure it does that thing. I'm still in charge. It's not.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Touring was doing binary programming. You've got the first object-oriented language. C comes along in 68 two years later. C++ comes along 12 years after that. And we've got this massive progression of incredible amounts of help to the programmer. Then in the late 90s, we start getting this wild stuff in our tools, the intelli sense and the refactoring tools and the inspectors and the duplication finders. So a modern IDE is a treasure trove of tools that allow a programmer to do immensely more complex things than we used to be able to do. So yes, I hope that machine learning continues to make our tools more powerful. But that will never alleviate the need.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Sure. I mean, we've already had that for the entire span of programming. We've been doing that. The original programs were written in binary, right? So Alan Turing working on the automated computing engine was literally writing things in binary because there were no languages. And then eventually we made an assembler. Can you imagine the benefit of an assembler over binary, all that horrible binary math that you had to do? You don't have to do anymore and you can write your code in symbolic form. That's already a huge advantage. And then along comes John Bacchus with the Fortran spec in 1953. And what a huge advantage that was over assembly language. Algol came along pretty quickly. By 1966, you've got Ola Johan Dahl and Christian Nygard inventing objects. This is, you know, 20 years after Alan.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“And DOS and all this crap. And we're the ones writing the dumb little if statements to deal with the bizarre little exceptions that no business person wants to even think about. If we tried to make a deep learning machine that could deal with all that stuff, we would wind up with a Hal 9000, something that has human intelligence. And we are so far away from that that it does not concern me in the slightest some deep learning machine will eventually take over all the programmer's jobs.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Someone has to specify the way the program is going to work. And that specification is in fact the program. No other specification will suffice. So a business user comes along and he creates a rough specification, but is depending on the human intuition and the human intelligence of the programmers to fill in all the horrible little blanks that the business person omitted. We programmers are detail managers. We deal with all the mess. We're the ones who deal with the fact that text files sometimes terminate lines with backslash n, but sometimes terminate lines with backslash n backslash r for reasons that go back 50 years because of teletypes and units.”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source
“Pretty straightforward answer. There's a fundamental reason behind this. In order to finally replicate programming, if you wanted a machine that could program like a human, that machine would have to have human sentience. And we are very, very, very far away from that kind of a machine. Why would we need human sentience?”
2020-11-28 · Dwarkesh Podcast · Uncle Bob - The Long Reach of Code · IDENTIFIED FROM THE TRANSCRIPT · source