eWeek has published an interview with James Gosling, revealing that he is researching model-based tools, thinks serverside Java is about as pervasive as it can get, defends Suns poor success in the tools market because Sun focused on building the community, has a hard time with the GPL anti-IP mindset, thinks Hailstorm sucks, and that Web Services have been here in different forms for some time.
Read Father of Java Has His Eye on 'Jackpot'
- Interview with James Gosling on Java, Web Services, Open Source by Gary Keim on September 23 2002 14:48 EDT
- Interview with James Gosling on Java, Web Services, Open Source by Cory Adams on September 23 2002 16:00 EDT
- Interview with James Gosling on Java, Web Services, Open Source by Dag Blakstad on September 24 2002 06:22 EDT
- Interview with James Gosling on Java, Web Services, Open Source by Haytham A on September 24 2002 10:10 EDT
- Interview with James Gosling on Java, Web Services, Open Source by David Jones on September 24 2002 11:23 EDT
Too bad Mr. Gosling gave this interview to the king of popups, eWeak. Death to the popup people!
I don't know about the popups (mozilla user), but the bright, flashing adds in the middle of the text sure gave me a headache. The text to ad space ratio was like 1/5.
Try using the printer friendly version. It's also a reader friendly version ;)
Good idea - its sites like this that tempt me to browse w/ lynx.
Basing the editor on a semantic model of the code is a must for safe refactoring. This sounds exactly like what IntelliJ has always done. But it's a good idea, so it's nice that NetBeans will get this feature as well.
My point exactly.
I was wondering where the big news was, but I guess he must be hiding some goodies underneath this that he doesn't want to uncover just yet.
Thanks for the link to the interview.
Whats really nice about the interview is that he comes accross as imaginative, thoughtful and interested in the technology - with deep understanding of the tech, and fine understanding of the business.
Compare this to the FUD from Microsoft. They must have a similar group of folks working out future tech but we only ever hear the corporate line. Every time there is a techie interview from msoft they spin it... the best example was a presentation about 8 years ago where they said TCP/IP was a proprietary protocol....(they were still pushing their own).
"fine understanding of the business"
Wonder why he didn't mention then that Sun is going to layoff 6,000 workers in US..
Who isn't laying people off though? Wake up.
"Who isn't laying people off though? Wake up."
Microsoft. And yes, you better wake up.
Compare this to the FUD from Microsoft. They must have a similar group of folks working out future tech but we only ever hear the corporate line.
check this out :http://research.microsoft.com
Thanks for the link... oh for the time to drill through that lot!
The semantic view of the code is old news in my opinion. IntelliJ, Eclipse, TogetherJ, and others all do this. I think that Sun better beef up their story more than that if they want to break into the tools sector.
I personally think Eclipse is the direction that Sun needs to follow. Fast native code, different views, refactoring, and more. They also need to make sure and keep things like code metrics, UML, and execution metrics in mind.
All he mentioned in the interview was an IDE. It must be part of what he is doing but not the entire story.
What is the biggest problem with java:- complexity.
How do you solve complexity, via tools.
The counter to the 'make it simpler' shout, is that we need the features for robust enterprise systems. Now, personally I have issue with this mantra. But many people believe it, so the solution is tools, and they must be enterprise tools with the code facing features of IDEA, and the enterprise features of O/R tools with auto persistance using EJB/JDO etc. Ideally it will allow gui component modelling for websites/apps, and support reverse UML modelling, and SOAP and web tier architectures such as struts, cocoon etc.
So, how to do it all? Devide and conquer, use abstractions and auto generation. Hide the detail from those that can't cope and expose it for those that can.
i.e. I'd say there is a strategic gain in working towards an IDE architecture for enterprise java. In the process you will solve the complexity issue.
OTOH you could just make it more complex and tie folks to your particular IDE. Which seems the current favourate for the enterprise IDE vendors.
I first heard Gosling mention this developer tool project when I interviewed him way back in 2000, so he's been working on it for a while. My impression has been that Gosling is working this area because it is something he is personally interested in, not that Sun has some grand corporate master plan with regards to IDEs. My impression was that Gosling left the hustle and bustle of the day-to-day Java world to go back to the lab and do plain old research.
One of the things he said in 2000 was that he himself didn't like any existing IDEs. I suspected he wanted to build something he himself would want to use. Here's what he said:
One of the things I'm trying to do is to build a set of tools that professional developers would use. Typically, tool vendors tend to go after the mass-market developer, and I guess I'm not one of them, so they generally don't interest me. And, by and large, all the tool developers have kind of ignored the higher-end developers. So I'm spending some time thinking about that.
I interviewed him again in 2001, and he described his tool doing things that now sound to me a lot like IntelliJ, such as helping people rename classes:
This year I asked him to go into more depth about semantic models:
I think one problem he is interested in thinking about i his research is how do developers deal with complexity, because our systems are getting more and more complex. The developer tool project is part of that quest.
I really can't say if it has anything to do with Goslings fiddling in the Jackpot research project, but reading Fowler's 'Refactoring' book it occurred to me that one could model all semantically equivalent transformations. These would constitute the 'freedom of movement' leading from the initial state of the code to a space of other states.
Only the public interface would by necessity be the same.
The implementation would become 'fluid' within the 'solid' containment of the public interface.
One could imagine a high level target being set and the implementation morphing to accomodate this by some AI-like inferencing. For instance the target being the lowest entropy. Entropy being measured by adhering to OO heuristics/ - best practices leading to lower entropy for instance. THen code could 'crystallize' around some specifics being given by the user.
Another use would be ofcourse the possibility to tear off a peace of functionality, irrespective of wether this had been thougt of by the original developer.
Ok that was my lunch break.
Bytheway: I hope Sun drives through JSR 175 and 181 really fast. This specifying meta-data on your code is really much more easy to view holistically than deployment descriptors and for a lot uses of deployment descriptors the argument that these are design-time choices and not for an administrator to alter is correct.
Joost de Vries
Get a copy of "Generative Programming" (http://www.amazon.com/exec/obidos/tg/detail/-/0201309777/qid=1032966273/sr=1-1/ref=sr_1_1/104-2920779-9646303?v=glance
Most of the code is C++ but the ideas are language free. It deals with a what semantically equivalent transformations (essentially generating a machine spec from a set of requirements spec).
Mozilla would solve your problem. See the following FAQ entry for more information: http://www.mozilla.org/start/1.0/faq/browser.html#2.4
James gave a very good interview.
I like the comments regarding web services and keeping them in perspective with regard to the other existing distributed systems that have been around for years (eg CORBA, RMI).
Also I am a huge benefactor of open source tools but I can appreciate his comment about the socialistic nature of some of the GPL licensing.
I do like the fact that the GPL server components like JBoss have comodotized the app. server arena but there is definately profit to be made when building products on top of or with those products (observing proper license contstraints and such).
GPL it seems is great for companies using the technology and developers charging $$$ to implement solutions but those open source tools may hurt the big server vendors like Sun, IBM, Oracle, Microsoft etc (or more than likely force them to compete).
Also I believe that Microsoft may be outspending Sun 10 to 1 (as James stated), but it looks like they are doing that in the marketing arena. When I mention .net to many people they automatically consider it a forgone conclusion that they will be using it even though it is an extremely new technology/architecture.
Go James go!
I do not think it energy physics are that anlogous to human nature. Humans do a lot of things, which are not rational from a economic or scientific view. Some people is not blindly following the _rules_ descibed by economics and scientists.
Often totally new ideas and paradigms comes from people who are not teached not behave as excpected by _authorities_.
Java itself may not have existed if there was'nt for the Object pioneers in the 60' and 70'. These people where creating a totally new paradigm, because their needs was not met by the current technology.
I think his point is that while it's nice to do develop SW for free, you still have to eat/live somewhere. To do that in any of the current technologicaly advanced societies (that is such that you can develop sw there), you need money. If you don't sell your sw (and spend most of the time developing it), how do you get the money?
<Off the topic>
If you say services, I would like to point out that in my experience amount of time spent developing new/upgrading existing sw is generally considerably larger than amount of pure services you can offer around it. Red Hat etc. aren't profitable yet either, and they even "sell" the product. I would like to hear about some figures from JBoss people for example, on what they effective per-hour rate is (i.e. not just services, but taking into account all the development thay do).
You can donate your time of course (in the same way as other people do volunteer work for charities), but there isn't any really "free" (as in costs nothing to develop) software. You have to spend something (need not be money directly, although money can be considered as a relatively objective measure of resource spending) to get something. Eventually, if you only spend, the system colapses.
Nothing to do with economic or scientific or rational work. Simple as "you don't eat, you die". Where do you get your food from is a different question.
To make my point:
I do not make money:
* Watching TV
* Playing games
* Having fun
* Developing free software
Am I the only person who does not make money 24h a day?
People are constantly doing things for free, because they want to!
Mr. Gosling is an authority of what he talked about. A very interesting interview. TSS should target people of his caliber for their hard core talk.
Interesting, but it strikes me as a little weird that his passion right now is working on something as mundane as tool development.
Interesting, but it strikes me
> as a little weird that his passion
> right now is working on something
> as mundane as tool development.
Do you think that Sun is going to put Gosling on what they are failing at the most?
1) It would be spin just to have his name attached to it.
2) He would do an incredibly great job (emacs is over 20 years old, and still wildly popular).
3) He will probably have some original thoughts.
Nothing wrong with that.
"The distinction that SOAP brings to the party over CORBA and XML, some of them are interesting, but I wouldn't call any of them life-changing."
Nice to see an interview with a senior representative of a vendor that has some perspective around the hype of Web Services.