YouSaid · the spoken record
James Gosling
- lines on the record
- 104
- first
- 2020-09-24
- most recent
- 2020-09-24
- 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
“Right. I mean, that's just a recipe for disaster. I mean, there are counter examples, but they're more people who benefited from luck.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Right. Well, because they do things that get them in the press. And, you know, the people who. You know, don't. The kind of things that spill into the press.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“No, I don't think you need to do that. You know, I think there's pushing people to excel. There's too far. And I think he was on the wrong side of the line. And I've never worked for Musk. I know a number of people who have, many of them that have said, and it's, you know, shows up in the press a lot that. That Musk is kind of that way. And one of the things that I sort of loathe about Silicon Valley these days is that A lot of the high flying successes are run by people who are complete jerks. But it seems like there's become this sort of mythology out of Steve Jobs that the reason that he succeeded was because he was super hard on people. And in a number of corners, people start going, oh, if I want to succeed, I need to be a real jerk. And that for me just does not compute. I mean, I know a lot of successful people who are not jerks.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“And that was absolutely true. And I interviewed with him several times. I did, you know, various negotiations with him. Even though Personally, I liked him. I could never work for him.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, that's the question, right? So you take people like. Steve, who was really hard on people. And so the question is, was he really, was he needlessly hard on people or was he just Making people reach to Meet his vision. Could kind of spin it either way.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah, yeah. And, you know, to Musk's credit, he's a really sharp guy. So going back in time a little bit to Steve Jobs. You know, Steve Jobs was a similar sort of character who had a strong vision and was really, really smart. And he wasn't smart about the technology parts of things, but he was really sharp about the... The sort of human relationship between the relationship between humans and objects. He was a jerk.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah. And, you know, Bezos had a vision. And he had the ability to just follow it. Lots of people have visions, and the average vision is completely idiotic and you crash and burn. You know, the Silicon Valley crash and burn rate is pretty high. And they're not, they don't necessarily crash and burn because they were dumb ideas, but often it's just timing and luck. And, you know, you take companies like Tesla. And really the original Tesla sort of prelon. Was kind of doing sort of okay. But he just drove them. And because He had a really strong vision. He would make calls that were always, you know, or, well, mostly pretty good. I mean, the Model X was kind of a goofball thing to do.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Right. But Amazon and Google and Tesla and Facebook, a lot of those had what amounted to patient money. Often because there's like a charismatic central figure who has a really large block of stock. And they can just make it so”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Over some quarter. And many of these transitions. Involve a big hit for a period of time, you know, one, two, three quarters. You get some companies and, you know, like. Tesla and Amazon are really good examples of companies that take huge hits They have the luxury of being able to ignore the stock market for a little while. And that's not so true today, really. But in the early days of both of those companies, they both did this thing of Don't care about the quarterly reports. I care about how many happy customers we have. And having as many happy customers as possible can often be An enemy of the bottom line.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“So you can draw the graphs you want that show that if we leap from here on our present trajectory, we're doing this and there's a cliff. If we force ourselves into a transition and we proactively do that, we can be on the next wave. There will be a period when we're in a trough. And Pretty much always there ends up being a trough as you leap the chasm. But the way that public companies work on this planet. They're reporting every quarter. And the one thing that a CEO must never do. Is take a big hit.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“And when they did the math, Never started to make sense for them to kind of lead the charge. And part of the issues for a lot of companies for this kind of stuff. Is that, you know, if you're going to leap over a chasm like that, like with Kodak going from film to digital? That's a transition that's going to take a while. We had fights like this with people over smart carts. The smart cards fights were just ludicrous.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“I take the leap. Why take the leap? Because you're making so much money off of film. And in my past at Son, one of our big customers was Kodak. And I ended up interacting with folks from Kodak quite a lot. And they actually had a big Digital camera research and digital imaging business or development group They knew that you just look at the trend lines and you look at the emerging quality of. These digital cameras. And you can just plot it on the graph. And it's like, Sure, film is better today. But You know, digital is improving like this. The lines are going to cross. And, you know, at the point at which the lines cross is going to be a collapse in their business. And they could see that. They absolutely knew that. The problem is that, you know, up to the point where they hit the wall, They were making truckloads of money.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“In that, you know, it wasn't if you're in a position where you're making Truckloads of money off of a particular business model. You know, the whole thought of like, you know, leaping the chasm, you can see, oh, new models that are more effective are emerging. So, like digital cameras versus film cameras Know, I mean,”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“That was like in the early 90s. And we thought this would be great. And the kind of content we were thinking about at the time was like, you know, home movies, kids' essays. Stuff from grocery stores or, you know, or a restaurant. That they could actually start sending information about. And And the reaction of the cable companies was like, Because then we're out of business”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, yeah. I mean, there was one proposal that we. One detailed proposal that we wrote up back at Sun in the early 90s that was essentially like, look, anybody, you know, with internet technologies, anybody can become provider of content. So, you know, you could be distributing home movies to your Parents or your cousins, or who are anywhere else, right? So anybody can become a publisher.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, so the people who, most of the people who worked at the phone company or at the cable companies, their view was that their job was getting delightful content out to their customers. And their customers would pay for them, would pay for that. Higher up, they viewed this as a way of attracting eyeballs to them And then what they were really doing was selling the eyeballs. We're glued to their content to the advert”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Dawn on most people who worked at the cable companies. But, you know, I had various dust ups with various cable companies where you could see, you know, in the stratified layers of the corporation that this, this, this, this, this view of, you know, the reason that you have Cable TV is to capture eyeballs. You know, there.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Who fought the internet? So fundamentally the cable TV companies and broadcasters and phone companies. At the deepest fibers of their being, they hated the internet. But it was often kind of a funny thing. So think of a cable company. Right. Most of the employees of the cable company, their job is getting TV shows, movies, whatever out to their customers. View their business as serving their customers. But as you climb up the hierarchy in the cable companies, That view shifts because The business of the cable companies. Had always been selling eyeballs to advertisers. Um... Know that view of like a cable company didn't really.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Fundamentals have hardly changed. And the technologies behind the networking have changed significantly. The watershed moment of going from the ARPANET to the internet. And then people starting to just scale and scale and scale. I mean The scaling that happened in the early 90s. The way that So many vested interests fought the internet.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“My life had gotten to where I was living on social media from the Early mid 80s. And so when it sort of transformed into the internet and social media explodes, I was kind of like, what's the big deal?”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“So it's like sending a one line message to somebody, right? And so pretty much everything from Arranging lunch to going out on dates was all like driven by social media. Right in the 80s.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Know some of it is remarkably unchanged One of the things that I noticed really early on. When I was at Conne Mellon was that. Lot of social life became centered around the ARPANET. So, things like, you know, between email and text messaging. Because text messaging was a part of the ARPANET really early on. There were no cell phones, but you're sitting at a terminal and you're typing stuff.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Oh, yeah At that time, I had done a lot of sea coding. This was in 86. It was running well enough to for me to use it to edit itself within a month or two. And then it kind of took over the university. Yeah, and then it went outside and largely because Unix kind of took over the research community. on the ARPANET. And Emacs was. Kind of the best editor out there. It kind of took over. And there was actually a brief period where I actually had login IDs on every non-military host on the ARPANET. Know because people would say, Oh, can we install this? And I'd like. Well, yeah, but you'll need some help.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah, so I did a lot of work. I spent like a really intense three months working on this Pascal compiler, basically living in Emacs. And it was the one written in MacList by Bernie Greenber And I thought, wow, this is just a way better way to do editing. And then I got back to CMU where we had kind of one of everything. and two of a bunch of things and four of a few things. And since I mostly worked in the Unix universe, and Unix didn't have an Emacs, I decided that I needed to fix that problem. So I wrote this implementation of Emacs in C because at the time C was really the only language that worked on. On Unix”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Sort of a mental image of your document, you have to go, okay, so the cursor is between the A and the E. And I want to exchange those so I do these things, right? So it is almost exactly the EMAX command set. Well, it's roughly the same as Emacs command set, but using Emacs with your eyes closed. So what Emacs, you know, part of what Emacs added to the whole thing was being able to visually see what you were editing in a form that matched your document. And a lot of things changed in the command set. Because it was programmable, it was really flexible. You could add new commands for all kinds of things. And then people rewrote Emacs multiple times in Lisp. There was one done at MIT for the Lisp machine. There was one done for Multics. And one summer I got a summer job to work on the Pascal compiler for Multics.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Way worse than they take, way, way worse than late. But, you know, if you use Tico a lot, which I did, Tico was completely optimized for touch typing. At high speed. So there were no two character commands. There were a few, but mostly they were just one character. So every character on the keyboard was a separate command. And actually every character on the keyboard was usually two or three commands because you hit shift and control and all of those things. It's just a way of very tightly encoding it. And mostly what Emacs did was it made that. That visual So one way to think of Tico is use Emacs with your eyes closed. Where you have to maintain a mental model of”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“And the macro language for Tico was probably the most ridiculously obscure format. You know, if you just look at a Tico program on a page, you think it was just random characters. Really looks like just line noise.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“And the original Emacs came out as so Emacs stands for editor macros. And Tico had a way of writing macros. And so the original Emacs from MIT sort of started out as a collection of macros for Tico. But then the sort of Emacs style got popular originally at MIT. And then people Did a few other implementations of Emacs that The code base was entirely different, but it was sort of the philosophical style of the original Emacs.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, if what you're using, if your input device is a teletype, it's pretty good. It's certainly more humane than Tycho, which was kind of the common thing in a lot of the deck universe at the time.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“At that time, so that was in. Like 85 or 86. Had been using Unix for a few years. And, um, Most of the editing was this tool called ed, which was sort of an ancestor of VI. And...”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“So it had coroutines which are almost threads. The thing about coroutines is that they don't have true concurrency. So you can get away without... Really complex locking. You can't usably do coroutines on the multi-core machine. Or if you try to do coroutines on the multi-core machine, you don't actually get to use the multiple cores. Either that or you, you know, because you start then having to get into the universe of semaphores and locks and things like that But in terms of the style of programming, you could write code and think of it as being multi-threaded, the mental model was very much a multi-threaded one. And all kinds of problems you could approach very differently.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“No, it was the first object-oriented adventure. Language Really where object oriented and languages sort of came together. And it was also the language where co-routines first showed up as a part of the language. So you could have a programming style that was You could think of it as multi-threaded with a lot of parallelism.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Well, I guess the number one thing to not love about it is so freaking many parentheses. On the love thing is, you know, out of those tons of parentheses, you actually get an interesting language structure. And I've always thought that there was a friendlier version of Lisp hiding out there somewhere. But I've never really spent much time”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“I guess I never really thought of any particular language. Beautiful because it was never really about the language for me. It was about what you could do with it. And even today, people try to get me into arguments about particular forms of syntax for this or that. And I'm like, who cares? It's about what you can do, not how you spell the word. And, you know, so back in those days, I learned PL 1 and Fortran and Cobal. And by the time that people were willing to hire me to do stuff, you know, it was mostly assembly code and PDPA assembly code and Fortran code. Control data assembly code for like the CDC 6400, which was an early, I guess, supercomputer. Even though that supercomputer has less compute power than my phone by a lot.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Right. So it was like on a teletype. So it's using something that's Kind of like a typewriter. And then using those to plot functions.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“So mostly anything of any size was assembly code. Actually, before I learned assembly code, there was this programming language on the PDP8 called focal five. And Focal5 was kind of like a really stripped down Fortran. And I remember playing building programs that did things like play Blackjack. Or solitaire, or for some reason or other, the things that I really liked were ones where they were just like plotting graphs.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Oh, for so many reasons. For so many reasons. I mean, you know, you're, you know, it's pretty common for teenage geeks to discover, oh, thermite, that's real easy to make.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Out of relays. Of course, the thing that was really hard. Was that all the relays required a specific voltage, but getting a power supply that would do that voltage was pretty hard. And since I had a bunch of trashed television sets. I had to Sort of cobble together something that was Wrong but worked. So I was actually running these relays at 300 volts. and none of the electrical connections were like properly sealed off.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah. If you've got access to a computer, you can build all kinds of crazy stuff. And... You know, and when you were somebody like Me who had really no money. And I mean, I remember just lusting after being able to buy like a transistor. You know, and when I would do. Sort of electronics kind of projects, they were mostly made done by like dumpster diving for trash. And, you know, one of my big hauls was discarded relay racks from the back of the phone company switching center.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“It was just a cool, yeah. It was just a toy. I had always liked building stuff But one of the problems with building stuff is that you need to have parts. You need to have pieces of wood or wire or switches or stuff like that. And those all cost money.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah, yeah. It was It was the first computer ever built with integrated circuits. But by integrated circuits, I mean that they would have like 10 or 12 transistors on one piece of silicon Not the 10 or 12 billion. That machines have today.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“There actually was a time-sharing OS for that, but it wasn't used really widely. The machine that I learned on was one that was kind of hidden in a back corner. Of the computer center. And it was. Was bought as part of a project to do computer networking. They didn't actually use it very much. It was mostly just kind of sitting there. And it was kind of sitting there and I noticed it was just kind of sitting there. And so I started fooling around with it. And nobody seemed to mind. So I just kept doing that.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“No, the PDP-8I was the first thing that people were calling like a mini computer. Were sort of inexpensive enough that a university lab could maybe afford to buy one?”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“I have no idea what the first one was. I mean, I know the first machine that I learned that I learned to program on. Was a PDP-8. At the University of Calgary”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Of different sizes. Yeah. Yeah, I see them more like that than I see the sort of verbal structure or the lexical structure of letters.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“So when I look at a piece of code on a piece of paper, it very quickly gets transformed into a picture. And, you know, it's almost like a piece of machinery with. This connected to that and”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah, I've had multiple times when engineering teams have. Staged what is effectively an intervention. You know, where they invite me to a meeting and everybody's arrived before me and they sort of all look at me and say, James, about your coding style. I'm sort of an odd person to be programming because I don't think very well verbally. I am just naturally a slow reader. I'm what most people would call a visual thinker.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“Yeah, well, to maximize the amount that I can see at once. So I like to be able to see a whole function and to understand what it does rather than have to go scroll, scroll, scroll, and remember, right?”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“It did stick pretty Clearly for me, because one of the things that I care about is being able to Sort of look at a piece of code and be able to prove to myself that it works. So, for example, I find that I meant odds with many of the people around me over issues about how you lay out a piece of software. So software engineers get really cranky about how they format their documents that are the programs, where they put new lines and where they put the...”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source
“I don't think of it as, I mean, you know, you watch somebody who's good at math do math. Often it's fairly messy. Sometimes it's kind of magical. When I was a grad student, one of the students, his name was Jim Sachs, was He had this This reputation of being sort of a walking, talking human theorem-proving machine. And if you were having a hard problem with something, you could just like a costume in the hall and say, Jim, and he would do this funny thing where he would stand up straight. His eyes would kind of defocus. Just like something in today's movies. And then he straighten up and say N log in and walk away. And you go, well, okay, so n login is the answer. How did he get there? By which time he's down the hallway somewhere.”
2020-09-24 · Lex Fridman Podcast · #126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing · IDENTIFIED FROM THE TRANSCRIPT · source