The notion of having a fleet of autonomous ocean-going vehicles wandering the world collecting data is something out of fiction.
James Gosling
One of the toughest things about life is making choices. I had a hard time saying 'no' to a bunch of other excellent possibilities.
I enjoy evangelizing Java. In my heart of hearts, I'm an engineer, and what makes me happy is building something that works and having someone use it. That's cool.
I like to bitch and moan about lawyers, but they often have actually good points.
So in a strong sense with Java it was a learning process for us - there was some tech learning - but the most important learnings were social or behavioral things.
If you want to write the software to control the national medical system of a large country, Java is perfect.
When you have large systems, it becomes almost impossible to make even very simple changes.
Some of these isolated applications that sit on one machine are a million lines of code. How do you deal with that? Most people have no way to wrap their head around it.
The nerves were so badly compressed that I had no feeling on the palm of my hand. I mean, you could have pounded a nail through my hand and I wouldn't have been able to feel it.
From the point of view of the people who are using the platform, one of the most valuable things about Java is the consistency, the interoperability.
I had half my family that were farmers, and I was really pretty good at repairing farm equipment. There was certainly a period of time where I would have been happy to do that, just to be a farm equipment repairman in Dalemead, Alberta.
Anytime someone builds a little application that runs on a cell phone, there's something that goes on the server.
One of the things that Java is good at is giving you this homogeneous view of a reality that's usually very heterogeneous.
I've always felt that sort of in the abstract, open-source is the right thing to do for a lot of the kinds of things that we do. There are a variety of issues that make it a very complex discussion as to whether it actually works as a business.
The asparagus effect is what happens sometimes when you render 2D images into 3D.
I didn't do programming language stuff in college at all.
Most developer tools try to shield you from actually writing code in constructing the GUI bits or the database bits. Yet when you do write code you usually get glass teletypes where high tech is keyword coloring.
You see people doing Java-based internal applications all over the place, regular desktop applications that are sort of front-ends to the things in the back, or standalone things.
The thing that the Microsoft folks did a really good job of is the easy-to-use tools for making application-building simple.
The whole thought of a career with computers - given that hardly anybody even knew what they were - it wasn't even a concept.
I've made the comment that democracies work slower than dictatorships. That's a true thing.
Renaming a class at one level is really easy; you just change the name. But how do you change all the references to that class and all the imports?
Java the language is almost irrelevant. It's the design of the Java Virtual Machine. And I've seen compilers for ML, compilers for Scheme, compilers for Ada, and they all work. Not many people use them, but it doesn't matter: they all work.
My impression is that a really, really high-order concern for the whole development community is interoperability and consistency.
The NetBeans team tended to be focused on academic purity. Getting them to be a little more blue-collar was a challenge.
When you interview at Google, they don't tell you what the job is. You get hired for a pool and the reason they do it that way is they don't want outsiders learning their secrets in the interview process.
For us, the real goal is to make it so that the software ecosystem is as healthy as possible.
Simply put, when you have very large pieces of software, most of the tools look at the individual lines of code as text. It is often extremely powerful to look not at individual pieces of code but at a system as a whole.
The way that NetBeans is architected, it's not so much a tool as a tool environment.
If you look at our customers, our customers tend to be really high-end people who make big, sophisticated systems.
The data center side of the world is kind of like a solved problem, but you see interesting things happening on the edge with things like cell phones and embedded systems that are becoming really fascinating.
In C there are no data structures: there are pointers and pointer arithmetic. So you have a pointer into a data structure.