By the Fireside...
So today I went to the "JavaOne Alumni Fireside Chat" with James Gosling, Rob Gingell, Tim Lindholm and Graham Hamilton sitting on sofas and chatting with Paul Pangaro in front of a fireplace with a framed Mark Rothko poster over the mantle and Graham tossing stuffed tigers and a lengthy Q&A from the audience. The title of this blog refers to the last question of the evening, which was really a statement from someone who said he believes the Java community should stop asking Sun questions and instead start coming to JavaOne with answers. That's the Open Source spirit for you! After the talk I tracked the guy down and I'll blog my conversation with him tomorrow.
In the meantime, here's some highlights from my notes on rest of the Q&A:
Q: How can consultants work faster, cheaper with Java than with .NET?
A: Graham says J2SE 1.5 will have better ease of development using MetaTags. There are four new JSRs proposed for ease of development. Graham would like to double or triple the number of Java developers in the world. There will be tools news in Wednesday's keynote. James says if you ask people why .NET is good, the answer is always about the tools not the technology
Q: Java developers are concerned about jobs leaving the US. Are there niches where American programmers can find some security?
A: Gosling (speaking as a Canadian)...there is nothing uniquely American about programming. DoD used to think encryption was "protected" but that just killed innovation around encryption in the US and now all good encryption comes from Switzerland and Finland. Wages are rising in India, so there isn't as much incentive for Indians to come to the US. Gosling moved to US years ago to get a good programming job outside of banking but today the Canadian market is good and he wouldn't have to move. He believes that protectionism isn't the solution and (as a Canadian) believes its good to raise all boats and raise technology literacy in the rest of the world. Defunding of education is the real problem. The best thing you can all do as Americans is vote.
Q: IDE and Tools question: IDEs are frustrating, questionner always reverts back to "vi + brain". But he is concerned about rising complexity so maybe IDEs will become necessary in future. He remembers Gosling saying "IDEs are for weenies who don't know how to code"..so why is Sun working on IDEs?
A: Gosling: Standard rant: most IDEs are designed to protect programmers from actually coding, because for a lot of tasks you don't need to code. Gosling may not be the best example of how most programmers do their work. Gingell says James is "just a niche" (guys who use emacs?). Gingell says the reason JavaOne alumnis should care about better IDEs for Java is that supposedly the total number of "non-weenie" Java programmers is about 6 million, but to get the ecosystem to keep growing you have to attract additional developers who *don't* develop their own algorithms, etc. Those programmers who might be more comfortable with VisualBasic precisely because it protects them from coding.
Q: Okay, questionner uses an IDE now, but deployment is the really hard part. Integration, debugging, distributed debugging, porting to a specific app server take more time than writing the apps. Why is there no standard for servers to interoperate for deployment?
A: Graham: J2EE 1.4 has support for standard deployment and debugging APIs. If IDE portability support for deployment is important to you, take that requirement back to vendors. Right now each vendor is fronting their own IDE to no common deployment standard and its a problem. The Java ecosystem needs to drive a message back to them vendors that the situation isn't acceptable.
Q: What about SWING vs. SWT?
A: Portability toolkit was the reason for SWING (which works across multiple platforms). SWT is a construction framework which is being used in IBMs Eclipse instead of SWING - need to make it easier to bridge SWING to SWT. Graham doesn't think the community needs a separate toolkit and is addressing issues raised by SWT in SWING. James: says AWT is a lot like SWT and it was decided a long time ago that as an architecture AWT sucked. Found that that architecture really ran out of steam and that's why SWING (the 747 cockpit of toolkits) was born. The biggest complaint against SWING is that its too configurable.