Ten years ago, Sun Microsystems publicly debuted Java, software that initially helped establish the company’s forward-thinking reputation and that later spread to most corners of the computer industry. James Gosling is the man behind the technology, interview here.
A closer look at Java
2005-06-29 Java 11 Comments
no bad read, gosling seems to be smart enough about some things, but as a perl monk im naturally annoyed he see perl not as real programming language. i think has got a bit mindset of an grandfather.
The proposal saying that you can’t touch the java name unless you certify yourself is perfect, too bad Sun doesn’t get it.
There is a lot of fracturing, even within the java community regarding OSS, and yes, OSS is important especially at the enterprise level.
The strategy of the dominant industry player is to lock up ownership of the market, and use that as a base for forcing its way into neighboring markets. This of course describes Microsoft to a ‘t’, but it also describes most other companies who find themselves in a similar position – Intel with microprocessors (and then motherboards) for instance.
Open source is a customary mode of behavior for researchers and graduate students, but it is also a promising strategy for companies that are also-rans in a lucrative market. By forming an open development community around their software, they concede that they will never own a Microsoft-like position in that particular market, but they might capture a substantial number of users (if not actual dollars), that can be used as a lead-in to their proprietary products. And they take away those sales from their top competitor.
Microsoft actually pontificated on the value of “open standards” for about six months (probably the same period that Gosling refers to here) when it was trying to catch up with Netscape, the dominant vendor. Of course once it secured the lead, we heard no more lectures from Redmond about the moral value of open standards for internet browsing.
It occurs to me that Microsoft may use open source (with accompanying evangelical pitches) to break into markets it’s having a tough time with, such as phones. If that happens, let’s not react by saying “wow, they finally get it”.
I thought Sun was forward-thinking long way before java.
Actually, I always thought java was very much an old style thing.
Instead of focusing on one thing and doing it well, Sun has spread Java too thin, and now it can do everything in a mediocre way, and do nothing well. It sucks for small command line tools and one-off scripts because of memory consumption and startup time, it sucks for scientific applications because it lacks advanced language features, it sucks for GUI apps because of sluggish Swing performance and AWT bugs, and it sucks for web apps because of a multitude of overly-complicated web frameworks based on broken concepts like representing configuration data via XML. Its not even free software, and the “read-only” license for the compatibility test suite that prohibits compilation is a slap in the face.
I have never porgammed in Java before, so here’s my question.
What is exactly the “advantage” or “usefulness” of it?
In the sense that, in my experience.. when I needed pure speed I wrote C/C++, and when I wanted ease of programming and flexibility I go for things like python or lua.
When I read about java, I feel that it’s sort of like in the middle.. as in, not being as optimal as C, and not being as flexible as interpreted languages. So, in which scenarios is this kind of medium point (for platforms like java or .net) most useful?
“Its not even free software…”
Please tell me when, if ever, you had to PAY for the JDK? The libraries, the IDE’s, the tools…etc provided by Sun? Please lookup the defenition of free in the dictionary, not what the OSS zealots say.
Also your comment of it doing everything in a mediocre way, it’s language, blame the developers.
It’s akin to saying homes these days are not built well due to the advent of the nail gun. Don’t blame the tool, blame the user/application of it.
If you need “pure speed” go assembler. I am not sure what type of projects that you are working on, but Java excels at web application development. You would have to be a moron to do a web application in C/C++. Doing a web application in say PHP, Phython, PERL can do fine, but does not scale well at all.
Currently the only good tool out there is Java and it’s related frameworks for web applications. .NET is having some in rodes, but that is due more towards marketing than technical merit.
You should read the article about eBay’s migration to Java from their own propritary C application.
“Also your comment of it doing everything in a mediocre way, it’s language, blame the developers.
It’s akin to saying homes these days are not built well due to the advent of the nail gun. Don’t blame the tool, blame the user/application of it.”
So all languages are equal then? You may want to consider the following:
“Why Java Will Always Be Slower than C++”… unless a radical redesign takes place.
I reread and see you are not actually saying all languages are equal, but the phrase “it’s [a] language, blame the developers” makes a contradictory point that all languages are equal so we should blame developers for the poor results when working with a given language vs. another one.
Yet you differentiate between the inherent capabilities of Java and assembler, Java and PHP, Python, Perl, irrespective of developers.
Your comment “If you need “pure speed” go assembler” makes it sound as if there’s nothing between Java and C++, whereas in fact C++ can be incomparably more convenient to work with than assembler (sometimes almost as convenient as Java) and yet yield performance close to assembler. There is a veritable performance chasm between Java and C++, and while Java is fit for some areas, it is unfit for a lot of others (unless you want your program to be a mediocrity) and most importantly the number of areas Java is fit for is much smaller than the number of areas C++ fit for. I think that is the gist of Slava Pestov’s post, although your specific argument that Java is good for general web development has good merit.