Hacker News new | past | comments | ask | show | jobs | submit login
James Gosling: Java, JVM, Emacs, and Computing History [video] (youtube.com)
125 points by arbhassan on Sept 26, 2020 | hide | past | favorite | 63 comments



Lex is killing it with the interviews! Stay true to yourself lex and you will go far!


I felt like there was much more to say in the interview, need a part 2 asap


I hadn't seen an image of James Gosling with white hair. Felt the sudden weight of the years. Then when he mentioned he worked on the Pascal compiler, and I realized that he was just a student when Nicklaus Wirth was already a legendary computer scientist.


11:30 - ~14:40 seems James has some form of synesthesia


Richard Stallman on James Gosling:

“[…] a friend of mine told me that because of his work in early development of Gosling Emacs, he had permission from Gosling in a message he had been sent to distribute his version of that. Gosling originally had set up his Emacs and distributed it free and gotten many people to help develop it, under the expectation based on Gosling’s own words in his own manual that he was going to follow the same spirit that I started with the original Emacs. Then he stabbed everyone in the back by putting copyrights on it, making people promise not to redistribute it and then selling it to a software-house. My later dealings with him personally showed that he was every bit as cowardly and despicable as you would expect from that history.”

— Richard Stallman, lecture at KTH (Sweden), 30 October 1986


James Gosling has contributed more to humanity than the overwhelming majority of people who have ever lived. I think he deserves better than this narrow, one-sided libel.


I can attest to many mortgage payments successfully made thanks to Java.


Really? By inventing Java?


Absolutely. Java was the first mainstream language with automatic memory management and garbage collection. You have to remember that before that people were building line of business applications in C or C++.

Java made it possible for average engineers to turn out relatively reliable applications, in a fraction of the time it'd have taken them with any other option (apart from Smalltalk but it was already niche by then).


Also, Java’s JDBC was hugely helpful in standardizing sql/rdbms database access for enterprise programmers.


> Java was the first mainstream language with automatic memory management and garbage collection

Wouldn't this be Lisp?


No, no. Mainstream is actually a stream in Scotland, pronounced a lot like "mine stream", and also the name of the surrounding region and a village therein. The programmers living in Mainstream are True Scotsmen, and the first garbage collected language that these True Scotsman Mainstream programmers used was in fact Java.


I don't particularly like java. Most don't. But it's undeniably well designed.

Some of its design choices have fallen out of favour in recent times—I still disagree with their elision of unsigned integers—but they're generally at least defensible.


No, it is not well designed. Just about every major feature has something incidentally or fundamentally wrong. It is proof that a language does not need to be good to succeed. But it does need a miracle.

Java took off because it offered developers a path out of serfdom to Microsoft, at a time before the smartphone era somewhat reduced their market power. Once it had enough users to benefit from network effects, its future was assured. It took Sun putting billions of dollars into promoting and supporting it to get there.

Sun's commitment to Java probably killed the company, in the end.

There were better-designed languages at the time, and there have been plenty of much better-designed languages since, that have or will fail to displace it. Rust might be counted among these.


Rust and Java are so far apart it's not even funny.

Can you give some examples of parts that are not well designed?


Not GP, but there's a type unsoundness bug with the fact that you can assign an array of a subtype to an array of a super type (apologies if my syntax is off; I haven't written Java in a while):

class Animal {} class Cat extends Animal {} class Dog extends Animal {}

Animal[] cats = new Cat[1]; Animal dog = new Dog(); cats[0] = dog;

This will compile fine but throw an error at runtime. The only possible way to avoid runtime errors with assigning a Cat array to an Animal array is if you only put Cats in it, at which point it would make more sense to just use a Cat array, so it would have been better design to make assigning a Cat array to an Animal array a compiler error.


Huh, I'm surprised the problem is present. Presumably this is valid?

  Animal[] a = new Animal[2];
  a[0] = new Dog();
  a[1] = new Cat();
If you can upcast Cat to Animal, why can Cat[] not be converted to Animal[] in the same way?


Depends on whether you intend to write into the array, or only read it.

