James Gosling

Computer Science Canadian 1955 361 quotes

Often credited as the father of the Java programming language.

Most quoted

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as you can, you are, by definition, not smart enough to debug it."

— from Commonly attributed/quoted by him

"The problem with C++ is that it's too easy to shoot yourself in the foot. Java is much harder to shoot yourself in the foot with, but when you do, you blow your whole leg off."

— from Interview/Presentation, 1996

"If you want to build a ship, don't drum up people to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea."

— from often attributed to Antoine de Saint-Exupéry, but Gosling has used it in context of software development

All quotes by James Gosling (361)

The JVM is probably the single most deployed piece of software in the history of the planet.

Interview 2010

When you have a hammer, everything looks like a nail. But when you have Java, everything looks like a portable, networked application.

Attributed saying

The key to making great things is to not worry about making great things, but to worry about making things that are useful.

Speech

A lot of the magic in Java is not in the language, it's in the virtual machine.

Technical talk

I'm a great believer in luck, and I find the harder I work the more I have of it.

Attributed (often a paraphrase)

The Internet is just a world passing around notes in a classroom.

Attributed saying

The bytecode is the 'wire format' for code.

Technical explanation

One man's constant is another man's variable.

Attributed aphorism

The nice thing about standards is that there are so many to choose from.

Attributed (often to others)

Software is hard. It's harder than anything else I've ever had to do.

Interview

The biggest challenge in software is complexity. There's only one basic way of dealing with complexity: divide and conquer.

Speech

If you're not failing occasionally, you're not trying hard enough.

Attributed saying

The world is concurrent. Things happen at the same time. The language should reflect that.

On Java threads

I wanted to build a language that would make programmers happy.

On Java's design

The most dangerous thought you can have as a creative person is to think you know what you're doing.

Attributed saying

Elegance is not a dispensable luxury but a quality that decides between success and failure.

Attributed saying

In technology, the only constant is change. Get used to it.

Speech

A language that doesn't affect the way you think about programming, is not worth knowing.

Paraphrase of Alan Perlis

The success of Java was largely accidental. We were solving a different problem.

Retrospective interview

Garbage collection is like housekeeping: nobody notices when you do it, but everyone notices when you don't.

Speech