James Gosling: Java, JVM, Emacs, and the Early Days of Computing | Lex Fridman Podcast #126
IT__Nrr3PNI • 2020-09-24
Transcript preview
Open
Kind: captions
Language: en
the following is a conversation with
james gosling the founder and lead
designer behind the java programming
language
which in many indices is the most
popular programming language in the
world
or is always at least in the top two or
three
we only had a limited time for this
conversation but i'm sure we'll talk
again several times in this podcast
quick summary of the sponsors public
goods betterhelp
and expressvpn please check out these
sponsors in the description to get a
discount and to support this podcast
as a side note let me say that java is
the language
with which i first learned object
oriented programming
and with it the art and science of
software engineering
also early on in my undergraduate
education i took a
course on concurrent programming with
java
looking back at that time before i fell
in love with neural networks
the art of parallel computing was both
algorithmically
and philosophically fascinating to me
the concept of a computer in my mind
before then was something that does one
thing at a time
the idea that we could create an
abstraction of parallelism where you
could do many things at the same time
while still guaranteeing stability and
correctness was beautiful
while some folks in college took drugs
to expand their mind
i took concurrent programming if you
enjoy this thing subscribe on youtube
review it with five stars on apple
podcast follow on spotify
support on patreon or connect with me on
twitter at lex friedman
as usual i'll do a few minutes of ads
now and no ads in the middle
i try to make these interesting but i do
give you timestamps
so go ahead and skip but please do check
out the sponsors
by clicking the links in the description
it's the best way to support this
podcast
this show sponsored by public goods the
one-stop shop for affordable sustainable
healthy
household products i take their fish oil
and use their toothbrush
for example their products often have a
minimalist black and white design that i
find to be just beautiful
some people ask why i wear this black
suit and tie
there's a simplicity to it that to me
focuses my mind
on the most important bits of every
moment of every day
pulling only at the thread of the
essential in all that life has to throw
at me
it's not about how i look it's about how
i feel that's what design is to me
creating an inner conscious experience
not an external look
anyway public goods plants one tree for
every order placed
which is kind of cool visit
publicgoods.com
lex or use codelex at checkout to get 15
bucks off your first order
this show is also sponsored by better
help spelled h-e-l-p
help check it out at betterhelp.com lex
they figure out what you need and match
you with a licensed professional
therapist in under 48 hours
i chat with the person on there and
enjoy it
of course i also regularly talk to david
goggins these days
who is definitely not a licensed
professional therapist
but he does help me meet his and my
demons
and become comfortable to exist in their
presence
everyone is different but for me i think
suffering is essential for creation
but you can suffer beautifully in a way
that doesn't destroy you
i think therapy can help in whatever
form that therapy takes
and i do think that better help is an
option worth trying
they're easy private affordable and
available worldwide
you can communicate by text anytime and
schedule weekly audio and video sessions
check it out at betterhelp.com lex
this show is also sponsored by
expressvpn you can use it to unlock
movies and shows that are only available
in other countries
i did this recently with star trek
discovery and uk netflix
mostly because i wonder what it's like
to live in london
i'm thinking of moving from boston to a
place where i can build the business
i've always dreamed of building london
is probably not in the top three
but top ten for sure the number one
choice currently
is austin for many reasons that i'll
probably speak to another time
san francisco unfortunately dropped off
from the number one spot but is still in
the running
if you have advice let me know anyway
check out expressvpn
it lets you change your location to
almost 100 countries and it's super fast
go to expressvpn.com lexbod to get an
extra three months of expressvpn for
free
that's expressvpn.com lex
pod and now here's my conversation
with james gosling i've read somewhere
that the square root of two is your
favorite irrational number
i have no idea where that got started
um is there any truth to it is there
anything in mathematics or numbers that
you find beautiful
oh well there's lots of things in in
math that's
really beautiful um you know i
i used to consider myself really good at
math and these days i consider myself
really bad at math
i never had really had a thing for the
square root of two
but when i was a teenager
there was this book called the the
dictionary of curious and interesting
numbers
which for some reason i
read through and damn near memorized the
whole thing
and i started this weird habit
of when i was like filling out
checks you know or you know paying for
things with credit cards
i would want to make the the receipt add
up to an interesting number
is there some numbers that stuck with
you that just kind of make you feel good
they all have a story and fortunately
i've actually
mostly forgotten all of them
um are they uh so like 42
uh well yeah i mean that one 42 is
pretty magical
and then the irrationals i mean but is
there a square root or two
story in there somewhere well it's
it's like the only number that has
destroyed a religion
in which way well the the
pathagorians they they believed that all
numbers were perfect and you could
represent anything as as a as a rational
number
and
[Music]
in that in that time period
um the this proof came out
that there was no
you know rational fraction whose value
was equal to the square root of two
and that that means nothing in this
world is perfect not even mathematics
well it it means that your definition of
perfect was imperfect
well then then there's the ghetto and
completeness theorems in the 20th
century that ruined it once again
for everybody yeah although although
although
girdle's theorem um
you know the lesson i take from girdle's
theorem is not that
you know there are things you can't know
which
is fundamentally what it says um
but you know people want black and white
answers
they want true or false
um but if you if you allow a three-state
logic
that is true false or maybe
then then life's good
i feel like there's a parallel to uh
modern political discourse in there
somewhere
but yeah let me let me ask
um so with your kind of
early love or appreciation of the beauty
of mathematics
do you see a parallel between that world
and the world of programming you know
programming is
all about logical structure
understanding the the patterns
that um come out of
computation understanding
sort of i mean it's often
like you know the path through the graph
of possibilities
to find a short a short route
meaning like uh find a short program
that gets the job done
yeah kind of thing but uh so then on the
topic of irrational numbers
do you see dc programming
you just painted it so cleanly uh it's a
little this trajectory
to find like a nice little program but
do you see it as fundamentally messy
maybe unlike mathematics i don't think
of it as
i mean i mean you know you watch
somebody who's good at math do
math and you know often
it's it's fairly messy sometimes it's
kind of
magical um
when i was a grad student
um one of the students his name was jim
sax
was he had this this this
this this reputation of being sort of a
walking talking human uh theorem proving
machine
and if you were having a hard problem
with something you could just like
accost him in the hall
and say jim and
and he would do this this this funny
thing where he would
stand up straight his eyes would kind of
defocus he'd
go uh you know just just like get you
know like like
something in today's movies
and then you straighten up and say and
log in and walk away
and and and you go well okay so n log n
is the answer how did he
get there
by which time he's you know down the
hallway somewhere yeah
it is just the the oracle the black box
just gives you the answer
yeah and then you have to figure out the
path from the question to the answer
i think in one of the videos i watched
you mentioned
uh don knuth uh well
at least recommending his uh you know
his his book
is something people should read oh yeah
but in terms of
you know theoretical computer science
do you do you see something beautiful in
in
that has been inspiring to you speaking
of n log n
in your work on programming languages
that's in the in that whole world of
algorithms and complexity
and you know these kinds of more formal
mathematical things
um or did that not really
stick with you in your programming life
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 and
be able to prove to myself that it works
um you know and
you know so so for example i find that
um
i'm i'm at odds with many of the people
around me
over um issues about like
how you lay out a piece of software
right you know so so software engineers
get really cranky
about how they format their the
documents that are the programs you know
where they put new lines and where they
put you know the braces
the braces and all the rest of that
right
and i tend to go
for a style that's very dense
to minimize the white space um yeah well
to maximize the amount that i can see
at once right 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 yeah
i'm with you on that yeah that's and
people don't like that
yeah i've i've had i've had you know
multiple times when
engineering teams have uh staged
what was effectively an intervention
um you know where they they invite me to
a meeting and everybody's arrived before
me and they so 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 um
i am just naturally a slow reader
um i'm what most people would call
a visual thinker so when you think about
a program what do you
what do you see i see pictures right so
when i look at a piece of code on a
piece of paper
it very quickly gets transformed into a
picture
um and you know it's almost like a piece
of machinery with
you know this connected to that and like
these gear
knobs yeah yeah i i see them more
more like that than i see the the
the sort of verbal structure or the
lexical structure of
of letters so then when you look at the
program that's why you want to see it
all in the same place then you could
just map
it to something visual yeah and just
kind of like like it leaps off the page
at me and
yeah what are the inputs where the
outputs what the heck is this thing
doing yeah
and yeah getting a whole vision of it
can we uh
go back into your memory memory
long-term memory access what's the first
program
you've ever written
oh i have no idea what the first one was
i mean i i know the first machine that i
learned that i learned to program on
what is it was a
pdp-8
um at the university of calgary
do you remember the specs oh yeah so
so the thing had 4k of ram
nice 12-bit words
the clock rate was um
it was about a third of a megahertz
oh so i didn't even get to the to the m
okay yeah
yeah so you know we're we're like
10 000 times faster these days
um and was this kind of like a super
computer like a serious computer
for no the pdp 8i was the
the first thing that people were calling
like mini computer
got it they were sort of inexpensive
enough
that a university lab could maybe afford
to buy one
and was there time sharing all that kind
of stuff um there 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 the
back corner
of the of the computer center
um and it was
it was bought as a as part of a
um project to do computer networking
um but
you know 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 and
i had a keyboard and like a monitor
oh this is way before monitors were
common
so it was it was literally a a model 33
teletype
okay with a paper tape reader
okay so the user interface wasn't very
good 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 right not the 10
or 12
billion that machines have today
so what did that i mean feel like if you
remember those
i mean did you have kind of inklings of
the
the magic of exponential kind of
improvement of moore's law
of the potential of the future that was
at your fingertips kind of thing oh it
was
just a cool yeah it was just a toy
you know i had always liked building
stuff
but one of the problems with building
stuff is that you need to have
parts you know you need to have pieces
of wood or wire
or switches or stuff like that and those
all cost money
and here you could build you could build
arbitrarily complicated things
and i didn't need any physical materials
um it required no money that's right
it's a good way to put
programming you're right it's uh if you
love building things
it uh okay so it you know completely
accessible
you don't need anything and anybody from
anywhere could just build something
really cool
yeah yeah if you've got access to a
computer you can
you can build all kinds of crazy stuff
um and
you know and when you were somebody like
me who had like really no money
um and i mean i
i remember just lusting after being able
to buy like
a transistor
um you know and when i would do
sort of electronics kind of projects
they were mostly made
done by like dumpster diving for trash
you know and you know one of my big
hauls was
uh discarded relay racks from the back
of a
the phone company switching center oh
nice
that was the big memorable treasure oh
yeah yeah
that was what do you use that for i i
built a machine that played tic-tac-toe
nice out of relays of course the thing
that was really hard
um was that all the relays required a
specific voltage
but getting a power supply that will
would
do that voltage was pretty hard and
since i had a bunch of trashed
television sets i had to
um sort of cobble together something
that was
wrong but worked um
so i was actually running these relays
at 300 volts
and and none of the electrical
connections were
like properly sealed off
you survived that period of your life 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
yeah well i'm glad you did but do you
remember the
do you remember what program in calgary
that you wrote anything that stands out
and what language
well so mostly the
anything of any size was
assembly code um
and actually before i learned assembly
code there was this
programming language on the pdp called
focal five
and focal five was kind of like a really
stripped down
fortran and
i remember playing but you know building
programs that did things like
um play blackjack um
[Music]
or solitaire or for some reason or the
things that
i really liked were ones where they were
just like
plotting graphs so something with
uh like a function or a data and then
you'd plot it
yeah yeah i did a bunches of those
things and
went ooh pretty pictures um
and so this would like print out again
no
no monitors right so it was like
on a teletype yeah
so using something that's kind of like a
a typewriter and then using those
to plot functions so when i apologize to
romanticize things
but when did you first fall in love with
programming you know what was the first
programming language like it's a serious
maybe software engineer where you
thought this is a beautiful
thing i guess i never really thought of
any particular language as being like
beautiful because it was never really
about the language for me it was about
what you could do with it
um and you know even today
you know people try to get me into
arguments about
particular forms of syntax for this or
that and i'm like
who cares you know it's it's about what
you can do
not not not how you spell the word
um and you know so back in those days i
i learned like pl one and fortran
and cobalt and and you know by the time
that
people were willing to hire me to do
stuff
you know it was mostly assembly code and
you know pvp assembly code and and
fortran code and
control data assembly code for like the
cdc 6400 which was an
early i guess super computer
even though that super computer has less
compute power than my phone
by a lot and that was mostly
like said fortran yeah world
that said you've also showed
appreciation for the greatest language
um ever that i think everyone agrees is
lisp
um well lisp was definitely on my list
of the greatest ones that have have um
existed is that number one or i mean
um are you i mean you know that you know
the thing is that it's it that you you
know
i wouldn't put it number one now is it
the parentheses what uh
um what do you love what do you not love
about lisp
um well i guess the number one thing to
not love about it is so freaking many
parentheses yeah um on the
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 thinking about thinking
about it but
you know so like like up the food chain
for me um then from lisp is
simula which a very small number of
people have ever used
but a lot of people i think he had a
huge influence right
yeah the programming but in the simula
i apologize if i'm wrong on this but is
that one of the first functional
languages
um or no no it was it was it was the
first object-oriented programming
language
got it it's really where object-oriented
and languages sort of came together
um and it was also the
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 multiple uh
sort of multi-threaded
with a lot of parallel parallelism
really there's ideas of parallelism in
there yeah
yeah so that was that was back you know
so the first stimulus spec was simula 67
like 1967. yeah
wow so it had it it had co-routines
which are
almost threads the the thing about co
routines is that they don't have
true concurrency so you can get away
without
um really complex locking you can't
usably do co-routines on a
on the multi-core machine or if you try
to do core
code routines on the multi-core mute
machine you
don't actually get to use the multiple
cores
um either that or you you know because
you start
then having to get into the universe of
you know semaphores and locks and things
like that
um but you know in terms of the
the style of programming you could
write code and think 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
to to return to uh the world of lisp for
a brief moment you uh at cmu you've
you uh wrote a version of emacs
that i think was very impactful on the
history of emacs
um what was your motivation
for for doing so at that time
so that was in like 85 or 86.
um i had been using
unix for a few years
and um most of the editing was
this this tool called edie um
which was sort of an ancestor of vi
and is it a pretty good editor
not a good editor well if if what you're
using
um if your input device is a teletype
it's pretty good yeah it's certainly
more humane than tico
which was kind of the the common thing
in
a lot of um the dec universe at the time
tico is both tk is that the tico t-e-c-o
the text editor and corrector corrector
huh
so many features um
and the original emacs
came out as so emac stands for editor
macros
and tico had a way of writing macros
and so the original um
emacs from mit sort of started out as
a collection of macros for tico
but then you know you know the the sort
of emac
style got got popular originally at
at mit and then people
did a few other implementations of emacs
that were you know the the the code base
was entirely different but it was sort
of the philosophical style
of the original emacs what was the
philosophy of emacs and by the way were
all the implementations always in c
and then no and how does lisp fit into
the picture
no so so the very first emacs was
written as a bunch of macros for the
tico text editor
wow this is so interesting and the
the the macro language for tico
was probably the most ridiculously
obscure
format you know if you just look at a
tico program on a
on a page you think it was just random
characters
it really looks like just line noise
just kind of like latex or something oh
worse
way worse than the tick way way worse
than latex
um but you know if you use tico a lot
which i did the the tico was completely
optimized for touch typing
at high speed um
so there were no two character commands
well there were a few but mostly they
were just one character so every
character on the keyboard was a separate
command
um and actually every character on the
keyboard was usually two or three
commands because you know you hit shift
and control and all of those things you
know it's just a way of
very tightly encoding it and
mostly what emacs did was it made that
that visual right so
one way to think of tico is use emax
with your eyes closed
where you have to maintain a mental
model of
you know sort of a mental image of your
document you have to go
okay so the the cursor is
between the a and the e
and i want to exchange those so i do
these
these things right so it almost it is
almost exactly the emax command set
well it's roughly approximate roughly
the same as emacs command set
but using emacs with your eyes closed
um so what
emacs you know part of what emacs added
to the whole thing was
was being able to visually see what you
were editing
um in a form that matched your document
um and you know a lot of things
changed in the in the command set it
um you know because it was programmable
it was
really flexible you could add new
commands for all kinds of things
and then people rewrote emacs
like multiple times in lisp there was
one done at
mit for the lisp machine there was one
done
for multix and one summer i got a
got a summer job to work on the
pascal compiler for multix
and that was actually the first time i
used emacs
and and and so to write the compilers
you've worked in compilers too it's yeah
that's fascinating
yeah so i did a lot of work you know
i mean i spent like like a really
intense three months
working on this pascal compiler um
basically living in emacs and it was
it was the one written in mac list by
bernie greenberg
and i thought wow this is a just a way
better way to do editing
um 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
um since i mostly worked in the unix
universe
and unix didn't have an e-max i decided
that i needed to fix that problem
so i so i wrote this this implementation
of emacs in c
because at the time c was really the
only language that worked on
on uh on unix
um and you were comfortable with c as
well oh yeah at that point
yeah at that time i had done a lot of c
coding that this was in like 86.
um and
you know it was running well enough to
be used for me to use it to edit itself
within a
month or two and um then it kind of
took over the university and and it
spread
and then it died yeah and then it went
outside the
and largely because unix kind of
took over the research community
on the on the on the arpanet
then and emacs was
kind of the best editor out there it
kind of took over and
there was a actually a brief period
where
i actually had login ids on every
non-military host on the on the arpanet
you know because people would say oh can
we install this and and i'd like
well yeah but you'll need some help
uh the days when security wasn't uh when
nobody cared nobody cared
yeah we can ask briefly
what were those early days of arpanet
and the internet
like what was uh
what i mean did you uh again sorry for
the silly question
but could you have possibly imagined
that uh the the internet would look like
what it is today
you know some of it is remarkably
unchanged
so like one of the things that i noticed
really early on
um at you know when i was at
at carnegie mellon was that
a lot of social life
became centered around the arpanet
so things like you know between email
and
text messaging because the
you know text messaging was a part of
the arpanet really early on
there were no cell phones but you know
you're sitting at a terminal and you're
typing stuff
and essentially email or like what what
is well just like
like a one-line message right so so so
oh cool so like chat like chat yeah
right so it's like like sending a
one-line message to somebody right
and and and so pretty much
everything from you know
arranging lunch to going out on dates
you know
it was all like driven by social media
so you know right in the in the in
the 80s easier than phone calls yeah
you know and my life had gotten to where
you know i was you know
living on social media you know from
like
the early mid 80s
um and
and so when when it sort of transformed
into the internet
and social media explodes i was kind of
like
what's the big deal it's just a scale
thing
it's it's right the the scale thing is
just
astonishing yeah um but the fundamentals
um in some ways the fundamentals have
have hardly changed and
you know the the technologies behind the
the networking have changed
significantly the
you know the the the watershed moment of
you know going from the arpanet to the
internet
um and then people starting to just
scale and scale and scale i mean the
the the the scaling that happened in the
early 90s
and the way that
so many vested interests fought the
internet
oh who oh interesting what was the oh
because you can't really control the
internet yeah
so so so fundamentally the
you know the cable tv companies and
broadcasters
and phone companies um
you know at the deepest fibers of their
being
they hated the internet but
it was often kind of a funny thing
because um
you know so so 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 they view their
business
as serving their customers
um but as you climb up the hierarchy
in the in the cable companies
that view shifts because
um really
the business of the cable companies
that had always been selling eyeballs to
advertisers
right um
and you know that view of
of like a cable company didn't really
dawn on most people who worked at the
cable companies
but i mean you know we 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
that this this this this this view of
you know the reason that you have you
know
cable tv is to capture eyeballs
you know there they didn't see it that
way well so so the people who
the most the people who worked at the
phone company
are at the cable companies their view
was that their
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 as a way
of
attracting eyeballs to them
and and then what they were really doing
was selling
the eyeballs that were glued to their
content
to the advertising to the advertisers
yeah
and so the internet was a competition in
that sense right
and and and and they were right well
yeah um i mean there was one
proposal that we sent the
the we one detailed proposal that that
we
um wrote up you know back at that sun
in the in the early 90s that was
essentially like
look anybody you know with it with
internet technologies
anybody can become provider
of of content so you know
you could be distributing home movies to
your parents
or your cousins or your who are anywhere
else right so
anybody can become a publisher wow you
were thinking about that already yeah
yeah that was like yeah that was
that that was like in the in the early
90s yeah
and we thought this would be great
you could you know and the kind of
content we were thinking about at the
time was
like you know home movies kids essays
um you know stuff from
like grocery stores or you know you know
that
or or a restaurant that they could
actually
like start sending information about
out and um
that's brilliant and and the the the the
reaction of the cable companies was
like no because
because then we're out of business
what is it about companies that because
they could have just
they could have been ahead of that wave
they could have listened to that
and they could have they they didn't see
a path to revenue
you know there's there's somewhere in
there there's a lesson for like
big companies right like to to listen
to to try to anticipate the the renegade
the out there out of the box
people like yourself in the early days
writing proposals about
what this could possibly be well and
that you know that you know it wasn't
you know if you're in a in a position
where you're making
truckloads of money off of a particular
business model
um you you know the
the the the the whole um
thought of like you know leaping the
chasm
right you know you know you can see oh
new models
that are more effective are emerging
right so like digital cameras versus
film cameras
um you know i mean why take the leap
why take the leap because you're making
so much money
off of film and
um you know in my past at sun
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 um
digital camera research and you know
digital imaging business
or b development group
and they knew
that that you know you you know you just
look at the
at the trend lines and you look at um
you know the emerging quality of
of of these you know digital cameras
and you know you can just plot it on the
graph
you know and it's like you know sure
film is better today
but you know
digital is is is is improving like this
the lines are going to cross and and you
know the point at which the lines cross
is going to be a collapse in their
business
and they could see that
right 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
yeah
right and when they did the math
um it 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 um you know if you're going to
leap over a chasm like that like like
with
kodak going from from film to digital
that's a transition that's going to take
a while
right we have we had fights like this
with people over like smart carts
the smart cards fights were just
ludicrous
but that's where visionary leadership
comes in right yeah somebody needs to
roll in and say
then take to take the leap well it's
it's partly take the leap but it's also
partly take the hit
take the hit right so so so so you can
draw all the graphs you want that show
that you know if we leap from here
you know you know the you know on our
present trajectory we're doing this and
there's a cliff
if we um force ourselves into it into a
transition and we proactively do that
we can be on the next wave
but there will be a period when we're in
a trough
and pretty much always there ends up
being a trough as you leave 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 take a big hit
you know over some some quarter and and
many of these transitions
involve a big hit for a
a period of time you know one two three
quarters
and so you get
some companies and you know like
tesla and amazon are are really good
examples
of companies that take huge hits
but 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 you know in the early days of
of both of those companies um
you know like like like like like they
they both did this thing of
you know i don't care about the
quarterly reports
i care about how many how many happy
customers we have
yeah right and having as many happy
customers as possible can
often be um
an enemy of the bottom line yeah so how
do they make that work i mean
amazon operated in the negative for a
long time it's like investing into the
future
right but you know you know so
amazon and google and tesla and facebook
a lot of those had
what it what amounted to patient money
um often because the there's there's
like a charismatic
central figure who has a really large
block of stock
and they can just make it so
so what uh on that topic just maybe it's
a little small tangent but uh
you've gotten the chance to work with
some pretty big leaders
what are your thoughts about on tesla
side elon musk
leadership on the amazon side jeff bezos
all of these folks with large amounts of
stock and vision
in their company i mean they're founders
yeah either
the complete founders are like early on
folks
and uh they're they amazon have taken
leave a lot of leaps uh and
you know uh that probably at the time
people would criticize
as like what is this bookstore thing
why yeah and and
you know bezos had a vision and
he had the ability to just follow it
lots of people have visions and you know
the average vision is completely idiotic
and you crash and burn
um you know the the silicon valley
um crash and burn rate is pretty high
um and they're not they don't
necessarily crash and burn because they
were dumb ideas but
you know often it's it's just timing um
timing and luck and you know you take
companies like
like like tesla um
and and and and and really you know the
the original tesla
um you know sort of pre
um elon
was kind of doing sort of okay
but but but he just drove them
and because he had a
really strong vision you know he would
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
but he did it boldly anyway like there's
so many people
that just said like there's so many
people that oppose them on
the falcon one door like the doors yeah
from the engineering perspective
those doors are ridiculous it's like
yeah they're they are a complete
travesty
but but they're but they're exactly the
symbol
of what great leadership is which is
like you have a vision and you just go
like
if you're gonna do something stupid make
it really stupid yeah and go all in
yeah yeah and and
you know to to must 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 you you know and he wasn't smart
about the technology parts of things
but but sort of he he was really sharp
about
the the the sort of
human relationship between you know the
relationship between humans and objects
um and but
he was a jerk you know
right can we just linger on that a
little bit like people say he's a jerk
um is that a feature or a bug well
that's that's that's the question right
so you take people like
steve um who was
really hard on people and and the
and so the question is was he really was
he needlessly hard on people
or was he just making people
reach to
to meet his vision and
you could kind of spin it either way
um well the results tell a story
you know he's uh he through whatever
jerk ways he had
he made people often do the best work of
their life
yeah yeah and that was absolutely true
and you know i interviewed with him
several times
um i did you know various
negotiations with him and
um
even though kind of
personally i liked him i could never
work for him
why do you think uh it that what
can you put into words the kind of
tension that you feel would be
um destructive as opposed to
constructive
oh he he he'd yell at people he'd call
them names
and you don't like that no no i don't i
don't think you need to do that
yeah um and
you know he you know i think you know
there's there's
pushing people to excel
and then 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 um a lot of the high-flying
successes are run by people who are
complete jerks
um but it seems like there's been
become this there's come this this sort
of mythology
out of steve jobs that the reason that
he succeeded
was because he was super hard on people
and and and and and and and in
a number of corners people start going
oh if i want to succeed
i need to be a real jerk yeah right
and and and that for me just does not
compute
i mean i know a lot of successful people
who are not jerks
who are perfectly fine people
um you know they they tend to
not be in the public eye the the
the the general public somehow lifts the
jerks up into the
into the hero status right well they
because they're they do things that get
them in the press
yeah and you know the people who
um you know
don't do the kind of things that spill
into the press
um yeah i just uh talked to chris ladner
um for the second time
he's a super nice guy just an example of
this kind of kind individual that's in
the background
i feel like he's behind like a million
technologies but he also talked about
the jerkiness of some of the folks yeah
yeah
and the fact that being a jerk has
become your required style
but one thing i'd maybe want to ask on
that is and maybe to push back a little
bit
so there's the jerk side but there's
also
if i were to criticize what i've seen in
silicon valley
which is almost the resistance to
working hard
so on the jerkiness side is um
it's it's so posted jobs and elon kind
of push people
to work really hard to do
and there's a question whether it's
possible to do that nicely
but one of the things that bothers me
maybe i'm just
rushing and just kind of you know
romanticize the whole suffering thing
but i think working hard is essential
for accomplishing anything interesting
like really hard and in the parlance of
silicon valley it's probably too hard
this idea that you should work smart not
hard
often to me it sounds like you should be
lazy
because of course you want to be to work
smart of course you want to be
maximally efficient but in order to
discover the efficient path like we're
talking about with the short programs
yeah well you know the the the smart
hard thing yeah isn't an either or it's
an and
as an and yeah right and
um you know the the the
the the people who say you should work
smart
not hard they pretty much always fail
yeah thank you right i mean that's
that's that's just just a recipe for
disaster i mean there
are there are counter examples
but they're more people who benefited
from
luck and you're yeah exactly
luck and timing like you said is often
uh
an essential thing but you're saying you
know you can be you can push people to
work hard
and do incredible work without without
uh without being nasty yeah without
being nasty
i think uh um
google is a good example of the
leadership of google
throughout his history has been a pretty
good example of uh
not being nasty i mean the
the the the twins larry and sergey
um are both pretty nice people sandra
paches
very nice yeah yeah yeah and
you know it's it's a culture of people
who
work really really hard let me ask a
maybe a little bit of a
tense question uh we're talking about
emacs
it seems like you've done some
incredible work so outside of java
you've done some incredible work that
didn't become as popular as it could
have
because of like licensing issues and
open sourcing
like issues um
uh what are your thoughts about the the
the entire mess like what's about open
source now in retrospect looking back
uh about licensing about open sourcing
do you think uh open source is a good
thing
a bad thing do you have regrets
do you have wisdom that you've learned
from that whole experience
so in general i'm a big fan of of open
source
the way that it it can be used to build
communities
and promote the development of things
and promote collaboration
and all of that is really pretty grand
um when
open source turns into a religion that
says all things must be open source
right
um i get kind of
weird about that because it's it's sort
of like saying
you know some some versions of that um
end up saying that that that all
all software engineers must take a vow
of poverty
right right as though um
it's unethical to have money yeah
to build a company to uh right
and you know there's a there's a there's
a
slice of me that actually kind of buys
into that right
because you know people who make
billions of dollars off of like a patent
and the the patent came from like you
know literally a
a stroke of lightning that that
hits you as you lie half a week in bed
yeah that's lucky good for you
the way that that sometimes sort of
explodes into
something that looks to me a lot like
exploitation
you know you see a lot of that in in in
like the
the drug industry um
you know when you know when you've got a
got got medications that cost
you know cost you like a hundred dollars
a day
and it's like no
yeah so the the interesting thing about
the sort of
open source uh what bothers me is when
something is not open source and because
of that
it's a worse product yeah
so like i mean if i look at your just
implementation of emacs
like that could have been the dominant
implementation like i use emacs that's
my main id
i apologize to the world but i still
love it uh
and you know i could have been using um
your implementation of emacs and why
aren't i
so are you using the gnu max i guess the
default on linux is that new yeah
and and that through a strange passage
started out as the one that i wrote
exactly so it's it still has uh
right yeah right well and and part of
that was
because you know in you know the last
couple of years of grad school
it it became really clear to me
that i was either going to be mr emax
forever
or i was going to graduate
i couldn't actually do both
was that a hard decision that's so
interesting to think about
you as the pub like it's a different
trajectory that could have happened
yeah that's fascinating um
you know and maybe you know i could be
fabulously wealthy today if i had become
mr emax and emacs had mushroomed into
a series of text processing
applications and all kinds of stuff and
you know i would have
you know but
i have a long history of financially
suboptimal decisions because
i didn't want that life
right and you know i went to grad school
because i wanted to graduate
um and
you know you know being mr emax for a
while
was kind of fun and then it kind of
became
not fun not fun um
and you know when it was not fun
and i was you know
there was no way i could you know pay my
rent
right yeah and and i was like
okay do i carry on as a grad student as
a
you know i you know i had a research
assistantship and i was sort of living
off of that
and i was trying to do my uh you know i
was doing all my
ra where all of my r.a you know being
grad student work
and being mr emacs all at the same time
um and and i
i decided to pick one
and one of the things that i did at the
time was
i went around you know all the people i
knew on the
the arpanet who might be able to
to to take over looking after emacs
and um pretty much everybody said
i got a day job so so i actually found
you know two folks and a
couple of folks in a garage in new
jersey
um complete with a dog
um who are willing to take it over
but they were going to have to charge
money um
but my deal with them was that they
would um
only that they would make it free for
universities and schools and stuff
and they said sure and
you know that upset some people so you
have some
now i don't know the full history of
this but i think it's kind of uh
interesting you have some
tension with me mr richard stallman
um over the and he kind of represents
this kind of like
like you mentioned free software
uh
sort of a dogmatic focus on
yeah all all information must be free
must be free so what is there an
interesting way to uh paint a picture of
the disagreement you have with richard
through the years
my my basic opposition is
that you know when you say information
must be free
uh to a really extreme form that turns
into
you know all people
whose job is the production
of
everything from movies to software
um they must all take a vow of poverty
because information must be free
and that doesn't work for me right
and and i and i don't
i don't want to be wildly rich i am not
wildly rich
um i do okay
um
but i do actually you know you know i've
you know i can feed my children yeah i
totally agree with you i
it does just make me sad that sometimes
the closing of the source
for some reason the people that
like a bureaucracy begins to build and
sometimes it doesn't it hurts the
product oh
absolutely absolutely it's always sad
and there's
and there is a there is a balance in
there
that's a balance um and
you know it's it's not hard
hard over you know rapacious capitalism
and and it's and it's not hard over in
the other direction
um and you know a lot of
the the open source movement they
they have been magic to find a path to
um actually making money right so
doing things like service and support
works for
a lot of people um
you know and there are some some ways
where
it's it's kind of um
some of them are are a little a little
perverse right so
as you know a part of things like this
sarbanes-oxley act and various people's
interpretations of all kinds of
accounting principles
um and this is kind of a worldwide thing
but
if you've got a a corporation
that is depending on some piece of
software
um you know the often
you know various accounting and
reporting standards say if you don't
have a support contract
on this thing that that your business is
depending on
then that's bad
you know so so so you know if you've got
a if you've got a database you need to
pay for support and and so
but there's a difference between
you know the the sort of support
contracts that
you know the average open source
database
uh producer charges and
what somebody who is truly rapacious
like oracle charges it's a it's a it's a
balance
it is it is absolutely a balance and
you know there are there are a lot of
a lot of different ways to make
you know the math work workout
for everybody um
and you know the
the very you know
uh un unbalanced sort of
you know like like the winner takes all
thing that that happens in so much of
of modern commerce um
that just doesn't work for me either
i know you've talked about this
in quite a few places but you have
created
one of the most popular programming
languages in the world
this is the programming language that i
first learned
about object-oriented programming with
you know i think it's a programming
language that
a lot of people use in a lot of
different places and millions of devices
today
java so the absurd
question but can you tell the origin
story of java
so long time ago at sun in about 1990
there was a
group of us who
were kind of worried that there was
stuff going on
in the universe of computing that the
computing industry was missing out on
and so a a few of us
started this project at sun that really
got going i mean we started talking
about it in 1990 and it really got going
in 91
and it was all about
you know what was happening in terms of
you know computing hardware you know
processors and
networking and all of that that was
outside of the computer industry and
that was
everything from the the
the the sort of early glimmers of cell
phones that were happening
then to you know you look at elevators
and
locomotives and
process control systems in factories and
all kinds of audio audio
equipment and video equipment
they all had processors in them and they
were all doing stuff with them
and and it and it sort of felt like
there was something going on there that
we needed to understand
and so c c and c plus plus was in the
air
already oh no c and c plus plus
absolutely owned the universe at that
time
everything was written in c and z plus
plus so where was the hunch that there
was a need for a revolution
well so the the need for a revolution
was not about
the a language it was about
it was just as simple and vague as
there are things happening out there
and we understand them we need to
understand them
and and so um
a few of us went on several
um somewhat epic road trips
um literal road trips literal road trips
it's like get on an airplane
go to japan visit you know
toshiba and sharp and mitsubishi and
sony and all of these folks and
you know because we worked for sun we
had you know
folks who were willing to like give us
introductions you know we we visited you
know
samsung and um
you know a bunch of korean companies and
we went all over europe we went to you
know
places like like phillips and siemens
and thompson
and what did you see there
you know for me the one of the things
that sort of left out
was that they were doing all the usual
computer
computer things that people had been
doing like 20 years before
the thing that really left out to me was
that they were
sort of reinventing computer networking
and they were making
all the mistakes that people in the
computer industry
had had made and sinc
Resume
Read
file updated 2026-02-13 13:24:13 UTC
Categories
Manage