If you could make sure the array is read-only (which you can't, in Java), it would make sense to say that "Cat[]" is a subclass of "Animal[]".

The problem happens when you write. "Animal[]" means that you can put any kind of animal (not just Cat) into the array; and this is not true about "Cat[]"; therefore, "Cat[]" shouldn't be a subclass of "Animal[]".

Unfortunately, Java treats "Cat[]" as a subclass of "Animal[]", and then runtime errors can happen when you write to the array. And because of backwards compatibility, this problem is not going to go away.

Later they got it right with generics. "List<Cat>" is not a subclass of "List<Animal>". (But both of them are subclasses of "List<? extend Animal>", which means: a read-only list of Animals.)


> If you can upcast Cat to Animal, why can Cat[] not be converted to Animal[] in the same way?

Basically, because it's not type safe (for the reason I gave above). It doesn't really help expressivity to be able to assign a Cat[] to an Animal[], but as you can only use it safely if you only put cats in it, so you might as well just make the variable Cat[] instead of Animal[]. See the section on arrays in this wikipedia article: https://en.wikipedia.org/wiki/Covariance_and_contravariance_...


Generally - but signed bytes (at least as implemented) are really fucking stupid.


Guy Steele,[1] Java spec co-author, LL1 Mailing list (2003-08-21):

> And you're right: we were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Aren't you happy?

* https://people.csail.mit.edu/gregs/ll1-discuss-archive-html/...

A follow-up noted:

> Yes! Java broke C++'s monopoly, and now C# is breaking Java's, and this sequence of broken monopolies dispelled the belief that have to use "the standard language", and now I code in Python for a living.

[1] https://en.wikipedia.org/wiki/Guy_L._Steele_Jr%2e

Steele is/was well-acquainted with the bad parts of Java—he helped design Scheme after all. But in the alternative timeline where Java was not created, Java (and other machine-independent runtimes) would have not have become popular, and everyone would still be statically compiling C++.


> But in the alternative timeline where Java was not created, Java (and other machine-independent runtimes) would have not have become popular, and everyone would still be statically compiling C++.

I don’t know if that’s actually true. Computers were getting more and more powerful in the 90s, and hence more capable of supporting memory-managed and dynamic languages. Had Java not existed, I think that there’d be a very good change that Smalltalk or Lisp would have taken off instead. Indeed, looking at the late 90s, I think that there’s a good chance that the world would have gone with Smalltalk, and the computing industry would actually be light years ahead of where we are now.


Yeah, like it or not, but technologies that changed the World and gave tremendous boost in adoption of IT were C, SQL, Visual Basic and Java.


"We were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp." - Guy Steele



Well, the "overwhelming majority of people" have not done even that...


You must be a Java programmer.


> James Gosling has contributed more to humanity than the overwhelming majority of people who have ever lived.

Not more than stallman though. Nowhere close to stallman.

> I think he deserves better than this narrow, one-sided libel.

Richard Stallman has contributed more to humanity than the overwhelming majority of people who have ever lived - including gosling. I think he deserves better than this narrow, one-sided libel. See how that goes. Or how about we let people have their say? Regardless of how much they contributed to humanity.


I suspect there may also be another side to this story.


Here's at least part of it: https://www.reddit.com/r/programming/comments/dhrcxw/james_g...

And a transcript if you don't like video: https://archive.computerhistory.org/resources/access/text/20... The Stallman stuff starts on page 30.


Gosling's version paints a decidedly different picture than the GGP's quote from RMS.

I wonder if RMS was mad at Gosling for having the temerity to allow Unipress to sell his (Gosling's) version of Emacs, instead of leaving the Gosling version free for everyone as required by RMS's personal purity code?


Gosling: Right. I mean, you can't sue a homeless person, right, which is, you know, he-- Yeah, he had sort of weird views on, you know, economic models at the time.

Weber: And personal hygiene.


Rough wording for sure, but Stallman was living in his office.


RMS is very critical of things and as much as I have great respect for him I cant just take his side without all the facts. I dont even know a single person paying for emacs today either way. Seems like an old beef thats dead as dead can be considering GNU Emacs seems to have won out. Unless you are Walter Bright, you do you sir, you are awesome! I guess same with Linus who uses Micro Emacs if I remember correctly.

I always wanted to get more into emacs but I spend more time fighting the setup to bother anymore. I love Spacemacs but I am leaning more towards Neovim + Spacevim since its pretty damn nice.


RMS is a very black and white, tunnel visioned, ideologue: there's no gray. You can ask him his thoughts about a great new general technology and he'll stop you before you describe it and ask how it pertains to open source; if you don't answer exactly in alignment he will immediately dismiss you and shut down the conversation without hearing the question. (edit, I tried this once in person). He's absolutely correct, having given us the route to modern software reuse, but at the same time a highly dysfunctional person.


I agree with you entirely. I think the sweet spot is more obvious to me and you: software applications don't really need to be open source, but if the Operating System is, it allows a lot of flexibility, not to say people can't be flexible on proprietary operating systems, but I think for systems utils and kernels open source has strong benefits.

What I really think we're all missing out on is companies pushing more legacy GPU drivers out under an open source license, or opening up a spec for the community to build a correct open source derived driver from at the very least. It's a shame I can have a really irrelevant GPU that would be perfect for a Linux OS (I'm talking ATI level of old) and yet I can't get proper drivers and they wont be releasing any updates but I'm sure the old drivers are probably still functional enough to make my experience on Linux slightly more pleasant.

Engineers need to get paid, and not a lot of people become as successful as quickly with fully open sourced works.


There’s no way RMS asked you how something pertains to open source. :)


True, verbatim would be capital-F Free software.


For a more balanced view of what this is quote refers to see: https://en.wikipedia.org/wiki/Gosling_Emacs


you can read the threads on usenet at that time: March 20, 1985 is the launch of GNU emacs - first "clean" version of emacs is July 15, 1985

Fen Labalme message: https://groups.google.com/d/msg/net.emacs/Vxp_Is2A5Cs/l6AmKi...

Unipress message about the "portions of the GNU Emacs program are most definitely not public domain" https://groups.google.com/forum/#!msg/net.emacs/ZmwEvkr9Jfs/...

RMS explaining what code he used: https://groups.google.com/d/msg/net.emacs/eyFgYVrEe0Q/Avxp17...

and then some more discussions: https://groups.google.com/d/msg/net.emacs/DRVCmoISBEU/efLdK-...

https://groups.google.com/d/msg/net.emacs/PXHNtn7v4Rc/OFi1Ef...

https://groups.google.com/d/msg/net.emacs/-2IaisY2N0Q/r4Fd9N...

https://groups.google.com/d/msg/net.emacs/dytp5TT-02I/zUI4Ul...

and one from GvR https://groups.google.com/d/msg/net.emacs/HJOjV7_2cyY/Bm6oUm...

https://groups.google.com/d/msg/net.emacs/ilF9KtBimCk/WwO5NS... has the cost of getting an EMACS tape from RMS "GNU Emacs can be obtained from anyone who has a copy or by sending $150 payable to me"

On old emacs source code: https://github.com/larsbrinkhoff/emacs-history


Those links seem to completely confirm Stallman’s side of the story.


That's really disgusting behavior.


> That's really disgusting behavior.

Whose — Gosling's, or RMS's?


teddyh's, for injecting this vapid negativity into the discussion.


RMS it is not first time he is loose with truth.


The 1980s are far, far from "the early days or computing."


Ok, they're at least history, so maybe we'll switch to that above.


Is the host going to a funeral after recording the podcast with no time to change?


>Is the host going to a funeral after recording the podcast with no time to change?

I've seen your comment go from heavily downvoted (I didn't downvote it) -- to upvoted.

To me, your comment seems mean-spirited and detracts from anything else positive that can be said about the actual content of the interview.

Personally, it didn't occur to me to be bothered by the business suit. For others that agree with gp's funeral comment and upvoted it, can you explain what bugs you about the outfit?

Is the attire signaling pretension?!? If you weren't aware, some of his other videos show how insecure he is with his place in life and how his accomplishments don't compare to those he admires. He's not a pretentious guy. The business suit just seems like a consistent "visual identity" since he goes on the road for interviews. He doesn't have a full studio and the "star power" to attract guests to his home location.

EDIT to reply: "> I was always taught it was disrespectful to wear a black tie because it's reserved for people grieving."

Interesting. I've been to several Catholic/Protestant/Jewish funerals and have never heard of that etiquette rule. I've also seen non-grieving people wear black colored ties to business meetings and formal dinners. Some like the "Men in Black" look.


Not the suit - the tie. I was always taught it was disrespectful to wear a black tie because it's reserved for people grieving. Different communities are different though I guess. And maybe he's grieving in some regard, I suppose.


The host of this show is known for wearing that exact outfit pretty much everywhere.


Definitely not universal.


No he just always wear suits because he likes the feeling of wearing one. His first episode on JRE (he's been on ~5 IIRC), he talks about it


never occurred to me that people might relate it to a funeral. Interesting, but probably cultural?


Lex Fridman is to tech interviews what Reviewbrah is to cheeseburgers.


clearly the talk show format of 10 minutes with a guest with a few commercials interspersed in is very far from ideal, but just as far from ideal is 1h51m with a guest.

Has someone posted a shorted edited version of this yet?


I listend to the interview as a podcast. It could have gone on for another hour if you ask me. I really like the long form interviews. It allows the guest to not just make there point but to tell the story how they came to that conclusion. That way its easier, at least for me, to internalise that knowledge.

There is a podcast run by the german newspaper "Die Zeit" [1] where the concept is that the interview goes on until the guest thinks everything is said. The episodes usually last between 4 and 8 hours. The longest taking 9h 40 minutes.

There is one episode with Ian McEwan that is recoded in english if someone that doesn't speak german is interested. That one just takes 2h so its not really a good example.

[1]https://www.zeit.de/serie/alles-gesagt [2]https://www.zeit.de/gesellschaft/2019-12/ian-mcewan-intervie...


Wow, this is fantastic.

It’s not a medium with much popularity potential (very few people have >1 hour to spare on something as leisurely as an interview). But for the few people who would care for it, I think it’s super valuable that these things exist.

It’s kind of like the “Slow TV” idea, except instead of touring Norway’s mountains and rivers, you’re touring the landscape of somebody’s thoughts. Very brave on the subject’s behalf. Many people, even public personalities, wouldn’t enjoy such scrutiny.


I just turned it on while doing housework and paused to listen more carefully to the interesting bits. Sometimes it's nice to listen to a person's own words on their own terms, rather than having those words filtered through the lens of someone else's perspectives.

Granted, this one is a bit special to me. I attended the same university as Gosling (decades later) so I could visualize the places and experiences he was talking about, while digging through old memories of my own. It's strange to think that a PDP that I saw in a trash heap may have been the machine he programmed on, and a prof that was teaching PDP assembly in the late-1990's may have been someone he learnt from.


> It's strange to think that a PDP that I saw in a trash heap may have been the machine he programmed on

I certainly hope you don't mean a literal trash heap.


This was over 20 years ago, and the machine itself would have been about 20 years old at that point. At that time, it would have been the norm to dispose of such a machine in such a manner. It was certainly too big to grab for the collection of vintage personal computers I had at the time![1] (To be more specific, it was a disorderly pile of pieces on a dock where equipment was frequently left to be disposed of.)

Of course, I can't be certain it was the machine Gosling used. I don't know how many PDP's the university had. My recollections are also sufficiently vague that I don't remember the exact model, just that it was a PDP composed of many boards. Anyway, the bit about Gosling possibly using it was just a fancy I had while listening to the interview.

[1] Calling those personal computers vintage seems weird now. None of those computers would have been older than 15 years at that point in time, but a 1982 computer would have less in common with a 1997 computer than a 2005 computer with a 2020 one.


Actually Lex does this on his other channel: https://www.youtube.com/c/LexClips/videos

Here is the 9 minutes part on Emacs: https://www.youtube.com/watch?v=wA7aB-oxjVc

More are to come.


> clearly the talk show format of 10 minutes with a guest with a few commercials interspersed in is very far from ideal,

Why is this clearly not ideal? I think you're being overly critical of the production. If the format isn't ideal for your consumption, you don't have to watch it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: