"Father of Java" Resigns From Sun/Oracle
Thrashing Rage writes "James Gosling has confirmed he is leaving Sun/Oracle: 'Yes, indeed, the rumors are true: I resigned from Oracle a week ago (April 2nd). I apologize to everyone in St. Petersburg who came to TechDays on Thursday expecting to hear from me. I really hated not being there. As to why I left, it's difficult to answer: just about anything I could say that would be accurate and honest would do more harm than good. The hardest part is no longer being with all the great people I've had the privilege to work with over the years. I don't know what I'm going to do next, other than take some time off before I start job hunting.'"
Here's why I ask: not because he's not a smart technologist - he clearly is, and while I don't love everything about Java it was a pretty darn good idea.
However, from a business standpoint Java was basically a disaster, because it required quite a lot of support from Sun while at the same time not giving them something they could sell. To become a standard, they had to give away the basic tools and describe the standard so that other people could make JVMs. Once they did that, there was really nothing that Sun had to sell that its competitors (including open source projects) couldn't build either better or cheaper.
Now, you could make the same criticism of Microsoft's C# language, except that Microsoft always treated its languages as a loss leader for selling MSDN and Windows server licenses. Since Java was specifically cross-platform, it couldn't do the same for Sun.
I am officially gone from
I think IBM would've been better too. It's too bad they wanted to lowball on their offer and missed their chance.
And, yes, I think Oracle is more "evil". I think this is for several reasons:
All of those things contrast with IBM. IBM makes its money on hardware and consulting, they've mostly learned to live with Open Source (patent threats not withstanding), and there is some real innovation that happens there from time to time. And I think IBM would be smarter than to think they could really kill an Open Source project by buying it.
Need a Python, C++, Unix, Linux develop
IBM wouldn't have been any friendlier to the recent departures. The various Open Source people that Oracle fired were attached to projects that just didn't make sense for Sun. And Gosling hasn't played a major role in Java development for years.
Anyway, recent departures are nothing compared to the folks who've been abandoning ship for the last 5 years. A huge number of key Java people (most notably Josh Bloch, who really had more to do with the Java APIs in their current form than any one person) have moved to Google. Others left Sun because they couldn't live with the idea of Java going open source.
But the most emblematic departure, was Andy Bechtolsheim. He pretty much invented the company: Sun exists because he couldn't find an existing company that wanted to license his hardware designs. Then he left because he couldn't convince anybody that Sun needed to be less SPARC-dependent. A decade later, Sun bought up a company he had founded just to get access to the really cool x64 servers he had designed. (I worked on the documentation for one of them.) They made a big thing about getting back "Badge Number 1", but once again, they managed to drive him away. Officially he never left, but his role is so reduced, it's conspicuously a face-saving thing.
You're looking at this through the rose-tinted glasses of what might have been. Another poster downthread has already mentioned the 100% overlap in the Sun and IBM product lines. I'm not thrilled at some of the things that have played out so far, but I have a hard time seeing how it could have gone any better if IBM bought them out.
IBM would have absolutely been a better steward for Java. They have a controlling interest in the world's most popular Java IDE: Eclipse. And they have better ties with the open source community. And they are a generalist technology company, like Sun was. Oracle tends to specialize. But at the end of the day, too much of Sun's holdings overlapped with IBM's. IBM has their own JEE platform. They have their own hardware divisions. They even have their own Java world-class Java compiler: JDT. And they built their own JVM in Jikes. IBM would have been a better steward of Java. But Oracle had much more to gain from Sun than IBM did, and that's why they were able to offer a better deal to Sun when the chips fell.
Oracle and IBM ruthlessly compete in similar markets, so it's hardly fair. DB2 and Websphere are open source? IBM consultants are hardly going to recommend mysql and jboss when they could sell you their own solutions. Single vendor lock-in is just as bad!
Oh and Oracle's core DB business? Hmmm, I could have sworn they'd moved beyond that, strategically acquiring Peoplesoft, Siebel, BEA and now Sun in recent years - employing an army of consultants to compete with IBM's.
Fortunate for us Sun put Java in GPL for us. Oracle can't "undo" that.
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
Personally I'd say that a good company is one that makes money, keeps growing, and keeps its investors happy. If they do all those things, then likely they're also providing jobs and being a productive part of the economy.
So would a company that made lots of money and squashed competition leading to fewer and less diverse jobs (and thus less chance for employees to find a better paying job) be "good" or "evil"?
It's a pretty basic part of economics that shows that more employers is better for employees, and usually better for the overall economy, as innovation only tends to happen because of competition.
find the most obtuse, difficult to maintain, esoteric software stack in the industry today, give it away for free, then charge for support.
You've really miss-categorized the Microsoft software stack in a couple of important ways. First of all, it's not free. Secondly, while they do charge for support, they make most of their money off of people hoping the NEXT version will magically fix all the problems of the last one. You're certainly right about everything else though. It's quite difficult to maintain it, with patches suddenly breaking random parts of the stack in completely random and unexpected ways. It's often times Microsoft's own software that breaks!
AccountKiller
Larry, can we get signed types, properties and closures now, please?
They just have no interest in paying to produce free software. They're not in the business of giving stuff away. As much as it drives Oracle database sales, that's what they'll do and the connection has to be pretty direct and immediate.
Same with OpenOffice, OpenSolaris, MySQL, VirtualBox and all the others. Mr. Ellison has a pretty solid "row or get off the boat" philosophy. He didn't buy Sun for its freeware. He wanted it so he could play the bigger game.
The economy tanked and some legendary companies were put in distress. This is why prudent companies put aside a cash cushion - so that they can leverage distress and acquire cheaply valuable IP, assets, brilliance and brands. With the market lining up as a war between Cisco and HP for a converged solution including server, storage, network and software, Oracle looked across the vast swath of distressed companies and saw buying Sun as an opportunity to make it a three dog race.
Ellison has no intention of losing this race and has no problem casting out what he sees as ballast - in this case development costs that don't yield immediate profits he can use to get the rest of the pieces he needs to compete on this field. He'll keep Solaris and parts of VirtualBox that he can take proprietary because he needs an OS and a VM. He still needs a switch and router biz to make a go of it, so look for a big buy there.
It's time all hands got to forking - or at least mirroring.
Help stamp out iliturcy.
So would a company that made lots of money and squashed competition leading to fewer and less diverse jobs (and thus less chance for employees to find a better paying job) be "good" or "evil"?
Um, this is pretty much the dead-on objective of effectively all companies. Make lots of money? Yes. Squash competition? Yes. The more competition, the harder it is to compete, and the less likely your product will be used. Reducing competition by destroying your competitors is an objective of all companies, as by definition, they are a threat to your business. You may not like it (I don't), but that kind of business model and associated ideology is the cornerstone of capitalism. The only real question is do they make lots of money and squash competition legally, by delivering a better product and out-classing their competitors, without violating any applicable laws.
More employers and business diversity is of course a good thing, and there-in comes the delicate balancing act of ensuring the economy remains healthy against the natural tendency of businesses to damage it for selfish material gains. Typically, government regulation is what is used to achieve this, by holding businesses that violate various agreed on "principles" of fair trading and conduct accountable. Which makes the staunch objections of many to any sort of regulation all the more bizarre as rational analysis of the capitalist model would seemingly conclude that some reasonable degree of regulation is in almost everyones interest, possibly excluding the filthy rich at the top of the hierarchy of enormous multinationals. But, that's another debate!
There's so much retardation in your post. I don't know where to begin.
Mod me down, my New Earth Global Warmingist friends!
Gosling is a smart guy, but how does hiring the inventor of Java satisfy any business objective? Has he done any real product development in the last decade?
I'm not a big fan of Java, but the lack of a pre-processor is hardly a bad thing. Reading between the lines of what Stroustrup says about C macros, if they weren't necessary to maintain compatibility with C, he wouldn't have included them in C++ either.
Actually that's a pretty valid point. .NET doesn't have an IDE that provides the tools, community and broad scope that Eclipse does. A lot of the newer features in Visual Studio today were added in a vain attempt to catch up to Eclipse.
Eclipse is it's own ecosystem, which you can't say for Visual Studio and especially not any of the horrible open source .NET IDE offerings.
Mod me down, my New Earth Global Warmingist friends!
In order to get into a position where you can apply the locks and holds you have to make a good product. After you get there you can stop.
IMHO the industry is full of examples of companies that made excellent products and stopped getting any better or weren't able to move on when a new idea upset the applecart because they were so wedded to the lock-in and high profits they had with their original software, even after that software had become more of an albatross to most companies using it rather than an asset.
Need a Python, C++, Unix, Linux develop
From his last regular entry on the blog, last line, reads:
The few more recent blog entries that I did at blogs.sun.com were written under somewhat more strict policies :-)
Translation- he is under some strict non-disclosure agreements, so he has to keep his mouth shut for some period of time. My guess is that he wasn't happy at the direction they announced (internally) and so decided to move on. I'm sure we'll hear more down the road at some point.
In Smalltalk, everything is an object, not a class. And Self demonstrated that you don't need classes for a pure OO language. So does JavaScript, for that matter, but it has its own problems (namely, Java syntax with Self semantics, which just ends up confusing everyone).
As someone who's worked on both C and Smalltalk compilers, I'm in two minds about the preprocessor. Conditional compilation is a huge problem. If you run cc -E on the same C program on two different platforms, you will often get two different results. This makes it very difficult to find bugs that occur on only one platform, but it also means that distributing the code in any form other than source is not possible for cross-platform deployment. If you compile a typical C program with clang or llvm-gcc down to LLVM IR, for example, the resulting code is not portable.
The other big problem with the C preprocessor is that it makes it really hard to analyse source code. You need to look at the code both before and after preprocessing to reason about it sensibly for things like document generation or semantic analysis. If you just look after preprocessing, then conditional compilation will be ignored. If you just look before, then macros look like functions.
Note that this isn't really an argument against preprocessors. Lisp and Smalltalk both have nice features that are equivalent, but they work on ASTs, not on tokens. In (some implementations of) Smalltalk, you can send messages to the parser as its parsing, which is a really powerful feature. In Lisp, macros are basically Lisp programs that take a Lisp program as input and produce a Lisp program as output. The uniform structure of the language makes them much easier to work with.
I am TheRaven on Soylent News
“obtuse, difficult to maintain, esoteric software stack” aka, a command line.
Expectations. Thirty years ago (geez, has it been that long) I was using Apple ][ machines on a Corvus network to run custom industrial data acquisition and accounting/job costing software. I had no problem whatsoever training people (accountants, a couple of secretaries, some plant workers) to use the stuff. Their expectation was that they were going to have to learn something, and they did, and were surprised that it was nowhere near as difficult as they had assumed it would be. Nevertheless, it's that willingness to learn that is the issue here. People have been trained by a quarter-century's worth of glittering GUIs to believe that computers are really simple gadgets at heart, like toasters, and that they shouldn't need to invest any time in learning anything because that's the job of the magical gnomes that reside inside the box. The problem is, to get the full benefit of any complex bit of technology, you have to be willing to use your head. Anyone can learn a command line, just like anyone can learn to program their VCRs: neither are rocket science, but both require some determination
Of of my coworkers made the comment once that the Mac is for "people who are too stupid to use a computer." There's some truth to that. Probably why I don't like Apple products in general.
The higher the technology, the sharper that two-edged sword.
But you still use furniture, and paper, and buildings.
The friendliest interface for people who don't want to learn is not the GUI or the CLI, but the TUI. A full screen text application, like a ncurses app.
It takes over the screen completely. At every point it displays the possible choices. It makes heavy use of keyboard shortcuts so that an experienced operator can be really fast with it. It lacks shortcuts that cause something weird to happen (like the Win key combinations). It processes everything serially, so that it's possible to use several keyboard shortcuts in a row, and have the right thing happen. It does only what it needs to do, and the computer doesn't offer a way to do anything else.
They're still being worked on, and these days they seem to be mostly built on Linux.
The friendliest interface for people who don't want to learn is not the GUI or the CLI, but the TUI. A full screen text application, like a ncurses app.
You know what? I agree with you a hundred percent. The aforementioned Apple ][ apps were all TUI-based, and the interface was basically a series of nested menus, no more than ten options per menu, with a single-digit shortcut for each option, each option taking you to either an entry/display screen ... or another menu. I noticed that users would come up and just type the numbers that got them to the page they wanted. Linda the cost accountant might type "2934" to get where she need to go, and Sally the secretary might enter "40375" to do what she wanted. After they used the system for a while, none of the regular users bothered using the highlight bar ... they just spit out their memorized combination and BAM!, they were getting their jobs done. Because the screen updates were instantaneous, they could just snap in a few keystrokes in under a second.
It worked well. The software got out of their way, I had no support calls (other than the occasional hardware failure) and, most importantly, I got paid in full. Happy corporate users and paychecks go hand in hand, I discovered.
The higher the technology, the sharper that two-edged sword.
Man, don't we complain enough about Java being bloated? No, let's keep adding new JVM features, each introducing a thousand more quirks.
If this was ten years ago, radical changes would be more welcome. Now, hundreds of thousands of us average programmers earn our living with Java, and would like everyone to leave it alone, thankyouverymuch. Honestly, why not just pick another language to fuck with?
The Peoplesoft acquisition is to a great extent all about strengthening their position in the database market. They bought Peoplesoft, announced that the Peoplesoft product is pretty much dying, and you should start thinking about converting to Oracle Apps (Oracle's ERP offering built on top of Oracle DB which competes against Peoplesoft). Peoplesoft runs (ran?) on multiple databases-- the user had a choice. Oracle Apps is built almost entirely on PL/SQL stored procedures, and will never, ever run on any other database than Oracle.
Those acquisitions you mentioned (at least the Peoplesoft one, the only one that I have been closely involved with personally) are moves designed to kill serious competition and consolidating the marketplace. It's designed to acquire new customers to lock in. It's not about increasing a portfolio of knowledge and capability.
IBM probably would have been a better suitor for Sun than Oracle, but now it's all over but the crying.
If we're talking about only the Java part of Sun then you're probably right. But I think the hardware business of Sun is worth more to Oracle than to IBM.
And there we have it. The reason why people use Java.
There's no #DEFINE that turns a readable program that everybody knows into a program that has you looking through .h files every 3 seconds. You cannot "redefine" things, so a program is ALWAYS recognizable. An int is an int. A long is a long. The preprocessor was not included exactly to avoid these kinds of things.
That and the Java coding standards that Sun created is why Java projects have a much shorter learning curve. You can be productive within a day on most Java projects, unlike some of the C projects I've seen, even the ones that are generally considered to be well structured.
Really? What's it called?