“This will come as no surprise to many of you, but I have been somewhat lost and wandering in the desert these past few months. Five years of involvement in many of the major issues related to Java had left me questioning whether the ideas I believe in, ideas that many of us share in common, could make a meaningful difference. This summer has been a sabbatical that I didn’t know I needed, and the long pondering of the core issues has helped me refocus and reorder my priorities.” Read the article at JavaLobby (free reg. required).
Most of this was completely predicatable. Microsoft is a platform vendor and wants complete control over the platform it offers customers, bounded only by recognized standards like TCP/IP, SQL, and ANSI C++. Some call it “embrace and extend” but in fact this approach is pretty much used by all the big vendors, whenever they can get away with it. If you control a popular and critical API, you win. Sun sued because they didn’t want Microsoft co-opting the Java standard, like they largely took over HTML in the late ’90s, so I would argue that their response was rational as well.
The big mistake Sun made, and is still making, is not turning over as much of Java as they can to standards bodies. Like Microsoft, they can hand over the core language while still keeping enough proprietary to maintain ownership of the platform.
Why is everyone preaching that Sun to should hand over Java to a “standards bodies”? Such a thing for Java already exists! The Java Community Process http://www.jcp.org/. I think that the JCP is even better than a “committee”, because anyone can voice their opinion. Try doing that with C#.
This is fine for enterprise API’s, but how about the core language and JVM?
Why is everyone preaching that Sun to should hand over Java to a “standards bodies”? Such a thing for Java already exists! The Java Community Process
Because as long as the process is something that was created by Sun, is controlled by Sun, and can be destroyed by Sun, it’s not a real standard. Java faces some very hard times in the coming years if it continues to be proprietary. How many other programming languages widely in use today are NOT standardized under ISO or another recognized standards organization? Even the jcp.org domain name is owned by Sun (and the DNS servers for it are at Sun.com) rather than a spin-off organization of some type.
I think that the JCP is even better than a “committee”, because anyone can voice their opinion. Try doing that with C#.
Unless you’ve paid membership fees, however, your opinion carries no more weight with the JCP than with the ECMA. They may give you more space to do it, but the members don’t have to listen. Sun’s on the committee that standardized C#. Is Microsoft not being part of the JCP Microsoft’s doing or Sun’s doing?
Boo hoo Mr. Java Lobby. Java has become simply a blase IT language for armies of IT drones to crank out giant IT spaghetti programs.
However, having 10 times the complexity of COBOL, Java provides jobs for scores of life-blood-sucking consultants and somehow makes high-priced monsterware like BEA WebLogic seem sensible.
At least now everyone with more than two brain cells can move along to better programming languages.
#p
However, having 10 times the complexity of COBOL, Java provides jobs for scores of life-blood-sucking consultants and somehow makes high-priced monsterware like BEA WebLogic seem sensible.
At least now everyone with more than two brain cells can move along to better programming languages.
Yeah, sing it brother. All the smart guys can move on to …umm… to … Yeah! Move on! Here we go! Greener pastures are just over … wait…
Let’s see. It’s on the tip of my tongue.
I’m trying to place my fingers on it.
Now, which language and environment have all of these capabilities?
Cross platform source code, cross platform binary code, cross platform GUI, cross platform database interfaces, multiple compiler vendors (including machine code compilers), multiple runtime vendors, multiple IDE vendors, multiple app server vendors, standard sockets, standard threads, standard RPC, enormous standard library, works well in server environments, works well in client environments, works well in embedded environments, good object oriented semantics, garbage collection, huge development community, huge commercial community.
I know, it centers on all of the Linux coders writing C++ apps for Windows deployment. No…hold on…Python with its support from Oracle, Sybase, IBM, HP…wait..no..that’s not it. The EMACS support for the Smalltalk products…ummm…
I know! Lisp! It’s huge in front office applications!.err..
*duh* I remember now, it’s all of that COM and DCOM support that comes with Solaris! Coded up in Visual Basic for Unix. That’s the ticket! What? Huh?
I think I need a little help here. What was that perfect single solution that offers all of the above? That does a pretty good job, though certainly not perfect, in all of these areas? That system that’s completely wart and blemish free that has such widespread support?
Which environment is that again? I anxious to move on and get off this Java train wreck.
all the same could be said of many popular languages in the past. just because something is popular doesn’t mean it is good. just because something is trendy now doesn’t mean it will be trendy forever.
take mr. bush for example. polls say all these good things. but what is the reality? an economy that under the surface is bankrupt. a ‘war on everything’ similar to orwell’s ‘war is peace’.
java certainly is popular. but underneath the surface popularity, is there great technology there? no. there is an incredibly high cost infrastructure needed to develop java for the enterprise. and so we will find in time that java roi is just smoke and mirrors. it will turn out just like crm. or any other of the hyped technologies. 80%+ of IT projects still fail. it doesn’t matter what programming language that IT trolls use.
it is foolish to think that one popular monoculture language is the be-all end-all programming language for all time. unless you are a fearful IT troll. so, don’t get on the train of the future. if it hasn’t gotten to your stop, don’t worry about it. you won’t be getting on it anyway.
i’m not saying there won’t be masses of mediocre IT hacks sticking to their JAVABOL for the forseeable future. there will be.
but the really cool apps of the future will not be written in java.
#p
i’m not saying there won’t be masses of mediocre IT hacks sticking to their JAVABOL for the forseeable future. there will be.
but the really cool apps of the future will not be written in java.
Those hacks will jump to C# faster than you can say “Visual Studio.NET” I know. I work with them. Java is too complex for the average IT worker to understand in depth, and J2EE has gotten *way* out of hand. Most people I work with barely understand isolation levels, let alone what a message driven EJB’s transaction participation level should be set to.
Java (from an enterprise perspective) is a better language than C or C++, if only because it keeps the less-than-genius programmers (yours truely included) fairly safe. C# will probably be just as safe, plus easier to deal with at a high level (although it will, I’m sure, be nasty as hell under the covers… Thanks Bill G!).
Personally, I just keep writing java code to pay the bills, and reading about and coding in python to keep my sanity.
Cheers,
prat
I don’t think so… and neither are the sellers… or they would slash the prices…
REMEBER… The modern society is a capitalist one… in capitalism you sell a thing the highest price you can get away with…
If the Java Application Servers are expensive, then use Open Source ones… as they are out there… Of course you can’t make easylly a cluster of 20 servers that acts and is adminsitred as if it was just one server…
You want everything… High performance and feature rich Application Servers and you don’t want to pay… well tough luck…
Cheers…
P.S.- For the record, you should check who is implementing solutions with Java Application Servers… and i would imagine that you will find that those that are, don’t have problems in paying the license fees…
Obviously your definition of standard is much different than mine.
Because as long as the process is something that was created by Sun, is controlled by Sun, and can be destroyed by Sun, it’s not a real standard.
So I guess that Microsoft Office, Windows are not standards? You know that ethernet is owned by Xerox, so I guess that’s not a standard too. Sun owns Solaris, but I guess that’s not a standard UNIX according to you. Get real man!
Sun created the language, they can do whatever the hell they want. You should look up the term intellectual property (start with intellectual).
How many other programming languages widely in use today are NOT standardized under ISO or another recognized standards organization?
Hmmm…Perl,PHP,Shell,BASIC,Visual Basic,Ash,Python,Lisp. Those all are not “standardized”, I guess they should all be abandoned right?
Have you done any serious projects in Java? The language itself is very clean and open. I can look at the source of any and all libraries. I can even alter them to my own liking.
What advantages would developers gain if Java were “standardized”? I can’t think of any, can you?
Even the jcp.org domain name is owned by Sun (and the DNS servers for it are at Sun.com) rather than a spin-off organization of some type.
Again Sun created Java…so that means they own it.
Unless you’ve paid membership fees, however, your opinion carries no more weight with the JCP than with the ECMA.
Again all you’re doing is bitching and not contributing. $100 isn’t too much to pay in order to be a member.
http://www.jcp.org/participation/membership/index.jsp
My point is, assuming that you as a member have an idea that is reasonable and practical, IMO you’d be more successful having it included into Java than C#.
all the same could be said of many popular languages in the past. just because something is popular doesn’t mean it is good.
It can maybe be said of COBOL. Maybe even Lisp and the Lisp machines, but I don’t think any other language reached the breadth of what Java is used for today, and in such a short time.
And just because its popular, doesn’t mean it’s not any good either. Popularity != quality, or lack of.
just because something is trendy now doesn’t mean it will be trendy forever.
By definition of trendy. adjective “marked by ephemeral, superficial, or faddish appeal or taste”.
In the beginning, perhaps Java was trendy, but it has moved on beyond that and is becoming entrenched. In the IT marketplace, every major vendor has shown and demonstrated great support for the Java platform, save for Microsoft. All of that support just entrenches the platform even moreso.
take mr. bush for example. polls say all these good things. but what is the reality? an economy that under the surface is bankrupt. a ‘war on everything’ similar to orwell’s ‘war is peace’.
Umm…whatever. Ok! I submit! It’s Java’s fault!
java certainly is popular. but underneath the surface popularity, is there great technology there? no.
Sure there’s great technology here. There’s great technology within the JVM, mostly. The most interesting thing I’ve seen come out of the Java camp, personally, is the JINI stuff. Very interesting, IMHO.
Is it the most awesome thing the world of Computer Science has ever seen? Nope. But it sure does seem to meet a lot of basic needs and meet them well. The power of Java isn’t any kind of revolutionary technology, it’s just that they combined enough interesting elements, and made it work. Marketing and getting it pervasive in the industry is one of those components.
there is an incredibly high cost infrastructure needed to develop java for the enterprise. and so we will find in time that java roi is just smoke and mirrors. it will turn out just like crm. or any other of the hyped technologies. 80%+ of IT projects still fail. it doesn’t matter what programming language that IT trolls use.
There’s an incredibly high cost infrastucture needed to develop ANYTHING for the enterprise. It’s a big complicated space with folks trying to integrate system based on post-it(tm) notes with high end ERP systems. Like you said, it doesn’t matter what lanaguage folks use. Most projects fail for reasons besides implementation language. I could use Common Lisp to write a real crappy piece of software, and that could cause a project to fail. Or, corporate management could come down and change its mind and goals every 3 weeks, that doesn’t help the project either.
So, since we agree that the language isn’t necessarily relevant to the success of a project, might as well use Java and gain the benefits it DOES have.
it is foolish to think that one popular monoculture language is the be-all end-all programming language for all time.
Never said it was. I just can’t think of an environment that offers the options and flexibility for a majority of IT applications, and for a majority of people in the current marketplace. I think Java really helps make commodity computing more of a reality than it was before. Perhaps that’s its curse. Commodity computing, means commodity workers and commodity projects.
But ya know what? For those happy in commodity positions, they could be stuck in worse environments, with much less flexibility and skill portability. But, for those with higher aspirations, it provides a good solid introduction to using some of the higher level concepts popular in other computing environements, gain some basic understanding, and an easier platform to move up from.
For example, many modern systems are using GC, but by far there’s more GC happening in production environments with Java systems than pretty much anything else, and managing memory in a GC environment is a portable skill.
Perhaps a Java coder might drift over to the AspectJ site and see what the hub-bub is. Is Aspect programming a good or bad thing? Who knows, but trying out this implementation of it is an incremental leap over normal Java skills, versus having to learn a completely different environment to play with the technology.
unless you are a fearful IT troll. so, don’t get on the train of the future. if it hasn’t gotten to your stop, don’t worry about it. you won’t be getting on it anyway.
Yup, I’m just a blind zealot because I can see through the anti-hype and actually get things accomplished with the system despite its limitations. I know its not “cool”, or “hip”, or “bleeding edge”. But, when you have to work with Normal Joes, who’s idea of refactoring is cut-n-paste, you need to look out at the bleeding edge and try to bring it back into the real world. Java has pretty decent facilities to accomodate a lot of that. It lets morons write moron code, and lets even sophisticated systems be constructed and designed as well. Wow! It even lets the two styles interoperate.
i’m not saying there won’t be masses of mediocre IT hacks sticking to their JAVABOL for the forseeable future. there will be.
but the really cool apps of the future will not be written in java.
No, they’ll probably be written in C, if history says anything. Developed, researched, and prototyped in something that will never see the light day, but ultimately written in C.
The Prophet: take mr. bush for example. polls say all these good things. but what is the reality? an economy that under the surface is bankrupt. a ‘war on everything’ similar to orwell’s ‘war is peace’.
America is not close to being a bankrupt. While yes, its debts is rising… but well, you can blame that on Bush himself. It would be voted out next elections just like his father. Though matter how justified the war on Iraq is, it would bring chaos to the economy in Asia, specifically in the Middle East and in South Asia. And in the end, this would reflect back on Bush.
Frankly, I don’t think Hussein poses a threat today, but USA is better off training Iraqi oppositio (until recently, they cut off financial aid for them). Propoganda measures is well in place, like Voice of America in the Arab world (iirc, al-Salam). Considered by Jordanian youth as the only source of true news…. 🙂
Abraham Tehrani: So I guess that Microsoft Office, Windows are not standards? You know that ethernet is owned by Xerox, so I guess that’s not a standard too. Sun owns Solaris, but I guess that’s not a standard UNIX according to you. Get real man!
Funny, of all the things you mentioned, Ethernet is the only open standard (under the IEEE, if I’m not mistaked). Solaris is an implementation of UNIX, which isn’t a open standard at all (otherwise, all *BSDs and selected Linux distributions can easily qualify to hold the UNIX trademark). MS Office and MS Windows is not even close to being open.
So, in conclusion, except for Ethernet, everything you mentioned is propreitary.
Abraham Tehrani: Sun created the language, they can do whatever the hell they want. You should look up the term intellectual property (start with intellectual).
And they are obviously doing that. But remember, nobody here is against Sun controlling Java, just people here is against Sun painting a picture as if Java is an open standard. Standardizing Java in, say, EMCA or ANSI, or ISO would go a long way for Java.
Abraham Tehrani: Hmmm…Perl,PHP,Shell,BASIC,Visual Basic,Ash,Python,Lisp. Those all are not “standardized”, I guess they should all be abandoned right?
Notice none of them actually tried to be in the position of a standard. perl, Ash, Python and Lisp was created for specific reasons, not to dominate the world and kick C++ out of the languange throne. PHP is a server tool, like ASP (which also isn’t standardize). Basic was created before any standards groups realize of a term called “computers”, while Visual Basic wasn’t created to be a standard, rather a language to bloster Microsoft market standing.
None of these languages would gain anything being a standard under any standards office. Java will.
Abraham Tehrani: Again all you’re doing is bitching and not contributing. $100 isn’t too much to pay in order to be a member.
PainkilleR’s point was not about the membership fees, but rather the fact that your opinion, unless by some miracle, wouldn’t be considered, or even noticed, by Sun.
None of these languages would gain anything being a standard under any standards office. Java will.
And what do I as a developer gain?
And again your definition of standard is different than mine. Just because you don’t know the guts of something does not make it non-standard.
I don’t know anything about the “insides” of Java. However, I do use two Java applications extensively – LimeWire and ThinkFree Office. Not only have these applications improved in speed and stability but also, as computers have gotten faster, the applications have become fast. On our 1.7 Celeron, ThinkFree opens instantly.
I know people have different feeling bout Java (LOL, I remember Eugenia said Java gives her the creeps:-). But, I love these applications. Does anyone know of other good general user Java apps? Also, I realize that Java was made for “write once, run on all”, but I was wondering if there has ever been an attempt to write a Java OS?
Obviously your definition of standard is much different than mine.
Yeah, something about de-facto and proprietary that don’t fit my definition of a standardized language. Probably has a lot to do with the fact that I have to develop software in a company that feels very strongly about standardizing everything we do.
So I guess that Microsoft Office, Windows are not standards? You know that ethernet is owned by Xerox, so I guess that’s not a standard too. Sun owns Solaris, but I guess that’s not a standard UNIX according to you. Get real man!
For the most part that is correct. Of course, UNIX isn’t owned by Sun, we’ve got nice little things like IEEE POSIX standards and the IEEE UNIX standard. If Solaris meets the qualifications, then it’s a standard UNIX, if it doesn’t, it isn’t. It’s up to Sun to meet the standards. Isn’t that odd, ethernet’s an IEEE standard as well.
Sun created the language, they can do whatever the hell they want. You should look up the term intellectual property (start with intellectual).
Yes, I agree, though an IP debate is more suited for another place and time. It’s only been 7 or so years, but in software that’s a long time (though in programming languages it’s not).
Hmmm…Perl,PHP,Shell,BASIC,Visual Basic,Ash,Python,Lisp. Those all are not “standardized”, I guess they should all be abandoned right?
Perhaps, though it should be noted that the current version of Visual Basic compiles to a standardized interface. Ash, assuming I know what you’re referring to, conforms to POSIX standards for terminal/shell interfaces. Lisp is standardized by ANSI, as is BASIC. Perl is not standardized in this sense, though there are some that believe it would gain a lot from the process (http://www.perl.com/pub/a/2000/06/rosler.html for a good answer to that), and Python is in much the same situation. If I missed anything, well, it wasn’t intentional. BASIC, C/C++, and Java are the most widely used programming languages today. Java is the only one that hasn’t seen ANSI/ISO standardization, yet. Perl, Python, and PHP may or may not see standardization sometime, and the calls for that to happen will become more frequent as they gain more popularity in businesses.
Have you done any serious projects in Java? The language itself is very clean and open. I can look at the source of any and all libraries. I can even alter them to my own liking.
I guess your experience and mine don’t follow the same path. As for altering ‘standard’ libraries, I sure hope you’re branching them off so they don’t cause conflicts, or isolating them to your own app.
What advantages would developers gain if Java were “standardized”? I can’t think of any, can you?
The same ones that most languages gain. Almost every language is fairly open because it has to be in order for people to use it. Standardization, though, ensures that changes made are chosen for the benefits of the language, rather than the benefits of the organization that controls it. It ensures that any implementation you pick up which claims conformance has to have proven that conformance. Sun can offer some of those benefits by controlling the language themselves, but there’s definitely no guarantee that any of those benefits will be there for long.
Again all you’re doing is bitching and not contributing. $100 isn’t too much to pay in order to be a member.
http://www.jcp.org/participation/membership/index.jsp
My point is, assuming that you as a member have an idea that is reasonable and practical, IMO you’d be more successful having it included into Java than C#.
It doesn’t matter how much I pay, they’re not going to come any closer to standardizing the language just because I paid $100 and asked them to do so.