James Gosling: Java, JVM, Emacs, and Computing History [video]
youtube.com
youtube.com
“[…] 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
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).
Wouldn't this be Lisp?
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.
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.
Can you give some examples of parts that are not well designed?
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.
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?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.)
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_...
> 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++.
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.
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.
And a transcript if you don't like video: https://archive.computerhistory.org/resources/access/text/20... The Stallman stuff starts on page 30.
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?
Weber: And personal hygiene.
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.
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.
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
Whose — Gosling's, or RMS's?
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.
Has someone posted a shorted edited version of this yet?
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...
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.
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.
I certainly hope you don't mean a literal trash heap.
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.
Here is the 9 minutes part on Emacs: https://www.youtube.com/watch?v=wA7aB-oxjVc
More are to come.
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.