"MS Killed Java" (on the Client) JL Founder
jgeelan writes "In a commentary titled "Microsoft Killed Java" the founder of JavaLobby, Rick Ross, revisits the 'death' of Java on the client.
"Five years ago, almost to the day," Ross declares, "Microsoft shipped IE4 with a JVM that was intentionally engineered to provide leverage to corrupt and pollute Java compatibility standards."
According to an Associated Press report, Microsoft Corp has until only October 4 to respond to Sun Microsystems' request for a federal court injunction requiring Microsoft to integrate Java into Windows."
Everyone, I've made a new platform-independant language and virtual machine. It's called OJ. Microsoft won't put it in Windows. This is killing my business model. Where do I sue to force them to put OJ in Windows?
Funny that the site is slashdotted and their aren't even that many comments here...
Sun didn't help. For years they complained that Microsoft was implementing Java without proper licensing, and wiping the courtroom floor with MS. Then MS raised their middle finger at Sun and told them where to go today, and removed Java completely. Then Sun let them use the broken client from several years ago in IE5.5 SP2 and IE6.0 as some silly settlement. Now, Sun is whining that MS isn't using their newest client. Yes, I'm sure MS tried to re-invent Java (J++ or whatever they call it now), but remember the facts, Sun was a huge help is screwing themselves over.
There is no reasonable defense against an idiot with an agenda
:wq
Java died because nobody really cared. Anyone who did could just install it themselves, but they didn't.
MS didn't kill java, they just didn't keep it on life support.
You have missed the point. What they choose to include was corrupted. Either do it right, or dont do it at all. But to sabotage it by doing it wrong is anti-competitive.
Some things don't need Microsoft to die. Applets sucked. They took too long to download, and were slow and buggy, and Java as a langague is not very approachable to many.
Flash filled the nich better without (yet) getting killed by MS. That shows that if you know your market and do it (reasonably) well, you can survive.
Don't blame everything on MS.
Table-ized A.I.
I think you mean should_have_to_include java in ie.
Well they signed an agreement saying they would, back in the day when IE was competing with Netscape and having a java enabled java was an advantage.
Maybe if Sun had spent time on a killer application or applet (or evangelizing for same), the Windows users of the world (and the rest of us as well) would be saying "Hey, keep the Java in there!"
Instead, Sun has the bloated Swing with some cute little demos. The world has created java game applets, animated signs, weird ui elements, and memory-hogging eye candy.
Why do I need Java in my web browser client or on my desktop?
Yep, Microsoft is to blame.
The typical argument for "MS Killed Java" is not that Java died because it was not included in Windows, but rather because it was included in a crippled way that misrepresented the language.
It would be the equivalent of Microsoft giving away a Linux distribution "MS Linux" that crashes often, doesn't run most of the GNU programs (gcc included), has a different set of C libraries with their own quirks, and uses a really old version of Gnome as a fixed, non-configurable GUI.
Then everyone would say "I tried Linux, it came with Windows, but it sucks" and it would take a lengthy, unwanted explanation to let them know that their "free Linux" was crippled. Even then most will never try it again.
It's not clear that MS killed Java on the client. In my opinion, Java was not ready for the client and therefore it killed itself with the Applet hype.
But that doesn't mean shooting a man dying of cancer is not a crime.
Freedom is the freedom to say 2+2=4, everything else follows...
This sucks that Java has died. I just finished up my first week of a Java programming course. And, now, I find out that I am learning a dead language?
When will it end?
(sarcasm skills required for reading this comment)
Moon Macrosystems. Sun's biggest competitor.
It would have killed you to mention "oh, btw, here's the screenscrape of the text linked"?
"Consider yourself a member of a virtual corporation with Mr. Torvalds as your Chief Executive Officer." - Linux Advocac
Java is not even cold on the client, must less dead. There are TONS of line of business applications written in Java that are used on a daily basis. The web isn't everything. Just because you don't see Java Applets doesn't mean Java on the desktop is dead. Do a little research first.
http://www.naildrivin5.com/davec
God forbid Microsoft ship a product that would reduce it's reliance on third party software. Not that it's sound business strategy or anything. Or that I'll get trolled out the ass for the comment.
You need a FREE iPod Nano
5 years ago Netscape was the king of the browsers -- nothing else came close. When MS released it's browser they out leaped Netscape by offering faster JVM and better compatibility. If Netscape didn't just sit back and watch it's browser being eroded from the market and Sun didn't just put all it's eggs in one basket (Netscape) things could have been different.
I am sorry, but all this is not entirely M$'s fault -- the other "big" boys did nothing but enjoyed their short lived fame while M$ continued its assaults.
Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
You know what the whole Sun vs. MS regarding Java thing reminds me of? In high school, we had "open lunch", which meant that we could leave the school grounds to eat at the restaurants across the street. Well, after a few years of this, some of the restaurants and stores complained about how awful the students were, and how they were always having to call the police to break up fights, report theft, etc. So the school took away open lunch for a year. Open lunch was re-instated, at the request of those same stores and restaurants, because they realized that those same rowdy students were providing about half of their revenue. McNealy can't have it both ways. Really, he shouldn't have it any way. Say what you want about Bill Gates, but at least he doesn't whine constantly. McNealy and Sun deserve to die a slow, painful death, with their incomplete, overpriced products.
Java on the client is far from dead, there are a few programs keeping it alive namely Yahoo Games and Limewire. Any standalone app that wants to use java can either bundle the JVM on the dload/CD or provide a link to the download site. Its also much more bearable today thanks to improvements and moore's law. I think one of the big problems is people have a bad impression of java due to the earlier releases where you would wait 5 mins for a god damn applet to load.
Java is so slow I wonder if it has ever been alive.
But isn't the fact that they aren't allowed to touch it the strongest guranatee that it will be secure? Or at least it won't be "Microsoft Secure(TM)", a new concept of security whereby things are required to be treated as if they are secure until Microsoft is forced to admit that they aren't, but don't worry because nobody will figure out how to exploit the problem anyway. And the EULA doesn't allow you to discuss this or we take your firtsborn.
Take a look at Dan Bricklin's hysterically funny parody of client-side Java. It says it all. Just as funny and relevant as when it was written.
.NET can avoid the same issues.
It will be interesting to see just how
Demo software like Bricklin's is usually used to present a positive view of technology that doesn't exist... this is the first time I've ever seen demo software used to present a negative view of technology that DOES exist.
"How to Do Nothing," kids activities, back in print!
Java still sucks for GUI development today. I use it heavily for server-side development, and I've worked with plenty of Java UIs. The only acceptable Java UI system I've ever seen is IBM's SWT framework, as used in Eclipse. Swing UIs are borderline at best, and AWT isn't even worth discussing. In Sun's defense, creating a decent fully cross-platform UI (without depending on native widgets) is a tough problem. SWT's use of native widgets makes a whole lot more sense - Sun should take note.
Of course, none of this changes the fact that Microsoft did everything in its monopoly power to crush Java. Abandoning Visual J++ and then insulting their userbase with J# and "Jump to .NET" showed that when it comes to crushing the competition, even Microsoft's own customers better not get in the way.
I Think it's a plan chalked out by Microsoft long before and they are executing it step by step. Microsoft firstly shipped IE4 with a JVM that was intentionally engineered to provide leverage to corrupt and pollute Java compatibility standards. Then they Launched CSharp (C#). Which is a mixture of C, C++ and JAVA. Then they removed Java Plugin Support from IE which is shipped alongwith Windows XP. Thanx to Sun for making the JVM for Windows XP available for download.
I suspect his point was precisely to play the karma whore by duplicating the article, only he/she didn't expect to be as successful.
At least that's my impression from the Subject.
Freedom is the freedom to say 2+2=4, everything else follows...
This is why Microsoft's new implementation is called J#.
(disclamer, I've not actually read the article)
If there is a reason that java died on the client it is becuase still to this day, if you wish to make a program that is competive with a normal C/C++ client, it requires the same amount of work. There is no advantage to using Java, in fact many times you end up doing more work to get the same job done.
If you want speed, then you can't use Swing. Swing is nowhere near as responsive to the user as a AWT or even faster, a native API application. Though it is much faster to develop with then Win32 API. So unless you want your application to be percieved as 'slow' you have to do many tricks that are difficult and hack-like.
Java's strengths are that it's easier to use thanks to GC, an OO api (that is usually extendable) and a large standard API. Some weaknesses are bad memory model, API is too large and abstract (in some places) and lack of support for native extensions. No matter what you say, it sucks that you have to get out a C compiler anytime you want to interface with a part of the system that the Java API designers didn't design in. Another thing that I don't like is that I think that they should do a code audit and get rid of all depreciated methods.
Java has killed itself on the client, not anyone else. Applets were shoehorned into the community of non-developers. Programmers may have made the tools that make the web possiable, but they did not make the web what it is today. Flash is made for tech-artists, those people who don't really want to program, but can get enough done to get what they imagine on the screen. Java never filled that niche, it's a 'real' programming language that can display stuff in a browser.
I use Java every day, and I like it but I know its pitfalls all too well. Having to make up for them is what we Java developers do.
No, you won't find many Java applications at the best Buy next to Reader Rabbit and My Greeting Cards Maker. But you won't find SAP, OneWorld, Windows 2000 Advanced Server, or Oracle 8i either. Doesn't mean they're not viable. I have Tivoli Service Desk 6.0 running on my PC right now, and it works perfectly using both Sun and MS JVMs (haven't tried it under IBM's on my OS/2 box yet). I also use a great Java telnet client on my website (only locked down, unpriviledged, single-application clients connect to it) to allow access to a VMS box.
Gamingmuseum.com: Give your 3D accelerator a rest.
Java on the client was mainly killed by plain old HTML and round-trip processing (CGI, ASP, forms, etc), which proved far superior for quickly and easily building decent, usable UIs, and which downloaded to and rendered on end-user machines much more quickly.
The really stupid thing is that Microsoft was probably Sun's best chance for keeping Java alive on the client. MS had the fastest JVM around for a LONG time, and they had the most bug-free JVM for a long time. (I wrote Java apps for a number of years and had to constantly test on about a dozen JVM/JITs, I even recall the first Sun Java event where Sun people were praising and recommending the Microsoft JVM.)
Microsoft probably could have killed Java, and it's reasonable to assume they thought about it -- although I personally disagree that J++ was an actual attempt to do so (it was a kick-ass environment, and I produced vast amounts of full-compatible code with it) -- but the simple fact is they didn't have to, because Java never really got going on the client. Java lives on in the server-side world as a kind of VB-for-people-who-hate-Microsoft, and that's about it, but MS didn't kill it.
Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005
You're right, it wasn't that good of a comparison. I am sure the murderer was worried about getting caught and punished, and had to constantly look over his shoulder. Microsoft does not. Yes, murder is worse that illegal monopolistic practices. Duh. That is not the point.
My beliefs do not require that you agree with them.
And Swing is still great when you need a quick, thin (logic-wise) UI that's doing something just out of reach of HTML's capabilities. (native widgets or not, speed and look are often just not important)
sic transit gloria mundi
I'm a full-time Java developer... I derive about 75% of my income from Java programming.
And I don't think Java's dead. It's great for some uses, but not so great for others.
One of the places where Java is at a distinct disadvantage is in developing client-side applications. The AWT/Swing classes, as far as GUI development go, are laughable -- pitiful, even. There is no comparison between these and, say, Cocoa on Mac OS X. AWT/Swing are too inelegant, too clumsy, and quite frankly, their elements are butt-ugly when they finally get drawn on your screen.
As for performance: we've been able to get some very good performance out of our server-side apps with some careful programming and judicious use of JNI.
But yeah, if Java is experiencing problems, I'd say that MS is probably not to blame for most of those.
confusing procedures
For example?
poor performance
Have you used it recently?
repeated incompatible upgrades
Example? The only thing I can imagine you're referring to is the Swing classes that replace or enhance AWT. That was a welcome change by just about anyone's standards.
costly support requirements
What are you talking about, this is pure FUD
and expensive development tools
They never billed me for emacs, I thought it was free?
Look at Flash and its success in comparison: Macromedia positioned it as harmless eye candy (so it didn't catch Microsoft's attention), didn't promise much of anything, had great graphics and animation support, and provided great authoring tools. Flash came in under the radar screen and didn't look like like a threat to Microsoft, and it picked a market and stuck to it (eye candy).
Sun could have succeeded with Java: they should have fixed severe technical problems with Java earlier and standardized it through a standards body. Sun should also have focussed on keeping Java small and on the client. Microsoft would likely have supported standard Java and added lots of proprietary libraries--just like what Apple is doing with Java, for example.
Today, Java is still a pretty decent programming environment with a very efficient runtime and capable libraries. I'd still recommend using it for many kinds of commercial applications. Java will likely continue to be a big deal for server side programming. For lightweight clients, Flash will continue to make inroads. For widespread adoption by the open source community, Java missed its window of opportunity for the most part--Sun's policies still don't make it a good platform.
But what Java is today is Sun's responsibility, not Microsoft's or anybody else. Companies like Macromedia and Adobe have shown that you can compete with Microsoft and that you can ship formats and software that cuts into Microsoft's markets. But if a company behaves as stupidly as Sun did, they will fail. And the fact that Sun has so thoroughly failed with their promises towards the open source community and has failed to keep Java suitable for its original purpose also means that I don't have that much sympathy for them.
I just heard some sad news on talk radio - Sun's JVM was found dead in his Florida home this morning. He was 54. There weren't any more details. I'm sure the slashdot community will miss him; even if you're not a fan of his work there's no denying his contributions to crashing browsers. Truly an American icon.
(* Yes, applets sucked, and yes they were slow and buggy, but why? Because thanks to MS, browsers never incorporated any updates to the original bug-riddled JVM's. *)
Why should they even include ANYTHING from Sun in the first place?
People upgrade Flash for reasons seemingly outside of MS's control. (sometimes because it nags users for a later version.)
Flash survived MS (so far), Applets didn't. MS is beatable. That sounds like evidence enough.
Table-ized A.I.
As unfashionable as it is on
Did M$ ship IE with a "corrupt" JVM, i'd sure bet they did.
SO WHAT?
Did they intend to kill the Java adoptions and standards momentum?
I'd bet they sure wanted to (and still do).
SO WHAT?
Just as we in the Open Source and FSF communities are free to get up in the evening and work on any project we want, deploy any OS we want, use any app we want and deploy any available technology we can...
so is M$, they are no more obligated to support java than pepsi is to support coca-cola, than lexus is to support mercedes, than toyota is to support nissan
M$ is responsible for its own karma. If the world wants Java and M$ doesn't support it they way the world wants, they will lose market share....
Microsoft (and any other company) is only resposible to their stockholders and customers, if that means killing off a competitive technology, that's the way the game is (and has always been) played. That's the system.
It was Sun's responsiblity to make Java an important, dominating technology, NOT Microsoft.
If you've REALLY followed the Java Saga, Sun has done as much (some would say more) to halt Java adoption/deployment as Microsoft.
If you're a customer, you vote with your wallet.
If you're a developer/technologist you vote with the systems you deploy/develop and recommend.
You want to "beat" Microsoft?
Do it with better software.
Ten quid, she's so easy to blind. And not a word is spoken...
If you can actually back up those accusations, I'll be happy to listen. Name the license, how it was violated and hopefully draw some connection how they killed Netscape, then Java with it, but don't just throw words around without backing them up.
You need a FREE iPod Nano
Look, the notion that middleware is going to magically let you write an app once and run anywhere, results in apps that can only support a lowest-common-denominator of the APIs available on the various platforms. Sure Sun hyped it to the moon, no surprise there, but that doesn't mean it was going to happen. Middleware has *always* had this problem and always will. What happens when Windows comes out with some new feature (USB support say) and then Java doesn't get around to supporting it for a year....all the Java coders are supposed to simply wait a year while native Windows apps use the feature right away? Yeah surrrrre.
- adam
IE5+, Opera, Mozilla, or Netscape 6+ is now a great platform for developing many types of applications. Sure there are incompatibilities but they all generally support a big common set of Javascript, DOM, and CSS that lets you do some awesome things.
The irony of it is that these platforms are using JAVASCRIPT for their language yet are still fast enough in most cases. (Remember the complaints about Java being slow?) All the heavy lifting is done by the browser itself, and that's compiled code.
From a training and learning standpoint, it's a natural progression from HTML and CSS into programming with Javascript and DOM. That's not true for the move to Java.
Well That my freinds is the whole point of the anti-trust act. It recognizes that there is a diffence between a small or competative company and a company with dominant market leverage. And the law says that the rules are different for you and you do have some rules of conduct imposed on you. Yes your liberty as a large entity is restricted for the public good. But of course you are enjoying the fact that your rise to power was enabled by free markets and in return this is what you must not do: Use your market dominance to stifle innovation
the classic example of the latter, is at one point general motors could have made cars that only run on GM gasoline. Of course, they didn't and of course now they would not have the leverage to do so. But that is the nature of the law that protects free markets.
The negative example is APPLE. Sure apple is a closed system. But given their pathetic market share they do not dominate a market sector sufficiently to impose their will on another market sector. Some would argue this by trying to narrowly define a "market sector". And this is exactly what MS has done in court, except they tried to widen the defintion to show they were not dominating a market sector or they tried to widen it to define an OS as encomapssing browsers, VMs etc... Really its not an entirely bad argument for them to make, but that's whay we have courts and that is why it has taken this long to get a decent well considered and appealed decision.
so now we have one and its fair. It imperfectly punishes MS but the crime was vague too. So its a solomonic compromise.
my only regret is that I wish that there was sort of RICO act for this. That is MS has clearly shown that it has made the same nature of violation many many times. I was dissapointed that Penfields decision was not carried out because while the Appeals court was correct in saying the decision was too harsh for the crime at hand, it ignored the preponderance and repetion of minor violations that was ingrained in this comapny and required a structural remedy not a penalty.
After all, their head techie's career was based on "vi".
Statements like "Java on the client is dead" are just false, because that statement means that Java as a client-side technical solution is dead, which is not true. Yes, Java is not the language of choice for writing a web browser or a word-processor, but Java is an _excellent_ language for client-side business applications. It is far superior to VB, Delphi and PowerBuilder (especially when you couple it with J2EE), and that is where client-side Java fits.
http://www.naildrivin5.com/davec
Don't feel bad, my mother took Latin in highschool instead of typing.
Do daemons dream of electric sleep()?
Java is not that great that it is not capable of improvement. Sun crippled Java so that it would only work within the area that suited their business objective. Microsoft removed the restriction. Sun then tried to force Microsoft to observe their restrictions by introducing stricter conformance criteria in their next release, Microsoft declined to upgrade.
The initial article is not only insulting by comparing Microsoft's actions to murder, it is also wrong as a matter of fact. The Java case was settled out of court. The anti-trust case did not consider Microsoft extensions to Java.
The only reason why Java was taken out of the browser was the legal action by Sun. If that killed java then sun killed java.
Furthermore the people who claim that C# is unnecessary because we already have java should not also complain that Microsoft tried to modify Java. What Microsoft has made clear they want is an object oriented language that is similar to C, simpler than C++ and open to development. Sun has made it abundantly clear that Java does not meet the third criteria. Therfore Java does not meet the criteria defined by Microsoft, do not complain if they propose something else.
Java was not a novel language. The only novel thought at the time was the idea that anything might displace C++ from the position it had established.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
As with many things from Sun that have had trouble flying, the sometimes serious external attacks on their technologies have allowed them to ignore the serious internal "attacks" (or at least misapplications/poor management). I don't need to describe the external attacks, since you're probably already a either hardened believer or non-believer in the illegality of what MS did. But consider this for a moment, did Sun's well intented handling of Java actually hinder it more? My reason for saying this is that they still hold to two separate cross-platform doctrines that should have been decoupled a long time ago:
Consider this: in the time Java has been available to the public, has there really been any serious development on a modern compiled language with one solid, standardized API across all-platforms? I can't think of any (or at least any that have caught on). Apple started down this road with Cocoa, but gave up on anything but their own platform.
In the end, two of the biggest losers due to that second doctrine has been Linux and the Mac. In order to get a vendor of an existing Windows app to produce a native Linux or Mac app, you have to convince them that it's worthwhile to branch off an almost complete re-write of their app to port it over. Imagine if there was a really usable language that they could code in, that wouldn't hinder their abilities and/or speed on Windows, but required little more than a cross-compile to target to Linux, Mac, Solaris, etc. We'd be up to our eyeballs in good apps on all platforms.
"There is a thin line between ignorance and arrogance, and only I have managed to erase that line." - Dr. Science
The difference is that Microsoft has repeatedly exerted control over what OEM vendors can bundle with Windows to the detriment of its chief competitors.
99% of people don't get their Windows from Microsoft, they get it from resellers. Resellers who should have the right to build systems as it suits them, as it suits their customers-- and without anti-competitive Microsoft meddling.
Further to the point, Microsoft claims IE is an integral part of it's operating system and that critical features of Windows depend on IE. If this is so, why was it shipping a crippled version of java with it then?
Everyone's objection with Microsoft is about what Microsoft did to ultimately control how Windows was used-- thats is what is pissing most people off.
It's about a monopoly playing dirty to protect its monopoly.
Do not spread "09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0" over the internet, thank you.
Seriously, MS made (while they were supporting it) one of the better implementations of a JVM out there. Sure, they had extensions on it to make it useful to more people, but you didn't have to use them! So Sun starts bitching about how it's not compliant. MS goes and takes their toys and goes home. WTF does Sun do? They sue MS to support it again.
This is all sour grapes. Sun's just ticked cause their stock is sitting at around 3+3/4.
Did it ever occur to anyone that if Sun had their way they would be doing exactly what MS is doing now? They are just a wanna-be monopolist.
And you're right. It's sound business strategy to kill off my competition... If I were in the mob ;) But then if I remember right(!), all this monopoly crap was still just a glimmer in the Supreme Court's eye at the time these events were taking place.
You need a FREE iPod Nano
With a ten fold increase in RAM and processor speed, these java applications were almost useable, but still felt slower than equivalent C programs on one's old box.
I wonder if this is a case of too-early-adoption. It strikes me that many things that make it off the development chalkboard build in so much stuff that the current generation of hardware doesn't support well. If the adoption rate is really slow, then hardware has a chance to catch up with it so that when you get to mass-usage performance falls in line with what people expect.
More like:
Java isn't dead, it's just deprecated.
graspee
Just for novelty value, perhaps you could try reading the article before commenting. Then you wouldn't look quite so foolish when you respond to someone quoting the entire article.
++ Say to Elrond "Hello.".
Elrond says "No.". Elrond gives you some lunch.
I was going to post something similar, but you said it better. I would only add that applets were DOA on the web because Sun insisted that each browser have its own VM rather than shipping their own standard plugin, thereby guaranteeing a horde of incompatibilities between different browsers and platforms. (Yes, they finally released a Java browser plugin, years too late).
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
The FTC began investigating Microsoft's marketing practices in 1990. M$ averted the first threat of anti-trust litigation by signing a consent decree regarding bundling in 1994. Java's first release was, what, 1995?
illegitimii non ingravare
Plus, I am not the one making extraordinary claims, and so the burden of proof is not on me. It is on the people who make alarmist, sweeping statements like "Java is Dead", just because they can't go to the store and buy MS Office for Java or whatever they think constitutes the entire breadth of software development.
http://www.naildrivin5.com/davec
That helps a lot. Still, Sun got their $20 million. Looks like they should have also tried to bind Microsoft to the agreement and not just settle for the money.
You need a FREE iPod Nano
I was just asking you to provide me with some facts and you did. Don't worry about it ^__^
You need a FREE iPod Nano
IAAJP. I'm the lead programer of a medium-large sized database client used in trade unions in Sweden. I developed the program three years ago and have maintained/expanded it ever since. I take exception with your exceptions :-)
The applet security model (breaking the box)? 4 different "standards" so far, all confusing and incompatible.
- Netscape
- IE
- Java 1.2
- Java 1.3
Java 1.2 was worst by far... Required the end user to run PolicyTool from a prompt and specify specific operations to be allowed on a per-program basis. In java-esque syntax, no less.The pre 1.2 situation was also horrible. I managed to make a system in which the same code could be run, trusted, in both Netscape and IE, while also cacheing the jars locally. NEVER ask me to do something like that again! I lost half my hair.
The situation is pretty OK now, though.
Only every day, my son. On a very fast modern computer with Java 1.4 it now runs like a sloth in a snow storm, as opposed to a turtle on its back. At least the actual GUI is now barely usable, though startup time is still horrible.
AWT to Swing, yes. Also the Swing move from com.sun to javax, the three different printing API's... Not to mention the fact that the original Swing was horribly broken in many ways (focus handling, tables), so that everyone had to make hacks and patches to make the damn stuff even work. Hacks and patches that will (did) break the program in later JDK's.
Even if your program is 100% kosher, there is a grave risk that it won't work as planned in any other Java version than it was built for. Which is why most Java apps ship with their own JRE.
I'm not sure what he's getting at, but having five sysadm guys running around for a week tweeking the individual clients to make the app run could cost a bit. Though you should be able to program around that.
Totally agree. The JDK is free. Emacs is free. Heck, NetBeans is free, and JBuilder is cheap.
I choose to remain celibate, like my father and his father before him.
I know exactly how you feel. I cannot understand why people actually code in JBuilder. Every time I try (did try with 7) I keep falling flat on my face. IT IS SO SLOW....
What I do like is JCreator or Eclipse. Especially Eclipse. It is snappy, nice to work with and somewhat intuitive.
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
Lastly, Java is far from dead, rocket surgeon. To extend your inane comparison, it's like Michael Skakel being found guilty after the victim walks into the court and says "Hey, uhh, I'm not dead!".
Or even better, if they sentenced him, and, say in a year, she walked in and said that. Then the court drags him out of his cell and sentences him to another 20 years for killing her. Microsoft and Sun already settled this case. Sun just found a new angle from which to attack it after they realized that the settlement wasn't quite what they were looking for (Microsoft says, 'ok, we can't ship our Java, we'll not ship any Java'; Sun says, 'shit, thats worse than them shipping their own Java').
-PainKilleR-[CE]
I think ActiveState should file a lawsuit to force MS to ship a PERL runtime with windows under this same argument. Where does it stop? TCL? Python?
If you want it, download and install it.
it's not going to stop until you wise up, no it's not going to stop. so just give up.
The next time I see a post like this and have any mod points, I'm calling it a Troll.
It's not as though this hasn't been answered over and over and over in every single Microsoft story.
It's patently obvious flamebait.
Microsoft didn't kill anything. Why in God's name do you need cross-platform compatibility when 98% of the client world runs on the same platform?!
"Your Honor, my client didn't kill anyone. Why, she would have died of old age eventually anyway!"
-- Alastair
Bodrius wrote:
.EXE (requiring the MSJVM). And anyone with IE 4 would be able to run it.
.NET/C++). Java might have been a nice language, but the APIs really needed to mature faster and not break things with 1.0 and 1.1. When Sun sued MS to remove Java products, it got what it deserved. Sun attempting to sue MS to add Java to windows is ludicrous. Sun lost market share because they spat in the faces of developers like me who had a legacy with their product. I haven't experienced that with MS.
If I code an Applet using standard Java and it runs on every JVM except MS, MS Java is crippled. And that's the situation that prompted Sun's conflict with MS.
My response:
I was an early adopter, and Java zealot for the first 5 years of Java. I wrote applets and apps with Java using the 1.0 and 1.1 APIs. If you recall history, Microsoft had the best implementation of Java before Java 1.2, when Sun changed the rules, and expected Microsoft to follow.
I was quite upset by the sudden changes in the Java platform. Swing's perf was entirely unacceptable. There were name conflicts like List added to java.util when List was in java.awt.
Microsoft did not adopt the 1.2 JDK, and added stuff so that applet writers could write applets that tightly integrated with applications on Windows. Even though Java was a great language, the Java Platform version 1.2 really turned me off. I had a few other reasons.
1) In order to use the latest advances in the JDK, I now had to require that someone to setup Sun's JRE, which was a HUGE (I think 20MB+) download (Broadband wasn't there).
2) Microsoft's JVM would actually let me distribute my app as a
3) I tested the perf of one of my applications (a ray tracer) on Windows (500MHz P3) and on Sun's latest and greatest JVM with perf features. MS: 4 seconds. Sun: 20 seconds.
4) I was already used to writing with the AWT. It felt like home. I could write the 1.0 style for applets and they'd run on IE and NS. I could write the 1.1 style, and they'd run on MS. I didn't use the MS extensions, but I was leaning towards it for doing things like accessing the Windows Music and Sound APIs. Java had shit for people who wanted to write music composition software.
5) Visual J++. It had a debugger. It wasn't written in Java so it ran fast. It didn't support JDK 1.2 (I dropped JDK 1.2 the moment it wouldn't compile an app of mine). It was the best development environment for Java bar none. And it sped up my Java program development by a factor of 5. Especially the debugging.
I now write for Windows in C++ using Visual Studio (in a few years I might evaluate C#, but VS 6/C++ works a hell of a lot better than VS
That and Sun sued MS. Sun won. Sun got what they paid for. Too bad. The dot com's went bust. The industry is down. Sun's struggling to survive. That's the way I see it.
Yeah, he should gone with a more fashionable inflammatory label and called them a terrorist...
It's still undecided as to whether or not Microsoft violated the licensing agreement. Sure, Sun claimed as such, but the case was settled without a decision.
> I could only reply, "She's still dead."
You're just quoting the mother of the murdered girl. This entire post sounds like a troll to me. Doesn't deserve "interesting" mod, that's for sure.
it's = "it is"; its = possessive. E.g., it's flapping its wings.
Microsoft didn't kill Java on the client. [...] Java was sitting on the edge of its coffin. All Microsoft did was use its toe to push it in.
"Your Honor, my client did not kill the victim. Why, he crawled out on that ledge all by himself and was ready to jump. All my client did was give him a little push."
-- Alastair
Can someone please explain to me why it is that they feel that Java must be incorporated into Windows? I they are waaaaay overstepping their bounds here.
File under 'M' for 'Manic ranting'
hardly disable. Microsoft created a VM that supported all but two of the technologies that Sun specified. Those two were RMI and JNI, both of which inherrantly break the 'write once, run anywhere' paradigm (on the client - RMI requires security that Sun didn't specify, and JNI requires native code which doesn't run everywhere. Besides those, the Microsoft VM was, for a while at least, the most complete VM around. Especially with respect to AWY which Microsoft had to completely rewrite to fix all the stupid bugs and performance problems the Sun engineers put in there.
The only value Java has is as a consistent, cross-platform API.
The value of this should not be underestimated, and it is exactly this which Microsoft attacked when they modified the API as distributed by them, and still called it Java.
I was among the first to hack my Netscape to change the "Starting Java..." message to a "Slowing down...." message.
IMO, interpreted Java sucks, and if that were the value proposition for the language, there'd be no question that a rehash of the UCSD P-system was in fact valueless.
But the value proposition that arises from treating Java as a cross-patform API id musch, much harder to dismiss. And yes, any cross-platform API inevitably threatens OS monopolies, so it's understanding that Microsoft would be fearful. But it doesn't excuse illegality.
-- Terry
Some moderator marked this as 'Redundant', but the poster has a very valid point.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
I've desparately tried not to respond to this thread, but I feel I must.
...HTML). 5 years ago, even us die-hards would cringe at a Java GUI app. But a great deal has changed in 5 years. Java has cut it's teeth on the server, to become a major force in enterprise, server-side development.
;) ).I think Java on the desktop would have met the same fate even with no MS...MS just helped it along (shoot a dying man, your still guilty of murder).
Rick Ross may be the founder of the Java Lobby, but he does not represent all Java Developers and supporters. I find comparing Java's difficultites on the desktop to the murder of a 14-year-old girl despicable, and not worthy of any further comment.
Java has difficulties on the desktop. Not all clients, just the regular desktop (JSP, Struts, Velocity etc are great examples of serverside java making good client code in
Despite what some nay-sayers have said, Swing is much better. One can write good, cross-platform GUI's with it*. Check out, JBuilder, the latest Netbeans, Together Control Centre an many more here.(AWT was bad, Swing was better. But as good as Java is, bad programmers still write bad code.)
Client dcevelopment was a bust in 1995-98. Not any more.
We now have the advantage of the Hotspot VMs, redesigned IO (both nio and Image IO). J2ME Midlets are pretty good little GUIs for limited devices. Redesign in the Java 2D and 3D libraries as well as Swing has helped too.
I think Java could NOW become a feasable platform for desktop GUI development.
Did MS purposely design it's VM to bring about the downfall of Java? The courts seem to think so. 5 years ago there was pretty much only GUI development with Java, so that's where MS attacked. It drove Java to the serverside where it flourished (Thanks MS
Now revitalized, I beleive it's ready to come back to the desktop. (Does any of this sound familiar, Gnome/KDE hackers?)
Rick Ross, stop causing sh*t and let us get on with making good Java software, on both the client and the server, and leave the FUD to MS.
The way to beat MS is not (just) in court, but in rock solid software. Enough blubbering, more coding...
*Note: I've heard a great deal about it here, but in 5 years, I have never run into any portablitiy issues with Java, when written to spec)
Never by hatred has hatred been appeased, only by kindness - the Buddha
Microsoft: "hey this java stuff is pretty cool, maybe we can use it to replace VB"
...
Sun: "Sure, fork out $50M for the license, and do a reference implementation for us on windows. oh, and fix all the bugs for us while you're at it."
Microsoft: "ok, we'll promote it by shipping a VM in IE, and produce some dev tools too, how's that?"
What about Emacs? (No, I'm not joking...I use vim, but Emacs does run everywhere, and programs written in its version of Lisp run everwhere Emacs runs).
I agree with you that Java in a browser is not good at all, I don't consider it a viable platform really. However this is mostly (if not completely) the fault of Netscape and Microsoft. It's a problem with their implementation, not the language or JDK. Sorry if there was confusion about that, I consider client-side Java applications those that start in main().
I do think Java as a language for non-browser based GUI client applications is still a fine choice for many applications. Yes, you often have to include or require a specific JRE. I don't think this is too horrible, but I do agree that it's regretable. Consider that you often have to supply your own versions of common C/C++ libraries for C/C++ applications to ensure that the correct ones are installed on the system.
As far as Swing being buggy in its initial manifestations, that's been true for every widget library I've ever worked with, including Windows. I don't see why Java should be held to a higher standard. If you'd tried to do anything unusual with tables or trees in early Windows, you'd consider Java's trees and tables a holiday at a beach resort.
..and Rick should know that. Heck, it's currently only getting a 1.25 out of a possible 3 by readers on the site. It's not looked on favorably.
I've communicated with Rick in the past and asked that he not publish inflammatory statements like this because they do not build up the Java community. In fact, it makes him and everyone he associates with sound like a bunch of complainers. He seems intent on beating the justice drum until everyone forgets what the heck they need to do now to solve the current issues facing Java developers. His diatribes don't help the legal case along in the least anyway; what is he hoping to accomplish?
FWIW - I feel that any Java developer would be spending their time much more wisely pursuing certification through Sun or IBM or working on an OS Java server solution like JBoss. I don't see how associating yourself with JavaLobby would help build up your career (unless you're just trolling for news).
It's too bad. He could actually lead the Java development community to an extent.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
'Nuff said. See my other post on this Johnny.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Even though MS willingly and knowingly dealt a blow to Java by shipping an incompatible JVM for almost five years now, it is really SUN that killed Java.
Java is a technology that could be useful to endusers. They only need to be convinced of it. There's two techniques for doing so: provide compelling applications that users want to run and marketing.
Despite the fact that applets have been around since late 1995 it is very hard to find useful ones. It is even harder to find applets based on java 1.2.2. Why would an enduser bother to download a JVM if there are not nice applets to run on them? Because of SUN's inability to provide end users with a compelling reason to update their JVMs, users stopped caring about Java.
Marketing is SUNs second problem. Only recently they have made an attempt to make their download site more userfriendly (even some developers got lost on it). Basically java.sun.com has always been a developers site. Despite all the hype coming from SUN, for years their primary Java site has been a mess and they have failed to offer compelling examples of Java applets and applications.
History is repeating itself with webstart. Webstart is a pretty cool piece of technology that allows you to download, install and launch applications by clicking on a link. All you need is java 1.4.0 and it will work. Sun is sitting back and waiting for people to start using it.
If you install jdk1.4.0 there's a total of four webstart links preprogrammed. None of them are likely to impress an enduser. Compelling webstart examples are totally lacking. There's a few very stupid games, some demos and a lot of tools for developers. However, there's no killer application compelling enough that end users download and install jre1.4.0.
Jre1.4.0 has support for fullscreen graphics. So, where's the applications that use this feature? I haven't encountered a single fullscreen application since I installed jdk1.4.0 five months ago.
Jilles
About three years ago I finished up a large Swing app to be used inetrnally by the company. After some profiling and tweaking, it was pretty responsive running on a P450 with just 32MB of RAM (The minimum spec for machines it would run on). That was just after jdk 1.2 came out.
Swing was great to work with as it was VERY extensible. We had all sorts of custom comboboxes and tables and form entry fields. The app worked really well and the users loved it.
When people try to tell me Java or Swing is not good enough for user facing applications, I have to think they haven't really tried.
On the widgets, Sun DID try native widgets, that's what AWT is!!! To me SWT looks a lot like a spruced up AWT. I'll admit I've not seen Eclipse in action, and I still think the tools to develop Swing apps are not great (though I've evaluated very few of those for a while since I too am mostly into server side programming). All of our Swing work before was done by hand which is very easy to do when you have a good framework.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Yes, and I'd agree It's slow
Example?
Cisco's switch manager program that runs on some of their switches. Works only with a certian version of Java, 1.3.1 I think. If I install 1.4 it won't function. This is Sun's 1.3.1 by the way, not a modified one.
Well, my first important experience was with a number of apps that had a strong dependence on the exact time. My code worked until some time in March, when all hell broke loose. I tracked it down to a widespread "off by one hour" problem on several platforms. I did a quick check with the java newsgroup, and found that every year, when DST went into effect, there were a rash of similar problems.
In digging around in TFM, I eventually noticed the remark that the internal clock was kept in local time. An "Aha!" went off in my brain. Since I've worked with network time a lot, I instantly understood why they hadn't gotten it right in several years, and why they probably never would. Anyone who has ever worked much with clocks in multiple time zones understands why you don't use local time internally.
Anyhow, I switched my code to perl, and had no further time problems. I checked a couple times in the next few years, and found the same problems being discussed in the java fora.
This actually had very little to do with Microsoft. The java spec apparently required local time internally. Granted, Microsoft didn't fix this egregious error, but you can hardly blame them.
So I haven't tried java for some years now. I wonder if they've figured out how to solve their clock problems?
Yeah, I saw all sorts of claims back then that there "shouldn't be a problem any more". But simple observations showed that there were still problems. And for a network language, it's critical that the problems be fixed in ALL RELEASES. If not, as a programmer I have to assume that they are broken in any specific client's libraries. So even if Sun and others were to fix them in their libraries, bad clock routines in the MS java libraries would suffice to make java time calculations unusable everywhere.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
While MS definitely tried to pollute Java and split the Java community, they are not solely to blame for Java's lack of mainstream acceptance.
I believe Netscape's slow loading time and poor performance had a lot to do with it. Back in the days of Netscape 4, I watched a lot of non-techie people groan when seeing the "Starting Java..." message appear at the bottom of their browser. It meant a guaranteed wait of over 30 seconds, during which they could do nothing at all (not even click on another page). Netscape 3 was worse: there was no message, so the browser would just freeze and the user wouldn't know why!
When the Java applets eventually appeared on the page, users learned that Java equals a long wait. After suffering through this a few times, users came to dread Java pages. Note that all of this was on Netscape, before Microsoft's MSIE became prominent! The uselessness of many Java applets, many just simple animations to draw attention, also turned many people away: "I waited all that time, just for this silly animation?" Flash has replaced Java for these things, to the relief of many users.
So don't just have the kneejerk reaction of blaming Microsoft.... I firmly believe this poor implementation from Netscape is what originally caused Java's downfall.
Dr. Demento On The 'Net!
Much like the baseball players VS. owners, Microsoft VS. Sun is a result of 2 parties both playing dirty. However, I agree that if Sun had ever bothered to come out with a presentation layer that did not flow like cold syrup across my screen they could have really helped themselves. The world was (and still is) ready for a GUI that is "write once, run anywhere", just not "write once, tweak for quirks, and then crawl in most places".
(+1 Funny) only if I laugh out loud.
sun doing client side software ????
yeah right they just didnt understand it they came at it from a "Enterprise" view
they did not understand that you have to be able to code games (graphics) in it before someone will pick it up
OR
be so easy and click and drag that people use it ala Visual Basic
now sun have tried both of these approachs late on and they failed
SWING is not to bad now only thanks to 2GHz client side machines
the basic Java core is right its the surounding libs that suck so much
SUN are earning money of Java as postioning it for Mobile phones and STB's where it should have gone anyway
what we need is an open classpath (pun I know) and a gcc that can compile it (which people are doing) so its looking good for java and open source
frankly SUN should submit the large bulked up version to EMACA and keep the emmbeded versions and swing and JDBC for itself and save a hell of a alot by not haveing to fund all of this via a profit makeing comapny instead have a java Foundation which is Non profit
god why is this so hard for scott and co to do
regards
John Jones
I think they just wanted to be able to make it into something that they would find more useful. Okay, they tried to 'embrace and extend' it, but I don't think that was a deliberate attempt to prevent interoperability with other systems - more just that they saw it useful and didn't really give a shit about the interoperbility.
.net + C#.
When Sun sued Microsoft, they were suddenly in a position where they really wanted a Java-like technology, without someone else telling them what they could and couldn't do with it. Naturally, they dropped Java in favour of their own technology,
If Java hadn't sued Microsoft - sure, they would have put a whole load of MS-specific stuff in there, but it would probably dominate the Desktop by now. Sure, there'd be a lof of Java stuff that only works on MS boxes, but it'd probably still be quite easy to develop cross-platform if you wanted to.
Odd, I find using C++ (which I used years before I started Java programming) to be rather like typing with both Hands behind my back and my brain under a steamroller, along with a sumo wrestler sitting on my chest singing the theme song from "Friends".
On the other hand, I find using Lisp like having an extra hand and a 40% expanded cranial capacity.
I find C like having a bad nervous twitch but otherwise unimpared - though I can hear the "Friends" song somewhere in the distance through an open window.
I find Objective C like being 16 driving a fine car and eating a herseys chocolate bar with almonds. And a sumo wrestler in the back seat.
I totally agree with your last statement though - languages live and die but what is eventually produced with them!!! Even Microsoft does not have the power to kill a language, only to seduce programmers with supposedly powerful tools.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I don't know, but I just can't use, for example, any Java gnutella client. They are all slow, ugly and unintegrated. And I have tried many of them, including Lime, Phex and others.
On the other hand, gtk-gnutella or Bearshare where just great. Sure, there is a lot of Java developement, but do people in general like client Java apps? My opinion is they ALL suck, unless java is invisible to the user (OpenOffice for example). And in these case, the app just run terribly slow.
You don't need to be a guru to notice this.
unfinished: (adj.)
...that will mark the end of the dot-com bubble.
My guess is that Sun's mis-management of Java will be studied in business schools for years to come. The moronic notion of launching lawsuits to beat the competition is also worthy of discussion. (Think RIAA here, too.)
I still don't buy the Softee is a monopoly argument, either. I can switch drives in a minute and have a completely non-'Soft machine, and I always used the free version of Netscape. Standard Oil... Now that was monopoly! Guess they don't make 'em like they used to.
Imagine how much harder physics would be if electrons had feelings! -Feynman, maybe
(* However, it's primarily designed for graphical GUIs, not the character-cell GUIs preferred by blind people and shell users. *)
I am not sure what you mean by this.
SWF appears to be a Flash-derived protocol. I don't know about the effectiveness of Flash's GUI widgets (textboxes, checkboxes, grid screens, tabs, etc.). Anybody want to comment?
Table-ized A.I.
they are no more obligated to support java than pepsi is to support coca-cola
Ok, point taken. However, MS owns the desktop. As a monopolist they are obligated to make sure that software runs on their system. You're simply not allowed to take actions to kill applications that run on your platform when you own a monopoly.
Remember "DOS isn't done until Lotus won't run"? They've always done that and they are still doing it. That's why the government needs to step in and do something.
That which does not kill me only makes me whinier
That doesn't even make any sense. You could argue that a JVM style system is best for server applications, but then what's the point of .net?
:). But you could still write your own stuff.
You could argue that Java's GUI APIs suck, and you might have a point
autopr0n is like, down and stuff.
Actually, I think Netscape did more harm to java in the early days then Microsoft's. I actually read one of the affidavits in the case by a technical expert, who outlined the incompatibilities. They were tiny. *TINY*. And yet, Netscape was still shipping only the java 1.0 API. People couldn't write code for the newer, more robust 1.1 API and have it work with Netscape. They could write the code to work in IE, however. And if they avoided Microsoft documentation that might mix the incompatible stuff with the regular stuff they would have been fine.
Did MS purposely taint the API: almost certainly, there was no reason for them to put their functions and code in the Java.* packages. Did it really matter: not as much as Netscape sticking with 1.0.
Microsoft might have made stuff worse over time, but who knows. But anyway, microsoft probably wanted to kill Java and in a way, they succeded.
autopr0n is like, down and stuff.
People who need to download Java download Java. My Dad didn't know what a Java VM was but when the hospital went over to Canon's imaging system (uses a Java system for remote file viewing / manipulation) he used it. He doesn't like it; its slow and its complicated. How much of that is Java's fault and how much of it is Canon's? Its hard to tell Java doesn't come with a great UI tool like Apple's Interface builder; why not?
I had a similar experience with Oracle's Developer Studio. It doesn't install well, the documentation sucks and it looks bad. Sun isn't responsible for the documentation but is there some blame for the need for complex install documentation? Why does it look bad is that Oracle's fault or is it split?
Most users have no opinions on languages they have opinions on applications or implementations. Those that do have opinions are pretty cleanly split between those who like Java and those who don't. End users generally are unimpressed with the quality of Java apps they see. If almost universally apps written in a language aren't very good you have to start questioning the language.
- If I install 1.4 [Cisco's Switch Manager] won't function.
Cisco says, "In order to avoid compatability problems, do not user a version later than 1.3.1." They never said it won't function, and it all likelyhood, it will work just fine. They just haven't tested it, so they don't want to take the support calls if (and this is a big if) there is a problem.Many of the "Java ain't all that" articles have valid points, but yours is just tripe.
English is the Lingua Franca of the Web
If by "web" you mean "english speaking web". The english speaking web is what most of what english speaking people see when they get online. Most people actualy surf the web in their native language (unless they live in germany or sweeden where everyone speaks perfict english, I would guess).
If you look at Alexia's top websites, you'll see that like half of them are actualy korean.
autopr0n is like, down and stuff.
Languages come and go in this biz. C-derivatives have had a rare lasting power, but even that is not guarenteed. Nothing is guarenteed WRT programming languages. Some paradigm or language may pop into existence and wipe everything else off the face of the IT planet. (That does not necessarily mean it would be better, but not being better never stopped a lot of things in IT.)
(That fscken C-based semi-colon has gotta die *someday*. I never hated a peice of puncuation more in my life. Die semicolon, die die die diiiieeee!!!!. I had to get that out of me. The break statement for switch/case is also an anacronism.)
LISP is another language with rare "underground" lasting power. However, jobs for it are not exactly popping out of the woodwork.
Too bad we could not all make our *own* language and be paid to use it. I want to use a language that fits my head, not L.Wall's, not Sun's, not Gate's, etc.
Table-ized A.I.
If you write a java applet using the standard java 1.1 API (M$ stopped work on keep up with the standard once they got sued, for obvious reasons) it'll run on MS's implementation.
If you write to MS's specs, it won't work on othe JVMs, however.
autopr0n is like, down and stuff.
(* But having written a large app in Foo, does prove that it can be done in Foo. Which I think is the point. Has anyone ever written a large scale DB in Perl? I dunno, but until someone does, it's unproven. Looking at what other people have done and how hard it was for them to implement it gives you an idea of what toolset to use when creating something new. (Or just reimplementing something) *)
Okay, but one case still does not say much. It only says that it can be done and one person liked it. You need to perform a wider search and your own surveys of multiple sites to get a better feel.
BTW, Perl tends to be an "application" language, and not a packaged systems tools language. Thus, using it to make an Oracle clone is probably not prudent. But, I may be proven wrong.
Table-ized A.I.
Dead? Now I will never find a replacement for my Java toaster and Java blow-dryer.
Table-ized A.I.
Name 10 open source applications that can be bought at the store.
HAH OPEN SOURCE IS DEAD!
autopr0n is like, down and stuff.
You can buy the autopr0n.com pr0n viewer App* from me for the low, low price of US$10,000. It comes with 113,590 porographic .jpg files.
(*requires M$ access)
But seriously, lots of custom software is written in java every day. Also, lots windows programs are actualy written in java with JNI and lots of wrapping.
autopr0n is like, down and stuff.
According to repeated surveys of job adverts over the last 3 years Java is the 2nd most popular programming language after C++ and occasionally it has ranked above C++. Visual Basic generally ranks as 3rd most popular language in these surveys. I run a web site aimed at Java Programmer Certification (http://www.jchq.net) and it gets many tens of thousands of page requests per week. Reports of the death of Java have been somewhat exaggerated.
There is a solution when you want your apps to get more performance. Profile and hand code. Very expensive very effective. That screw lies entirely with Sun.
Java never had serious incompatability problems on the client side - Java's windowing toolkit AWT did. AWT was not written in Java. It was a huge (relative to Java) chunk of C code that stuffered from all of the incompatabilities and portability problems that C programs do in addition to the uncharted territory of trying to provide a cross platform GUI environment using native widgets.
The Java VM is, of course, a C program - but it is a tiny one. Almost all of the core Java libraries are written in Java itself, leveraging only very low level facilities. (Crypto is done in java, DNS is done in Java, etc.)
Swing, Java's pure Java GUI toolkit, is arguably the most modern, powerful , and portable GUI environment that exists right now. It is portable because it relies on only low level AWT facilities (simpe graphics areas and basic input) and then builds on top of that in pure Java.
At the time java was to first ship with Netscape, Sun had a pure Java version of the AWT toolkit. But Netscape apparently convinced them that native look and feel was more important than cross platform implementation. AWT - the buggy, non-portable, GUI C code - was thus hung around Java's neck.
If we'd had a pure Java GUI relying only on simple graphics primitives we could have build arbitrary interfaces that worked - cross platform - from the beginning. They would have been slow at first, and then rapidly gotten better (as Swing has).
Netscape set Java up and Microsoft knocked it down for a while at least...
-- Pat Niemeyer,
Author of Learning Java, O'Reilly & Associates and the BeanShell Java scripting language.
I've been running XP for a few months now sans java. I haven't hit a single site in the thousands and thousands that I've visited that has required or even used java to perform. Why do I need it now?
What killed java (client side)? Well people will argue to death that it was MS? But what killed ActiveX (client side)? Well people will argue to death that it was Java. What really happened.
There are two things I think happened. Java became "popular" because of things it claimed to do (some of which never materialized). Creating a rise in "amateur" programmers who's only creative outlet was applets on the web used for banners and menus etc. Everytime someone would hit SOME of these sites and see the horrible slow downs that occured with the prominently marked "SEE MY NEW JAVA MENU" then people associated "Java" with crappy GUI development. Java might help certain aspects of coding but it doesn't suddenly create automatically efficient code. You can still use all the memory you want even though you're not specifically allocating it like you might in other languages.
This is why Java was better on the server side. Having a server implies that you have more experienced coder doing the work. This typically (not always) means tighter code and better resource use. Hence java client side received boo's and name calling and java server side is quickly replacing other languages.
Now client side it didn't help that even experienced programmers saw performance problems with their client side applets. I would still say it wasn't the code itself that ultimately caused the downfall. I certainly wouldn't say it was MS. Additionally I think this is a shitty way for SUN to try to get market share. SUN already sued MS and got a settlement along with a nice chunk of change, kicking MS out of that market, and killing a couple of MS's initiatives. They could have taken steps back then to take control of their destiny instead of constantly deferring to MS for the success or failure of Java. They failed to do that.
"Do not be swept up in the momentum of mediocrity." - anon
They killed kenny!!!
Kind of reminds me about the shopkeeper who tells his customer "I'm sick of telling all you people I don stock foo because there's no demand!"
I hereby inform you that I have NOT been required to provide any decryption keys.
Don't give my that crap I am not talking from the Cisco page, I am talking as a systems administrator who has had to support the problem. I work for network operations at the University of Arizona doing networking, but also Windows 2000 support. Well several months ago I was setting up a new system for someone who used the Cisco Java switch manager (not many people do). I of course just went to Sun and downloaded the latest JVM. I get a call later that day saying that the CSM isn't working. I come down adn sure enough it isn't. I can't figure it out. Then I find out from someone else that it HAS to have 1.3.1. So I install that version, and it works fine. This is not conjecture, this is actual fact from experience.
If you take a look at Apple's system architecture:
OSX you can see that Apple is putting the JAVA API at a coequal level with the Classic, Carbon and Cocoa APIs - all the others being Apple products. This is exactly the kind of treatment Sun has always wanted; Sun's Java being setup as a major part of the system architecture allowing it to run cross platform with the same capacity as native apps.
Now where is Sun supporting Apple in this? Apple offers a standard set of development tools as part of the OS - why isn't Sun writing or co-writing tie-ins for interface builder and Swing? Why aren't they optimizing the JAVA Apple API for Darwin? Why when you click on Java at Sun do you see absolutely virtually nothing about the Mac OSX platform? Why doesn't Java include routines to handle files with resource forks better?
If this isn't proof that Sun has no intention against standing behind Java implementation with real resources and real money I don't know what would be.
I've been writing Java code since JDK 1.0. I've done plenty of work with standalone clients, applets, and servers since that time and with every release since then, and blaming Microsoft is just plain revisionist history.
Not only was Netscape's compatibility with the Java standard much much worse than Microsoft's (Sun sued over nits while Netscape had major API differences!), but it wasn't even compatible between versions of itself. Minor point releases had major points of incompatibility with each other, and the stability of the JVMs included with Netscape was very poor to say the least.
I know that's not the popular viewpoint, but anyone who wrote significant java code for the browser back then should recall how painful it was to deal with the Netscape Java flavor-of-the-week and how hard it was to work around the things that would take out the browser. We gave up and went back to HTML.
But I don't think it's fair to blame Java's death on the client entirely on Netscape either. Anyone remember what it was like to write client code with AWT? I'll tell you what it was like - it sucked. It took Sun two major JDK releases (1.1 and 1.2) to fix that with Swing, and Swing is such a pig that you need a pretty heavy client to run nontrivial applications.
So what we had was a GUI library that was not really very good for building clients and a major vendor who couldn't make a stable version or maintain compatibility either within its own releases or with the standard itself. And that's completely independent of Microsoft.
I think any chance of Java making it on the client was killed when Sun decided not to offer it originally as a plug-in. Had it been a plug-in then at least Sun could have controlled the quality and compatibility of the implementations on the street - across all browser vendors. Notice that Macromedia has done an excellent job of that with Flash.
Sun did, eventually, move to that design - but only after the war had been lost.
It might be nice to blame Java's client woes on Microsoft, but in all honesty - as much as I hate Microsoft - I can't do that. Java failed on its own demerits.
jim frost
jimf@frostbytes.com
I remember a certain team called Blackdown being quite pissed about all the crap they put up with from Sun when they were trying to do their high quality release of the Java SDK/RE... They were mistreated quite a bit...
What Microsoft did may have been wrong but Sun didn't exactly embrace Open Source and try to win by expanding into everything with Java... Their lack of willingness to make an open standard probably didn't help much either...
Bah... I am probably talking out my ass again.
For the vast majority of web users, the HTML is not really a part of their experiance.
autopr0n is like, down and stuff.
The whole Java fiasco is a great example of why MS is more interested in anti-competitive behaviour, than "freedom to innovate."
Initially, they developed one of the leanest, fastest JVM's around (and fastest compilers). An actual sign of innovation; but they nuked that to try and get rid of that annoying portable Java thing. That's not innovation, that's stifling something that they don't fully control in their monopoly.
A shame, it was a great start, and I'm sure if they had done the same for Java 2.0, the consumers would have been better off overall (which they claim is a goal, but is not).
-me
Love many, trust a few, do harm to none.
"Okay, but one case still does not say much. It only says that it can be done and one person liked it. You need to perform a wider search and your own surveys of multiple sites to get a better feel."
I think that if you bothered to actually perform a wider search you would find there are many many large apps written in java. Java is the most popular language in the world and is used by the vast majority of corporations in the world.
War is necrophilia.
Using a visual editor (widget machine) to do GUI code is just a Bad Idea.
I think that in practice, and with most tools, you're quite right. But I think that's a reflection of the immaturity of such tools, and of the poor separation and interface, in code, between the widgets and their application-level functionality.
IMHO all code including and especially GUI code should be written by hand.
I think I can prove you wrong: do you write everything in machine code? Or assembler? No? But there was a time when you could find people saying that everything should be written in assembler, for much the same reasons as you're proposing. There are many repetitive patterns even in manual code, which can often lend themselves well to being abstracted out and machine-generated. In Java in particular, generating code can make quite a difference to an application: an enormous percentage of Java code is boilerplate. If you insist on writing all that by hand, you're hobbling yourself for no good reason.
I'll agree that in an ideal language, you shouldn't have to be generating a lot of code to run alongside the code you're writing by hand. But Java is not an ideal language. Since Java doesn't really support metaprogramming very well, generating code provides a way to start with a higher semantic level and still end up with Java code.
Because Pascal died academically during the Java hype, not during the Delphi/VB hype.
Which is rather unfortunate, because if Delphi had been adopted as an educational language at the appropiate time, it would be stronger in the market and I really like the product. Also, it would have been a much better OO-educational language, in my opinion, than C++.
Freedom is the freedom to say 2+2=4, everything else follows...
Windows controls more than 90% of the (full sized) clients.
MS stated that they were not going to lose control of their own platform by allowing cross-platform Java to become the best way to create Windows apps.
Sun, at the same time, was saying that they were trying to make Windows obsolete, so the last thing they wanted was to let Java become "just a better way to write Windows apps".
The only thing they both seem to have agreed on was that they didn't want Java to be too good at creating Win32 apps. So Sun stood on Java's tail while MS beat it senseless, and they both got their wish.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Netscape *was* right, but AWT was not well done. Swing was much better, but wasn't native. And the performance of Java couldn't match VC++. And then their was that albatross of a runtime that had to be dragged along with every instance of every app.
I was trying to build a Windows client-side consumer app in Java back then. It quickly became clear that even if the bugs were cleared up, my app would never look and feel as good as a native app -- that any competitor of ours that rebuilt our app in VC++ would take away our Windows market, leaving us with the remainder of that vast cross-platform client market out there.
No way. We had to go back, hold our noses, and work in VC++, sacrificing the non-Windows market in order not to lose the Windows market. Java just couldn't compete against the native VC++.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Really, I use Emacs. I think even if I did more client side stuff I would still pretty much use Emacs (as I did before on the other project), but like I said I've not looked at other IDE's much... I personally find the combination of shell tools and macros in Emacs to be about the best set of refactoring tools I've found so far, which is why little has lured me outside of Emacs.
I guess the only other "IDE" I really use is TogetherJ, but I don't really treat it like an IDE, using it for light design and refactoring support (sequence diagram generation). I also use Netbeans, but only for debugging so again I'd have trouble saying I've really used it.
A co-worker has IDEA and loves it, she used to be a SlickEdit user. I'll really have to try a bunch of IDE's one of these days... like you say, Eclipse is free so I should give it a look.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Microsoft have used their position in the market to prevent competitors from, for example, being preinstalled on PCs.
Clever signature text goes here.
I'm not arguing that MS'opposition to Java hasn't had a negative effect on Java. I'm NOT arguing that MS didn't want to kill Java off (wouldn't you, if you were a competitor? that's what you're paid to do as an executive?)
I AM arguing that the "blame MS for EVERYTHING negative that happens in technology to any product that competes with MS, is overblown and generally destructive to the overall technology environment.
Let's generalize your argument and put it as follows
Company X, because of their desktop monopoly was/is in a position ot make/break anybody's software.
1975 - MITS Altair 8800 had a "monopoly" on the PC marketplace.
Late 1970's to mid 1980's -- Apple I and then the II dominated the "pre-built" PC market (effectively a "monopoly", with some competition from the 8 bit kits -- i built one of the others).
1981 -- IBM introduces the 5150 and then later the XT, within a few years IBM has a, you guessed it, monopoly on desktop PC
1984 -- Apple introduces the Macintosh (still have my 128K Mac, somewhere), Apple has an effective sales monopoly on the GUI amongst PCs.
August 24, 1995 -- Windows 95 released, as good a point as any to mark the birth MS' modern desktop (and very real) monopoly.
Substituting the name of any of the above for "Company X", you will arrive at the following conclusions;
1. tech monopolies are short lived
2. new products CAN suceed in the face of strong opposition from a entrenched, market-dominating competitor. I think the sucess of both Apache and LINUX as whole show that very clearly.
In OS/FS, very often people use MS as a scapegoat for EVERYTHING that goes against their wishes.
In an earlier, and very clear example, did MS radically harm Borland's ability to compete on languages by cherry picking many of the best and brightest employees that Borland have?
OH YEAH! But the 34 Borland employees at the core of the legal argument were all adults capable of making their own decisions. They went with the bucks -- the vast majority of us would have done the same thing when offered 3-10X (and in a couple of cases, X*10 to the 9) our current compensation packages.
We have to do our best to create the best software we can. And worrying about what the competitive marketplace is going to do is foolish.
Capitalism is not for the feint of heart. The body count is (and always will be) high. Let the lawyers bury the lawyers. Let the rest of us get on with building the future.
"W.O.W." -- Way of the World -- Assholes Are.
Ten quid, she's so easy to blind. And not a word is spoken...
(* I think that if you bothered to actually perform a wider search you would find there are many many large apps written in java. Java is the most popular language in the world and is used by the vast majority of corporations in the world. *)
So is NT. What does that prove?
If you pore enough resources into a P.O.S., it *can* be made to work. Besides, I was mostly talking about presenting evidence and not so much about Java itself there.
Table-ized A.I.
"So is NT. What does that prove?"
Mmmmm let me see what that could possibly prove. Oh I think I got it. It proves that java is a suitable language for writing huge mission critical applications.
War is necrophilia.
(* Mmmmm let me see what that could possibly prove. Oh I think I got it. It proves that java is a suitable language for writing huge mission critical applications. *)
Doable, yes. "Suitable"? Well, that is not a Boolean word.
Table-ized A.I.
Yes. Let's ignore the fact that java is the most popular language in the world. Let's also ignore that the majority of all comapnies in the world use java. While we are at it let's ignore the thousands of mission critical applications written in java and the fact that java pretty much runs banking in this country.
Let's ignore all that listen to some luser called Tablizer on slashdot and accept once and for all that java is just not suitable for applications. After all who needs facts and evidence when some MS astro turfer says it sucks?
War is necrophilia.
(* Yes. Let's ignore the fact that java is the most popular language in the world......After all who needs facts and evidence when some MS astro turfer says it sucks? *)
You are contradicting yourself here. You imply that java is "good" because it is (allegedly) popular. Then you bash microsoft, which also popular in a good many areas.
IOW, popularity == good but if NOT microsoft's popularity.
You == Hypocrit
(BTW, who ever said I loved MS?)
Table-ized A.I.
"You imply that java is "good" because it is (allegedly) popular. "
I imply no such thing. I simply state that Java has been used by the majority of the corporations in the world to build large mission critical applications which is ample evidence that it is a capable language. You ignore that evidence and keep insisting that it's not possible to build huge mission critical applications in java despite the evidence to the contrary.
You are therefore and idiot.
War is necrophilia.
>> Its hard to tell Java doesn't come with a great UI tool like Apple's Interface builder; why not?
> Because that's what third-party tools like JBuilder are for.
How is that an answer to a why question? You are merely restating the reality not answering why Sun choose to contruct that reality.
Nope, wrong.
Sun's original case against Microsoft re:Java was about contract violations. MS signed a contract with Sun and then proceeded to ignore and reinterpret that contract as much as humanly possible. Sun called them out on that and they were in fact found in violation of the contract.
Sun's current case has to deal with motivations behind those contract violations. The MS/DoJ trial produced some very specific and damning activities by Microsoft in regards to Java. They talk about MS deliberately introducing incompatibilities into their implementation with the sole purpose of protecting the Windows monopoly. This goes far beyond any contract violations that were addressed in Sun's first suit against MS.
So, now we have an adjudged monopolist who violated specific sections of the Sherman Act with regards to Java. Sun is fully within its rights to pursue punitive actions against MS. In fact, there's specific language in US laws that allow for tripling any and all damages against a company when it is related to monopolist activities. (Frankly, Sun would probably be sued by their shareholders for negligence if they didn't pursue this lawsuit.)
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
I guess I am missing it because I was NOT aware that sun was suing M$ to force them to include Java. Whose Java? I dont believe that.