Q&A With James Gosling, Father of Java
Minaloush writes to tell us that in a recent Q&A with Sun's James Gosling, the father of Java fielded questions on the GPL, security, the role of Java in the enterprise. "If you come up with a good software development tool, that makes life easier for the developers and they can get their job done quicker, then the first thing the manager says is 'oh you've got free time on your hands. Do this extra thing'."
I thought he was also the father of Java? Whatever happened to that guy? Pretty unjust to not give him credit, right?
We've already forgotten, we just haven't forgiven yet.
I don't need no instructions to know how to rock!!!!
"If you come up with a good software development tool, that makes life easier for the developers and they can get their job done quicker, then the first thing the manager says is 'oh you've got free time on your hands. Do this extra thing'." ... and that is why I still program in assembler and I use notepad.
Isn't the old license quite a bit more restrictive than just passing a test suite? I mean, many Linux distros have either been requiring that the J2RE and so forth be downloaded from sun.java.com or they've been requiring that you download 3rd party implementations based on the Sun source like blackdown. It doesn't sound to me like the license was ever as laisez-faire as Gosling seems to be implying here.
My blog
I liked the additional comment:
// do nothing
> He later resolved the case in plea bargain with the U. S. Attorney's office in exchange for working for the FBI for a year to develop software to assist them in their online investigations.
I wonder if he is going to burry the check
if (suspect == "Patrick Naughton")
{
}
somebody else can make sure that is Java syntax.
Atlas Shrugged : Thematic Story
Either great minds think alike or he is stealing from the best.
Warning: The intelligence of this post may be larger than it appears.
Crafting tools is not wasting time. Frequently the fastest way to accomplish s six-week project is to take a month to write the tool...which will then complete the project in under a week. Management with your attitude will a) never see tools produced that increase the department's overall productivity and b) you won't have the best people working for you. No one likes working in a hamster wheel, and your shop smells of cedar shavings from here.
I'd really like to ask him what he is doing about Microsoft's efforts to poison Java.
I have been doing some peripheral help with a Java converter that converts from GML to Java, and it doesn't seem very cross-platform to me, even though it has no dependencies. The converter gives odd errors on different platforms - even on different XP machines! And the pure Java code it outputs doesn't run on Macs.
IMHO, using platform-specific dependencies (like DLL's) should be the only possible way to make Java that isn't cross-platform.
The government can't save you.
Declining popularity? I remember recent studies showing that Swing is the most used UI toolkit, I believe Java is the most used language for corporate and commercial web applications, and Java programmers are in higher demand than ever. What makes you think it's declining in popularity? Maybe it's lost its "cool" factor to Ruby and Python, but not popularity.
Here's a couple of links from this year to back me up:
http://www.jasonkolb.com/weblog/2007/02/programmi
http://www.tiobe.com/tpci.htm
http://www.mhall119.com
Is this a joke or a troll? Declining? Java is 54% of the corporate market for enterprise applications.
The WORA 'paradigm' as you called it is alive and well. j2se6 is fast - even swing is fast.
I've been using java for 9 years, first on the client and then on the server. The frameworks like struts, spring and shale are bringing religion and consistency to Java applications - and management LOVES consistency. Outside of corporate America, j2me is in most cell phones and set-tops.
Jobs on dice.com
'java' - 16156
'c#' - 6634
'asp' - 3521
'asp.net' - 4581
'.net' - 9097 (inclusive of previous keyword)
Fatality. Rayden(Gossling) Wins.
Website Hosting
I've read TFA, it's always interesting to see was Gosling has to say on Java...
Java is such a huge success, my favorite quote from TFA:
"...you can't send a parcel through FedEx without a bunch of Java code being involved. It's almost impossible to execute a financial transaction without a piece of Java code being involved."
So true... And GMail, and eBay. Read the enlightening paper on how Java / Spring is used at Voca (in the UK) to process real-world money, scaling at insane levels.
That said, to me, the best Gosling quote I ever read was in an Artima interview. Basically, Gosling said that he regretted not having gone "pure interface" in Java. Java could have been a much cleaner language if Gosling had gone this way: remove the "abstract" keyword/construct from the language (and hence remove the "protected" keyword too, which makes no sense once the "abstract" keywork is gone). And prevent concrete inheritance. So Java would have been a more OO language, where only inheritance of interface would have been possible. Some people (a tiny minority) program in Java in this way. Most people do not get that concept: that OO is all about ADT (Abstract Data Types) and that a concrete implementation should be a detail. To most people this is heresy, because "you've got to type more characters, you've got to create 'needless' interfaces,..." (in modern IDEs most of these problems are non-existent for you can delegate/compose using a single shortcut). Remove the abstract keyword today from the language, and you can millions of Java developers screaming and whining endlessly. It is sooo sad Gosling didn't do it before releasing Java to the public. Every single program out there today in Java would be more OO-ish and more testable.
It is interesting to note that Bjarne Stroustrup, on that very subject, has explained a great many times that "people simply don't get it". Here's a quote on the same subject by Bjarne Stroustrup:
"Since then I have consistently pointed out that one of the major ways of writing classes in C++ is without any state, that is, just an interface."
This is OO 101. And yet hardly anyone can understand this. I'm into OOA(nalysis) / OOD(esign) and it is not always trivial to do OOP using a 3GL (third generation language, like C++ or Java) but with some thinking and discipline it's possible to get close to "real OOP" using Java. Sadly this is not what 99% of the Java programming world is doing.
It has been said that democracy is the worst form of government except all the others that have been tried.
-- Winston Churchill
Unix is the worst operating system; except for all others.
-- Berry Kercheval
Those who cannot remember the past are condemned to repeat it without a sense of ironic futility.
-- Errol Morris
Those who do not understand Unix are condemned to reinvent it, poorly.
-- Henry Spencer
Those people who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)
"No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
That 1/3 is predominantly the MS shops that already were using VB, etc. .NET adoption has become stagnate proportionally over the last 18 months. People just are not moving to .NET from other platforms, just upgrading from VB....
Website Hosting
Today Gosling says the "immense amount of testing and design work" is not thought to be "anywhere near as good as having thousands of talented eyeballs just stare at it and think about it", but he didn't always say this and Sun didn't always license Java software in line with this sentiment. Gosling's claim might be true, but I think the freedom Sun's relicensing gives users is far more significant. Also important for the free software community is the lesson of free software pressure.
Not long ago, Gosling poo-pooed the idea of turning Java into an "open source project": "If Java turned into an open source project, the enterprise development community would go screaming into the hills.". In the same article, author Glen Kunene described Gosling as being "ambivalent about Apache's Harmony".
Similarly, Richard Stallman once described Java as being a trap because one could write free software programs in Java that depended on features only non-free Java software provided. He also wrote about what a non-event it was that Sun allowed more people to distribute its then non-free Java software.
Taking all of these quotes and descriptions at face value, assuming nobody was lying, what explains the change in view? I believe that the competitive pressure created by free software Java implementations pushed Sun to stay relevant. As the free software Java implementations became more functional and more likely to replace Sun's Java software, Sun saw they could free their implementation and continue to compete. In so doing, Sun also became a top contributor to the free software community and got free software luminaries (Stallman and Eben Moglen) to speak in support of their relicensing.
Digital Citizen
People should remember that Java started out as a set-top language and was released when that project failed. Then, it was supposed to turn the web into an application delivery platform, and it failed miserably at that, too (Ajax is now succeeding there).
The reason Java isn't a footnote in history is because of the enormous efforts people and companies other than Gosling and Sun have invested in fixing up its problems and turning Java into a decent platform for server-side development.
As far as I'm concerned, the main credit Gosling deserves is for saddling us with some bad design choices and some really ugly backwards compatibility problems in Java.
~ roscivs
After all, you have to use a Java IDE a lot longer to get a GUI layout right. Netbeans and Eclipse should catch up in ease of use in GUI development circa 1990 any day now.
Java is in no way shape or form an analogy to COBOL. It's a fast, maintainable, highly portable language that's used to write a huge amount of new software today.
Your predjudice is baseless. The reasons behind the existence of both languages have a great deal of overlap.
No language, no matter how "fast, maintainable, [or] highly portable language", can prevent an enterprise app from becoming a total maintenance nightmare after 20 years of feature creep. That's why it's analogous to COBOL. A few decades from now, extensive and current Java experience will command some nice consulting fees. I also predict Ruby/Python knowledge to become about as useful Pascal.
I imagine a few years after the last piece of the staggering amount of enterprise Java code out there has been phased out.
Seeing that COBOL is still being maintained, and Java is getting taken up more and more atm, I guess that'd make it around 50 years from now.
Frequently the fastest way to accomplish s six-week project is to take a month to write the tool...which will then complete the project in under a week. Management with your attitude will a) never see tools produced that increase the department's overall productivity and b) you won't have the best people working for you.
What are you talking about? Are you saying you should be able to sit on your ass for two weeks, because you brought in something ahead of schedule? Guess what: you're being paid to work. If you bring in something ahead of schedule, you should expect a "nice job" with points that count eventual promotion and pay raise -- along with a new assignment.
Or to put it another way, when you're late with an assignment, do you pay the company back for the time you've wasted? Thought not.
Respect is a two-way street. No one like working in the hamster wheel, but no one likes managing (or working with) the prima donna who thinks he can just put in solid work when he feels like it.
Sometimes it's best to just let stupid people be stupid.