Notes On James Gosling Oral History
3 min readDec 4, 2021
I am more blue-collar kind of guy (than Bill Joy) is. I like to get things done. I like to build things that don’t break. I like things that are fast.
— https://youtu.be/LaJtYHvpa68?t=7126
- 1h:5min Classes in Java are mostly influenced by classes in Simula67, On interfaces in Java influenced by NeXT engineers
- 1h:11min Mesa influence on Java
- 1h:17min Static typing, dynamic binding as determined by security and performance, also influenced by Smalltalk and Pascal
- 1h:22min Performance of Javascript — complicated to make it fast. Typescript is fast. The case for static typing as reliability mechanism for enterprise-level apps
- 1h:28min Error handling in Java — inspiration from c++. Checked exceptions.
- 1h:29min On garbage collection — implementation from the point of security. Not about allocation, about freeing. The system is reliable, removes memory leaks, is easier for devs. And it had a bad rep at the time as it was associated with Lisp. Gosling wrote his thesis in Lisp — Java aimed to disassociate garbage collection from Lisp
- 1h:37min Sandboxing and other security features of Java. The issue of trusting and corrupting DNS — protocol has been hardened for decades. Whereas for email, SMTP has no authentication, therefore, this is vulnerable
- 1h:42min on OOP — Java is dressing up many ideas for electrical engineers. Unicode was surprisingly controversial
- 1h:55min lambdas in Java arrived late because it took lots of time to implement it without performance apologies — performance is a major Java value
- 1h:56min the influence of Bill Joy — mainly on checked exceptions, he also wanted generics and lambdas early on that was pushed back by Gosling. doing it properly would delay lunch in the order or years. ‘I am more blue-collar kind of guy than Bill is. I like to get things done. I like to build things that don’t break. I like fast things.’
- 2h:0min On the role of Eric Schmitt as CTO on the development of Java — he was completely hands-off, he was only on the org chart
- 2h:1min 1994, Guy Steele joins. First-person drops. Informational superhighway project with phone companies drop. Internet becomes the focus. Bill suggests Java gets formal spec — he took a stab at it and finished it and Guy Steele was a grandmaster at fussing the details at language specs — he is mostly the author of the spec.
- 2h:6min On working with Jim Mitchell, who was the head of Sun Labs, involved in standardization efforts.1993 Gosling get sick carpal tunnel syndrome and can hardly type emails.
- 2h:8min On decisions about features of Java — that arrived with time. Initially only him. Simplicity as a value. Again the first solution wins. Nothing like a formal process — Sun was not a process-heavy company.
- 2h:13min On incredible public suicide of Netscape who pissed off Microsoft. Fake Chinese proverb — ‘when building a cage around a sleeping tiger, don’t poke it in the eye’. Also, the Netscape browser insides were crazy. DOM was impossible to implement. The second project was started that eventually became Mozilla — and that took too long and they died before it was done
- 2h:17min On the openness of Java — horrible tension between openness for most folks and having half a dozen of competitors that were always up to games. Oracle, IBM, HP, Microsoft
- 2h:19min On contributions from the outside — yes, Java community process is significant and transparent — no backroom deals.
- 3h:1min On Java in the dot-com boom, at around 2000. The Dot-com era is about exploring weird and wonderful and it ended up as a big filter function. Gosling steps back from working on Java again due to health issues already in the nineties.
- 3h:4min On Android use of Java. Andy Rubin from Google mistreated Sun by requesting them to go fully open source to give up revenue and interoperability. The raised pirate flag and middle finger