Sun Withdraws Java from Standards Process
An anonymous reader pointed us to a story over at ZD Net about Sun withdrawing Java from the ECMA Standards body. They say they want to protect the "Integrity" of the company's investment in Java.
← Back to Stories (view on slashdot.org)
That's Plan B: Make Sun's Java the de-facto standard by dumping it on the market at under cost (free) until it is firmly entrenched in the marketplace.
#!/usr/bin/perl
Every UNIX I know of does this automatically in any call to exec*(). Why can't a webbrowser do this for applets? Just get it as application/applet or something and then it can run it directly. Seems to be an okay way to do it, except that I'm squeamish about running any arbitrary code I'd run across on the web. Like, I wouldn't want Netscape to automatically run the following "applet":
#!/bin/sh /
rm -rf
Which is, of course, why Java is setup as a secure, isolated virtual machine, and why ActiveVirus...er, ActiveX uses a silly signature/authentication mechanism to make sure it really is a trusted source, in theory anyway.
---
"'Is not a quine' is not a quine" is a quine.
"'Is not a quine' is not a quine" is a quine.
Quine "quine?
Correct
The classes are part of the language. The language is not just the syntax, but also the semantics, and the core libraries are tied up in this. For instance all objects inherit from java.lang.Object. I believe all java.* and javax.* classes are part of the language (/platform). This is why the java.lang and java.util packages are described in the Java Language Specification.
Oops, I almost made it sound as though I run as root. I'm not saying that I do, but some people do. What I meant was 'rm -rf ~' - much more disastrous for a user account.
---
"'Is not a quine' is not a quine" is a quine.
"'Is not a quine' is not a quine" is a quine.
Quine "quine?
who can't even speak with the right accent (the French have British accents? yarigh)
Hmmmmph. I know a lot of French people who speak English with British accents. It is quite common for a French person to learn his or her English in Great Britain. Some of them even marry Brits, and then it really gets obvious.
Well, you have to remember that the GNU C people thumb their noses at the C/C++ Standards Committee. GCC is an 'embrace and extend' language. It's all fairly well documented in a Usenet thread that ran most of the summer crossposted to various newsgroups.
Please, oh please, do not take my word for it. Look it up on Deja.com and see what I mean about unique GCC language "features" which aren't identified even with the -ansi switch turned on to catch them.
However, there is so much more available in other languages, for instance:
- numbers, characters, and strings are objects
- dynamic typing is an option
- decent type systems, especially wrt generics
- decent library of classes; largely this is due to typing problems
Maybe Java will at least get people thinking about the languages which set the context for so much of their work. If you aren't worried about applets, then, for many programming domains, languages like Lisp and Smalltalk give you the same benefits that Java does, plus more, and plus they have stable, mature implementations.Your comments about Sun, knights in shining armour and Microsoft remind me of a comment about trust made by the moredhel Gorath*: a friend can betray you, but with an enemy, you always know where you stand. Now, admittedly, a true friend will never betray you, but someone who only seems to be your friend can and probably will. Sadly, this is the only effective test of friendship I know of.
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
The community process is in place, and has been working. Needed changes to the language and libraries get adopted in the next release or two. It's not as responsive as OpenSource, but it's pretty effective. From what I've seen, notably in C++, having a committee as a guardian isn't very effective by comparison.
The bulk of the posts say how bad the decision is, and yet, Sun has acted in good faith and good conscience to protect the integrity of the language. That's why I can write the c/s app on Linux, and run it seamlessly on Digital Unix, Solaris, and NT/Win98 without any sort of port or recompile. Because their process is working. I can't even get two compilers to agree on output on all those platforms in C/C++, without even taking the db interfaces into consideration.
Why, specifically is this a bad thing? Don't the results matter? Isn't that the real reason for doing things? The principle isn't at stake here, as we don't have a comparable project I know of that a committee or standards organization has succeeded with.
My 25 cents.
Dallas Hockley
hockleyd@cybersurf.net
Minor correction. G++ has C++ extensions but of course neither they nor any part of G++ is "proprietary".
Can someone tell me why I have to pick a platform target for downloading the JDK javadocs or extended APIs??
Oh, for cryin' out loud. Normally I ignore the mass ignorance on /., but this is just too much. Below is a quote from Sun's download page for the Java 2 documentation.
"The download choices have identical documentation content and differ only in the compression format, so "theoretically" any choice should work on any OS. However, due to tool imcompatibilites, this is not entirely true. Do not download the COMPRESS tar or GZIP tar formats and try to install them with WinZip or a non-Solaris version of tar (such as GNU tar). About 10 of the included files have paths that are 100 characters or longer, and these programs will not install them correctly."
As you can tell, it's OS and tool problems. Sun didn't write your freakin' decompression tools, so don't blame them. (And ironicly enough, it seems to suggest that a GNU tool is at fault here.) At least they went to the trouble of packaging it multiple times and documenting things which is more then I get from most companies or open source projects.
- mkleehammer
I'm smart engough to choose my own paradigms, and apply them where needed.
Admittedly, C++ is more complicated than any language out there, but there is no denying how powerful it can be when used correctly.
Keep your eyes on Perl6 which is being written in C++.
I expect Chip to turn out some great C++ code.
This week we finished mods to a java program on NT. Unit tested it there. Moved the bytecode to Solaris. Pounded the hell out of it for scalability testing. Then deployed the same bytecode on a FreeBSD box. We got it out of Java.
Who cares anymore?
When Java first came out, human resources departments were looking for developers with 5 years experience at it (hehe).
This is the age of hype and mediocrity. Too bad, cuz syntactically it was a nice language.
I think Java has a long way to go, and to standardize it now would just slow down future development. Though it may be far from public opinion, I think Sun has handled Java very well. They are not trying to be the next Microsoft, but are merely ensuring a dominant position, and are right to do so.
"The wages of sin is death but so is the salary of virtue, and at least the evil get to go home early on Fridays."
-- Pratchett's Witches Abroad
Moreover, none of those people are large corporations trying to dethrone the current king of the hill. Corporations are inherently less trustworthy than individuals, given their mandates and organization.
--
Change is inevitable.
Progress is not.
Python is also compiled into "bytecode" in the same way that Perl is. And it's run by something called a "virtual machine". Of course, this VM is much more abstracted from the actual computer than the JavaVM, so you don't get as good performance. And if that's not enough, someone has recently written a python assembler!
Python, like lisp can be compiled to bytecode and distributed as such--just like java. They both run in a "vm", although I don't know how different the vm design is.
Let me get this straight...
You think C++ is dead, and you think the Standards body is what killed it?
It's simply amazing what one can read these days...
but I took it as "Correct Me If I'm Wrong".
Wander off into irrelevancy with it? :-)
uh, doesn't JDK come with 'jar'?? Fancy using a tool bundled with the SDK...
peace
Python can be compiled to bytecodes, but python programs are traditionally distributed only in source form. There's nothing stopping anyone from distributing python programs in bytecode form, but there's not much that can be done to obfuscate the bytecode, so decompiling is relatively easy.
Let's step back for a moment and consider the fact that not everyone endorses the Open Source movement. Many companies don't like to Open Source their products because of copyright standards and such like that. However, this makes porting their programs to different platforms more work, and not always feasible.
And then there's Java, a perfect solution. It suddenly makes life a ton easier on computer owners everywhere, because they can all run the same programs, using the same interfaces. Programs for the various flavors of Unix and Linux no longer have to ship the source code with the program, instead having to just ship the program itself, guaranteed to work.
Java is the solution that many companies are looking for. But, like any startup language, it's fighting for its independance right now (Microsoft J++) and it can't be burdened with a "standards committee".
But that's just my two bits...
There are differences between what Sun is doing and what Microsoft has done. (And this analogy is getting really tired of being trotted out for any company Redhat's size or larger.)
:)
First, Microsoft does not license their Windows technology to anyone. (Wince doesn't count.)
Sun licenses their technology to anyone that wants to pay the fees. In fact, Sun would be happy if they never had to do their own JVM implementations. They would be content to provide a reference implementation and compatability testing.
Microsoft charges for everything.
Sun gives JDK, JRE, etc. away for free... and has even made the JDK more free.
Microsoft does not provide a source for input to the evolution of their products.
Sun provides a Community Process to which anyone can become a member for a fee. Sure, not any old Joe can give his input, but would we really want a language developed by popular vote? I sure wouldn't.
Microsoft creates products to push their own defacto standards for API's and such.
Sun regularly publishes draft standards for Java extensions. Many of which are designed around third party implementations to be plugged in.
In conclusion, Sun controls the Java platform but not with the same stranglehold that Microsoft has on anything Microsoft. And this difference is significant.
If Sun suddenly decided to take Java in strange directions that the majority of the Java development community didn't agree with, Java would live on as another language. If that happens then I'll be the first one joining in on the Myva(?) project.
However, right now I think Sun is doing a fantastic job and I'm willing to give them some leeway.
Edu. sig-line: Choose rhymes with lose. Chose rhymes with goes. Loose rhymes with goose.
Comparing? THEN use THAN.
NFS
YP/NIS
I don't think there is any commercial UNIX vendor that does not profit from these things.
Stephan
This will only hurt Java developers in the end. Without standardization there is no protability, making everybody's life harder.
The difference is obviously that neither Perl nor Python are being used as a lever by a MSFT wannabe to cause the great unwashed masses to buy more of a particular workstation vendor's gear. McNealy and crew are just want to be like Bill. They want to own the desktop, the server, and the client business, and have you, the poor unwashed (l)user, pay them fees for taking a leak with a java based toilet.
Perl is being pushed by O'Reilly, because they want to sell books. But hell, I can download the source and do pretty much any freaking thing I want with it. Same goes for Python. O'Reilly does have a motive, and they have Larry working there too. But O'Reilly isn't pulling the same crap that Sun is pulling. Why the hell would anyone claim that some C++ wannabe language is a standard when they really don't want to allow it to progress to full standardization?
Simple. They want control. Absolute control.
A little while ago, a competitor to Sun from across the garbage heap offered up a great technology to help boost java. Sun would have nothing to do with it, prefering instead to write its own API. Other companies have tried to write java technologies competitive with Sun, only to have Sun change the API on them in the next release to make their technology more difficult/impossible to implement, and allow Sun to covet that technology.
Folks, do not allow yourself to be fooled by Sun's motives. They are trying to protect their bottom line, and frankly they do not care who takes it in the shorts in the end. They want you to pay them for every use of the java based auto-toilet, and they want to be like Bill.
If they really wanted to grow Java, all they ever had to do was freeze the specs, release it (copyrights and all) to the orgs, and voila, a standard. That would have been good. Now, there will be a java standard. Sun just wont be involved.
Standards. Don't ya just love 'em.
When Linus says, "remember: a compiler is a TOOL"
people nod in agreement. When he says that if a
job's criteria can't be met by sticking within a
standard, the compliance to the standard should
suffer, not the criteria. And people murmur
their approval.
And Linux is completely dependent on gcc and
very popular and useful and portable.
Now along comes Sun shadowed by the evil
Microsoft. Frankly, Sun (and Microsoft) are
in it to make a buck.
Java is very public and portable and open.
But Sun was in a dogfight with Microsoft
and saw the mire of the Standards Process
as a way of shaking them. And it sort of worked.
Now when Sun's job criteria can't be met by
sticking within a Standards Process, the
compliance to the Standards Process should
suffer, not the criteria.
Pragmatic sauce for the goose
is pragmatic sauce for the gander.
There's a rubberstamp shop in just about any medium-sized city they could pay a visit to.
Python and Dylan are two interpreted OO languages that are miles above Java.
I could spend days going on about how poor Java is - suffice to say, even the strongest PR in the history of the industry couldn't get it very far.
Yes, another Eiffel fan here. (Sather too).
:) in a programming language class, not a B or A.
Why is C++ multiple inheritance bad? Among many other reasons, because C++ has NO DISAMBIGUATION UPON INHERITANCE.
Eiffel does.
That makes an enormous difference in making multiple inheritance clean and painless. Why is it that so many people say "use delegation, not MI"??? Because delegation is a painful and manual way of, in effect, specifying how to disambiguate potentially conflicting features.
With GOOD multiple inheritance, you don't need to do that. You just use delegation when delegation really is the best solution.
Notice that Java still lacks dismbiguation, and it IS still a problem, but as Java only has MI of interfaces, the problem just happens to occur less often.
I disagree with the notion that the Java language designers were that brilliant. Compared to any other new OO language designed around the same time, Java is pretty damn poor. It would get maybe a C+
Only if you are used to poking yourself in the eye with pointed sticks (C++) or poisoned pointed sticks (MFC under C++) would you think that Java is all that great.
There are other boneheaded decision in the Java language design as well.
I always thought "well the language is lame, but at least we have all these great API's". I personally never used them. Now people who do are saying that the APIs suck but the langauge is OK.
Oh boy. Is there anything actually good about Java???
I guess the bytecode verifier and security model is fairly decently "high tech" and well designed. That's about it, as far as I see.
Sun is doing what MS does. This is bas news for developers. Soon, IBM and HP will develop their own versions and maybe then Sun will sit down and talk.
I can see why you never went back to it; if you really looked at 1.0 and decided to wait for 1.2, you would have been waiting for 3+ years!
Anyway, if you had any clue as to what you are talking about, you would realize that anything you developed for 1.0 would work fine with 1.2. You might get some deprecation warnings at compile time, but it would still compile and run.
For Sun at least, "innovation" doesn't mean "make incompatible".
Mike
This I would love to see.
Then it would be particularly delicious to see Sun's implementation of Java declared non-compliant.
Sun owns some patents on Java, although I don't know how that would affect an independent standard.
Point well taken, although NFS use is decreasing due mostly to poor implementations and security concerns.
I'd advise "the kid" to learn C and C++. Then he can write all the stuff you use to fiddle around in your sandbox.
You'll just have your little shovel and pail, and can of course play on the Swing set.
Better be sure you bank some of those megabucks you're getting right now....
First off I think the idea of a general VM is a good one. Writing a good one would be hard. Writing a good, fast one would be even harder.
The problem with the Java VM is that it has a lot of Java-specific behaviors in the VM itself. For instance it assumes that there are classes. That's fine and you could compile a C program into a bunch of classes but why?
One reason that Sun may have had for doing this is that it makes the VM faster. If the VM can work at a slightly higher level by making a few assumptions, the VM can put a lot of code that would otherwise have to be interpreted in native code.
For instance, if you assume that the languages that target the VM have garbage collection, then you can have the VM handle it automatically instead of making the compiler emit code to handle it. On the other hand, that means no pointers. Then the VM isn't a viable target for C/C++ compilers.
You are not a beautiful or unique snowflake -- but you could be if you got off your ass.
That's one way give a good uppercut to developers who are trusting you. So now Sun completely controls Java. They're reneged on their promises now that developers have put alot of time and effort into Java, because they believed in it, and they believed Sun was making their best effort to move it to a standardized base, and do things for the good of Java, which, in the end, is for the good of then.
Suddenly, *WHAM*. We need to protect our investment.
Goodbye good 'ole Sun, HELLO Microsoft II.
-- I'm the root of all that's evil, but you can call me cookie..
Really. The initial submission was to benefit Sun's case of bastardizing the language by Microsoft and to take away some of the heat from the community for Sun apparently doing whatever the hell they want to the Java core libraries.
"Look! we're trying to make this a standard and they're messing it up... boooooo hooooooo..... We need a preliminary injunction... wahhh haaaa!"
From a Linux perspective you're right. The NFS code in Linux is poor.
The unfortunate thing is that everybody assumes there's something wrong with NFS.
If Microsoft had adopted NFS and was sabatogueing it with as bad an implementation as Linux, you can bet people would be howling "embrace and cripple."
I've written about 300,000 lines of Java code on both clients, servers, and middleware. Sun initially marketed Java as a browser feature, hoping to become the programming medium for this "new system that makes the OS (namely Windows) irrelevent." Well, Java sucks in the browser. Java sucks for client programming in general. Java only seems to work decently as a server application, where performance problems are easier to mask, and costs for faster hardware are lost amidst huge corporate budgets.
They support STL but they DO NOT actually meet the specs. There is not one single compiler which implements STL completely correctly.
Part of the problem with C was that Dennis Ritchie was not involved in the standardization process; Bjarne Stroustrup headed up the C++ standardization effort.
--
Steve Molitor
smolitor@erac.com
"Emacs is the Computer"
Stephen Molitor steve_molitor@yahoo.com
As well as unmatched support for DOM, LDAP, POP, HTTP, etc.
I was always worried about Sun taking Java to
a "standards commitee".
What better way for Microsoft to "embrace and
extend" and eventually destroy Java than by gaining eventual control over such a commitee? Sun is only trying to prevent Microsoft from getting any toehold. Can't blame 'em a bit.
Sun has given away many innovations. Not
Microsoft. I can't blame Sun at all for wishing to be "keeper of the flame". The best way to keep any vision pure is to keep it out of the hands of a commitee.
VB is another proprietary language, ask anyone who had to go from v5 to v6 can tell you how bad it is when a large corperation changes specs. at their whim.
Sun. The other white monopoly
Then there are the classes, that is the bread and butter of java. Sun wants to control that. Let them, the classes suck. Look at the performance of java, a good portion of it is due to classes. The classes are at least half of java's biggest problem, it's slow. JFC makes the problem even worse. JFC is a slow framework built on top of a slow framework. Not standardizing the classes could be a huge bonus for Java is IBM and some others go ahead and push to standardize it anyway and have to roll their own.
Honestly, I think we need to start looking ahead. Java missed it, it's nothing compared to what the hype had it made out to be and it never will be any of that. Java is best at providing a lingua franca for custom apps you never want to touch again. It's not ready for prime-time in the general programming arena and it probably never will be. We need to develop a structure and way to plug perl, python, tcl, etc.. into mozilla. We need to start our own active scripting and active content platform and let the world take notice and start copying it. What did java do to the web? It made icons bounce, allowed for some vector graphics, played sounds, I feel pretty confident we can do all that with perl. I bet we can come up with a ton of cool things that we can do with perl in a web browser and a way to make it safe.
As for portability and all that, we do pretty good with perl, python, and source code. GTK+ and QT are the big things anyways. GUIs have always been the pain in porting stuff.
McNealy is nothing compared to Larry Ellison.
But then, all those guys live in pressure cookers. It makes sense they have a pretty warped view of reality.
Actually, though I've never tried it, I think rm -rf / might be worse than rm -rf ~, the latter would only nuke your home directory, but if you have files somewhere else (and can delete them) the former will nuke the lot (assuming the OS will allow rm -rf / to work at all for non-root users)
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
theres alway W3C! they seem to have low standards in terms of bending over for vendors...
-- your knees hurt, don't they?
Microsoft license Windows source to many universities and companies (Citrix, Softway and some others which I can't remember right now).
Also, Microsoft give away SHITLOADs.
Your examples of JDK and JRE are stupid. Microsoft also give away their Java SDK and Runtimes. I reguarly get free copies of Windows Betas (and the full release eventually) - I'm not special, just applied. I also recently ordered a free copy of the VBA devleoper's kit - FULL shrink wrapped box - shipped etc for free.
There are shitloads if free downloads from MS...NT add ons like IIS, MTS, MSMQ etc are totally free.
And MS have the largest online developer's database with GB of information and source code, as well as commentaries from MS engineers etc.
Microsoft is by far the best developer support software company. Sun doesn't even come close.
I think MS have spent at least $1000 on me.
I get shipped stuff for free from redmond to new zealand.
In conclusion, Sun controls the Java platform but not with the same stranglehold that Microsoft has on anything Microsoft. And this difference is significant.
Yeah whatever, like I said, MS is the best developer support company, and that's why I continue to develop for windows.
BTW, check out MSDN.MICROSOFT.COM sometime, don't get lost in the GB of information there - much more than Sun's Java site.
This is an ANSI C program -- ISO C is even worse.
??=include
int main(int argc, char *argv??(??))??
More precisely the language that someday will become C9x is being defined by the ISO/IEC JTC1/SC22/WG14 committee whose Final Committee Draft standard can be found at http://anubis.dkuug.dk/JTC1/SC22/WG14/www/docs/n84 3.htm. I don't know the equivalent specification for C++. The important thing to note is that these define the C/C++ *language*, not a standard operating environment.
--
Flames? Think I'm a karma whore?
Although admittedly they don't have the marketing prowess to take it very far.
Is ECMA a legitimate standards body?
Are they producing standards that help to advance the state of the art?
The reason I ask this is because my only previous knowledge of ECMA is the certification that JavaScript (aka ECMAscript) went through. If memory serves, the ECMA group was chosen over other more well known standards organizations because it was thought to be easier to influence, thereby orchestrating the outcome. Ever since then, I have wondered about this organization.
Now, ECMA is in the news again. But, this time, a Slashdot community member posts a link to the ECMA Web Site. So I have the opportunity to check out the roster of member companies. If you look at them, you will note that practically every one is a multinational that is not based in Europe.
I guess that this point, in itself, doesn't say much. Except that there must have been a much bigger number of true European companies in ECMA back when it was founded in 1961. But, then I notice that at least one European computer manufacturer that I know of, Bull isn't a member. Neither is Nokia, although Ericsson is.
There is an organizing body in the sport of boxing known as the IBF. It was created as an alternative to the WBA and WBC, and seems to exist for the sole purpose of having an alternate slate of champions who can challenge one of the more established sanctioning bodies' champions.
So, my ultimate question is, does ECMA serve the same role in the technology world that the IBF appears to serve in the boxing world?
--
Dave Aiello
-- Dave Aiello
Open source to Sun. Well the painfull growing years are gone, it's time to cash in.
Probably the next JVM changes are not going to be that open any more. Here we go...
Who is giving me any guarantees on the language. They keep on changing their minds.
I better grap myself the book learning C++ for ex-Java Developers :-)
Oh fuck. Slashdot eats trigraphs, even when
you put it in text mode.
Two question marks and an other character can
be used to represent curly braces, the backslash,
square brakets, and other common symbols.
Europeans don't even use this crap themselves.
yeah, anyway... big congrats to all at Andover!
woohoo, and thak you!!!
Oops. The last line should read "COM+" instead of "C++".
You are not a beautiful or unique snowflake -- but you could be if you got off your ass.
C is WORA and Java is NOT????
gimme a break...
Most of the comments are somewhat well informed, and most of the posters are pointing to specifics.
In my view (and I am not speaking for my employer) this should assuage the developer's fears of not having the standards body oversee the process.
This URL has more information.
-- We have been doing so much with so little for so long, we are now qualified to do anything with nothing.
Hit a little too close to home for a moderator's comfort, perhaps?
You know I have heard that Java was dead at this very URL. How is C++ dead? The KDE project must never have been born if C++ is dead. Visual C++? Yes you hate them and I hate them and they hate them and them hate they but MFC is still thriving. If you want dead I will give you dead try Motif. C++ is a useful midlevel language where it applies. When it comes to a GUI that does not eat memory chips like they were deep fried it is rather nice. Does anybody use SQL anymore? Hell I'm going back to B.
Sun owns the trademark and the original source code.
Why doesn't ECMA simply go ahead and standardize the same thing under another name
They're considering this, but the big problem is that everybody involved already has a license from Sun.
It's possible to write a jvm from scratch (e.g., kaffe), but most companies licensed the platform from Sun in order to port it. And with that license comes a lot of conditions.
If ECMA made changes without Sun, virtually nobody could implement those changes without violating the original contract with Sun. Remember, that's pretty much what they nailed MS for: using the licensed platform to implement something other than a Sun-approved java implementation.
By letting everyone see the source, Sun has actually manage to tighten the license even more.
Proving a cleanroom implementation after your development staff has pored over the java code for a few years is not going to be easy.
Standards bodies are in general very conservative bodies. That makes sense, as they, umm... are there to set standards.
As a result of this, they rely on established bodies of law, and historical precedent. The notion that it's somehow a bad thing that standards bodies "don't know about" Open Source licenses and therefore don't embrace them is as ridiculous as attacking the New York Philharmonic because they won't "cover" the latest RAP songs.
You are a bit of a moron
Seriously though, this doesn't change a thing and Java will continue to grow in popularity. There's lots of money to be made and lots of interesting projects. But that is true of many different technologies. Just choose what you like doing and stick with it.
Upon seeing the box was too small, Schrodinger's Elephant breathed a sigh of relief.
Linux is taking off and getting a lot of press. IBM comes up with Jikes and is ahead on the Linux front. Is this just Sun peeing on a post? Nobody sings love songs about AT&T in the shower because of C anymore. I think Sun very much wants to be who's who on Java for quite some time. Notice Sun is pushing Java on Linux in a very direct manner these days.
Translating emitted assembler into bytecode isn't a straightforward task in the least. I've written compilers both to asm and to bytecode, and you have to work pretty hard to get a JVM to take your class. There's a very specific set of capabilities within the JVM spec, and simulating things outside of that spec can get pretty hairy. Pointers, for instance, can't be simulated without basically writing a memory manager, essentially negating the purpose of the JVM altogether. Nested functions (like Pascal has), also require major kludges. The reason you can compile the very high-level languages you mentioned into a Java class is precisely that they're high-level and can be coerced fairly easily into the java spec.
Indeed.
What we really need now is the ability to filter out all comments that have been moderated above a certain level.
You know, a brown-nose filter.
You think you're being clever, don't you?
Linux is a (partial) implementation of the POSIX standard. Like every other Unix in the world.
Nice try.
Do you really think that if all (or most) of the Sun licencees decided to en-mass ditch Sun's control of the language and instead adopt an ECMA standardized "clone" of Java, that Sun would have a snowball's chance in hell of holding on to the "Java Vanguard?"
python (and perl) bytecode are only compatible within a parent architecture. The python (and perl) VM(s) do not worry about endianness and the like, with the net result that you can run other people's x86-VM bytcode on your x86, but not on your PPC, alpha or m68k...
I've done extensive work in python (And less so in perl) and I've found them to be extremely platform agnostic, far more so than C code.
Standards bodies are in general very conservative bodies. That makes sense, as they, umm... are there to set standards.
As a result of this, they rely on established bodies of law, and historical precedent. The notion that it's somehow a bad thing that standards bodies "don't know about" Open Source licenses and therefore don't embrace them is as ridiculous as attacking the New York Philharmonic because they won't "cover" the latest RAP songs.
They definitely aren't there to set standards on documentation licensing, so it would make sense for them to use superior form of handling the documents that benefit from being distributed, massively quoted and modified in proposals by large number of people and organization.
Actually standards committees that care about the usefullness of their standards probably would rather prefer a license that allows redistribution and requires explicit mentioning of changes made from "blessed" original version. Ex:
THIS IS THE VERSION OF FTP PROTOCOL, AS IMPLEMENTED BY WU-FTPD Vx.y. ORIGINALLY BASED ON RFC-959. CHANGES FROM THE ORIGINAL RFC-959 ARE MARKED BY "+", "-" and "!".
(copy of RFC-959 follows, changed to reflect numerous violations of RFC-959 and additions to it that wu-ftpd does).
While I think, it's still allowed to make that particular document now (and it would be quite useful if someone did it), it definitely isn't the case with ISO and ITU standards. Worse yet, their redistribution is restricted just like redistribution of any other copyrighted material that doesn't have explicit redistribution license attached.
So unless we should assume that standard committees are created to make money from selling texts of their standards, requirement of assigning copyright to them with no redistribution license is inferior to the kind of special Open Source license that merely requires to mention the organization that maintains the standard and explicitly mark changes from the official version. Actually it's inferior to even assigning copyright to them in exchange to plain free redistribution in original form license.
Contrary to the popular belief, there indeed is no God.
MS-DOS would be the lowest common denominator. Bleurgh...
and as for perl, it runs on a helluva lot more platforms than anything named so far.
No offense but SmallTalk is the worst language I've ever used. I used it with Squeak ( a SmallTalk IDE) and have been scared for life. It's the easiest language in the world to obsfucate because THERE ARE NO TYPES. There's nothing like tracking a variable through 6 methods just to try and guess what type it is and failing.
PS: The pastel colors made me kind of nauseous.
Bad Command Or File Name
The problem is that the JVM has certain semantics that it expects to enforce upon programs that run under it.
Garbage collection is a good example. A lot of C/C++ programs would fail if compiled for a VM that could yank memory out from under you. Sure there are was to trick the VM but the question is why bother.
If the VM forces incompatibilities on the compiler writers then that means code changes for the application. I don't want to fix applications -- I just want to recompile them.
You are not a beautiful or unique snowflake -- but you could be if you got off your ass.
Who died and made you and Java God. You do not have to know Java to make it in the computer industry. Java has logical operators right. This would be an OR.
Open source is good. Anyone can make it better.
Open standards is alright. You improve the standards, and implement them yourself.
Proprietary standards are bad. All you can do is an alternative implementation. And you may have to pay for a license or two.
Secret standards are the worst. No one's supposed to implement them, except the owner.
That's why people are upset that Java's not going to be an open standard.
It should be added that the perl and python communities are receptive to outside input, not hostile to it, hence there has not been a need for someone like ANSI to take control.
Crap is maybe too strong of a word but as someone who has spent the last three years developing applications in Java, I'd like to agree with the spirit of his statement. The portability is much overrated.
With respect to the actual language: it's not *terrible* but it could be better.
It lacks parametric polymorphism. It lacks first-class functions (although you can get these features with Pizza). It lacks multiple inheritance (I'm not a fan of removing perfectly legitimate items from a language just because some people are unable to write clean code). Ditto with goto (I avoid it like the plague but every so often it comes in handy -- particularly for handling tail-recursion). Which reminds me. Java does not properly handle tail-recursion.
It's not really a modern language.
That said, I use Java daily. It's acceptable, although at times I feel like strangling Sun employees (particular over AWT issues and the lack of Asynchronous I/O or at the very least, properly interruptable I/O).
The idea of checked versus unchecked exceptions is very nice. 'synchronized' is nice although I wish you could test whether or not you will get the lock immediately. I had to rig up something to do that today (I needed to turn-away a thread if it could get the lock).
I'd be pretty happy camper if these features were added to Java.
I have no real opinion on Perl or Python (don't know em and don't use em, but I've heard things about em (good and bad, but the portability is in the good)), but I would say Tcl is an equally good candidate as Perl or Python for the cross platform holy grail. In general, a program written in Tcl will work on any platform. Heck, I used Tcl sockets on windows using the exact sample code that was meant for unix machines. I imagine Perl and Python have no problems in that regard either. Also, like Perl and Python (but unlike Java), there is only one implementation (not counting any Java byte code ports). Tcl, Perl, and Python have much better support on almost
all platforms than what seems to be the case for Java.
IMO, Java is pure hype while Tcl gets the job done.
The thing to do in Mozilla would be to set up the language interface so you could plug anything in there. Perl, Python and Scheme would all make interesting web languages and I suspect they'd all be more portable than Java.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
The only thing it had going for it, syntactically, was an intelligent package system.
A web applet language [snip...]
That opening line destroyed whatever credibility you could have established as someone who knows what he/she is talking about. Java is not, has not or ever will be a web applet language in fact what the fsck is a web applet language?
IIRC, Java was originally designed for embedded systems and workstations/servers. That's why the VM and portability was the main push behind the language. With the advent of the World Wide Web, Sun added a few tricks to Java and enabled people to write web applets. The funny thing though, is that now Java is primarily seen not as a GUI development language (better use C++ or VB if your a pseudo-programmer) but as a quick and powerful server side development language.
Bad Command Or File Name
I'd much rather bet my cards on Python. Two languages starting with "C" are enough:)
Do you really think that if Linux wasn't based almost entirely on pre-existings standards, and a well-known defacto standard called Unix (heard of it?) that Linus would have had any possibility of putting together what the Linux kernel has grown to be?
It is NOT Linus's vision of what the kernel needed that holds the Linux project together. It's everybody's vision of what Unix is that does that.
Comparing Java to Linux is an incredibly flawed analogy.
(Man. First Bruce Perens and now Enoch Root. ?) This feels like something that would happen if i stuck the lid from a steel can in my anus! This poser (yes poser) is a fake. Notice the lack of a period at the end of his name. Also notice his karma whoring ways and bad personal hygene. My lucky lotto numbers are 14, 25, 28, 78, and 91
I was only talking about its most hyped application.
Java is unsuited to adding active functionality to web pages. Happy now?
Incidentally, I've written 10-15K lines of java, all of which were applet or application code (incidentally, it didn't take me all that coding to recognize that it sucked, it's just that I had no other option). I hated it, because it forces you into a half-assed OOP model. If you're going to force people to use OOP, you should at least implement it right. It totally ties your hands. I've also written a few hundred K lines of C and C++, over 100K lines of Perl.
> It's Linus' vision of what the kernel needed and
:-).
> didn't need. It's the same thing with Java.
No, you miss a vital point.
If enough people decide that Linus' vision is
flawed, then they can just fork the code and
ignore him. Happens all the time (the RealTime
Linux people come to mind).
Sun rules Java with an iron fist. Good luck
trying to fork the language (Microsoft tried).
Remember, the GPL is your *only* friend
Regards,
Jeremy Allison,
Samba Team.
Just to point out, you *CAN* stick a regular IDE drive into the IDE Ultra's, you just need to go through a couple extra steps to get it working: ftp://ftp.cs.toronto.edu/pub/jdd/sun-managers/form at.dat
IBM did it. Now, if we can just get them to open-source their Java implementation the way they've open-sourced their XML parsers (under the Apache license).
--
...and more! In addition to the excellent official Python Web site, there's Tim M's brilliant resource called Parnassus.
Perhaps if you want to write a simple midi application or create cute little drawing effects. On the other hand if you are trying to write any sort of web enabled application everything turns to mud. Most of the networking APIs are not documented or at best have scanty documentation. More than once I wished/begged/prayed for a man page or an HTML API like Java has.Since there is no documentation one has to trace code to figure out what's going on and yes this can involve chasing variables through six methods in four different classes just to figure out what type.
:) Everything else just sucks way too badly. PS: Smalltalk handles simulations well though.
For example if I wanted to find out what types I pass to an API method, it is not enough to go look at the source code of the method in the class browser Amazing huh. Instead one is better of finding somewhere where the method is called and trying to figure out what type was passed to the method. The names of variables passed to methods sadly have nothing to do with their classes and this can easily lead to much time wasted where a typename could do.
I do like the Simulations package though.
Bad Command Or File Name
Actually, now that I think about it, Sun may have done the right thing here by denying the creation of a document whose copyright belongs to an organization of dubious motives (I view any standards organisation that sees the copyrights of the documents it maintains as a revenue stream to be dishonest if not actually criminal). The question of whether or not Sun has done the right thing will be answered by their next move. Are they going to keep trying to get an official, open standard for Java out there or are they going to hide in the corner gnawing on what they have so far and growling at passers by? Time will tell.
This is certainly more insidious than an approach that is closed, and is honest and up front about it.
Ummm, MFC isn't before any standards body because it's a proprietary class library designed to run on a single platform (family).
If Microsoft had developed MFC to run on bare hardware, or as a cross-platform "run anywhere" class library, you can bet a lot of us would expect to see it before a standards body.
For a website filled with people who claim to hate Microsoft, it sure pops up as the benchmark a lot.
Take a look at http://www.dialpad.com/ Thier program is in java, and it's very worthwhile.
Since it works on only one OS they could save themselves a lot of grief by writing it in C++ and providing as a plugin -- it's not like a program from untrusted source that uses TCP/IP and your microphone can be at any degree called "secure". And ironically if written in C++ it most likely would be more portable.
Contrary to the popular belief, there indeed is no God.
I pr0pos3 4 h4x0r j1h4d 4ng41sT sUn. D3y R 4s b4D 4s D4 gR8 s4T4N M1cR0s0fT.
! !!!
HAXOR JIHAD!!! WHO IS WITH ME?? I WILL USE THE RESOURCES OF THE CIA TO BLOW THEIR WORLD UP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
OxMan [CIA] -0|-| No, U s3t off DA B0|\/|B, b3ttar RUN!!!
Java is largely based on pre-existing standards, too. It's full of common design patterns. The libraries are designed to wrap common OS APIs without too much trouble, so you have Socket, DatagramSocket, etc. Most of the cultural background in Java comes from Unix and C++. This was surely done on purpose; they must have wanted it to look familiar to a lot of programmers.
--
Isn't this just another attempt at Sun being like Microsoft. Kind of like the french revolution. Sure they'll help overthrow King Gates just so they can sit in his chair.
There are many superior choices for those who are willing to do a little research and not follow the other sheep.
Changes to the kernel aren't up to the community as a whole. Try and get the kernel semaphored completely. Last time this happened, Linus threw a fit.
But Java does a number of critically important things that Objective-C doesn't: Java guarantees fault isolation among software components (a failure/crash in one component can be detected reliably and cannot corrupt data in an unrelated component) and Java has a well-defined and complete reflection architecture (Objective-C's does not allow all types/methods/functions to be reflected, and it is compiler dependent).
On balance, I don't see any credible alternative to Java for applications development right now. Not Eiffel (no reflection), not Objective-C (no fault isolation), not C++ (neither reflection nor fault isolation), not any of the popular scripting languages (Perl, Python, Tcl/Tk, etc.). All those other languages are incredibly useful for specific applications, but Java has taken a well-deserved center stage for a lot of general purpose applications development.
There are differences between what Sun is doing and what Microsoft has done. (And this analogy is getting really tired of being trotted out for any company Redhat's size or larger.) First, Microsoft does not license their Windows technology to anyone. (Wince doesn't count.) This is just not true. Microsoft will license their OS to you if you have enough money. In fact, it is even possible to get the source. I believe several universities have source code to NT for use in graduate programs. I'm sure they don't allow you to give away your product based on NT, but they will license it.
Note: I have no first hand experience with this, but I have good information from several reliable sources saying this.
Sun licenses their technology to anyone that wants to pay the fees. In fact, Sun would be happy if they never had to do their own JVM implementations. They would be content to provide a reference implementation and compatability testing.
In some ways I agree with this, but not completely. If Sun wanted to never implement another VM, they would make it a lot easier to get the code. If they open source it, they will never have to implement it again. I'm not an open source bigot. I like open source software, but I recognize that currently some things need to be closed. A language like Java does not seem to be one of them. They want to control where the language goes. I feel this is the real reason Sun keeps a short leash on java. It also explains their 100% pure java program and such things.
I think Sun is a good company in many ways. I like aspects of their hardware. I even like parts of their OS. Watch out for them. They already do some scary things. Do you think you can stick a normal IDE drive in one of their IDE ultras? Good luck, It has to be sun branded.
--
Mike Mangino Consultant, Analysts International
Mike Mangino
mmangino@acm.org
> C++ sucks because Stroustrup didn't know when to quit
Why do people all of a sudden become such expert on judging a language. A professional, experienced and good programmer can surely use C++ in a perfectly nice way. Besides you're not bound by all those stupid restrictions imposed in java.
Why is Open Inventor, or Qt or any other nice OO library based on C++ if it's such a bad language.
Java is a nice language "platform independent" language. But fast? NONONO!
Just couldn't help myself. Don't mean to use my flamethrower, but I just can't stand people giving statements without foundation.
Now for the real topic. Personally I think Sun is better of without going through the ECMA Standards body with Java. They did a good job designing the language and I trust they'll do a good job keeping control and developing the language in the interest of thousands of programmers currently commited to use java. Why? Because it's not impossible for another company like M$ to create a new language and too much effort and time is invested that they can't afford anything else.
Any yes, I've got a bad carma. That's because I can't be bothered writing long, intelligent comments. I'll just leave that to the others.... (I'm to busy programming)
That doesn't make any sense. What do you mean by "Python assembler"? A Python compiler, maybe?
Hands in my pocket
I don't really understand the article, it said that Sun would have to abdicate their copyrights. Is that right or am I reading it wrong? You can't hardly blame sun for wanting to keep the copyrights to their work.
Copyright of the text of standard, not the implementation. When standard body modifies standard it must be able to modify and redistribute its text, and this requires either owning the copyright or having a license that allows making modifications and unrestricted distribution. The idea of Open Source licenses isn't known to standard bodies, so they demand copyright.
Contrary to the popular belief, there indeed is no God.
There are many worthwhile programs being written in Java. However, since a lot of the more challenging and cool stuff is being done with J2EE, especially with EJBs, you'll probably never "see" them any way. Enterprise Java is not your average crappy applet! JTS, JMS, EJB, JDBC and others in J2EE make for very powerful server-side programming. Take a look. It might suprise you. I've not programmed in Perl for months since I discovered server-side Java.
Am I missing something? Don't we already have this in the JVM (even though it's a software implementation and not a hardware one, and even though you can't buy a PC with just the JavaOS as the only OS on it)?
Currently, you can write Python, ADA, Cobol, BASIC, and others I don't remember and compile them so they run within the JVM. You want a Fortran compiler for the JVM? What's stopping you? Talk to your Fortran vendor or learn to translate emitted assembler to Java byte codes.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
I have know respect for Microsoft's compiler. How can a company make a compiler with bloated libraries that are full of memory leaks? (And people wonder why Windows sucks!)
"The best laid plans of mice and men gang oft agley..." - ROBERT BURNS
"Remember, the GPL is your *only* friend :-)."
:) The GPL is a VIRUS :) The BSD license is your real friend. RMS wants to own your code.
.sig v1.1
Umm... no
" Good luck trying to fork the language (Microsoft tried)."
It would have been OK if Sun hadn't whipped up the Linux Zealotry (baaaahhhhhh!) heard into a frenzy.
============
# Ac
&sign($AC[0]);
http://www.techweb.com/wire/story/TWB19991208S0022
I'm still working on a clever footer.
So you must avoid using C, cause you can distribute your binaries without the code?
tsk! Please, learn to read, and learn some simple logic.
---> Did you know Linux stands for Linux Is Not UniX ?
That "support for http" is really amazing. Sun has great ASCII text support though ....
You don't REALLY think that the CEO makes all those decisions by himself do you? If the Board thought he was doing a shitty job, and making stupid emotional decisions, they could fire him, just like Steve Jobs was fired from Apple. Scott's got more money than he knows what to do with, and Sun's financial performance has been really great. What does he really have to be jealous of BGates for? He cracks on MS because that's the type of personality he has, a jokester, and it sure does get a lot of free publicity, doesn't it? If cracking jokes about the "big monopoly of MS" got you on the front cover of a dozen magazines, with notes about how your company is doing pretty well... and not have to pay for it... you'd do it too.
AFAIC, Java has no integrity. I have yet to see anything worthwhile written in it, and after reading this, I doubt I ever will.
My Java has a second name, it's L-I-N-U-X.
Java was supposed to level the playing field by providing a good alternative to just-Win-development. But it's always been clunky and fat.
There is another development standard: posix. Of course posix lacks the graphical capabilities of Java, but it provides an excellent base to work up from. With the addition of X you have a fast compile-anywhere combination.
Posix wasn't ment for the PC and it took time to come through in Linux. However it has become popular Linux and that popularity has been pushing it into other areas in the PC market. It is now creeping into the Win32 world through CygWin and a number of free X servers.
Java sounded like a holy grail to chase after for the PC world when it was introduced. There are some things that the posix/X combo can't provide that Java can, but as far as I am concerned Sun can keep Java, I have all I need without it.
basically microsoft has proven that his industry comes down to who controls the apis. given the move of ecommerce towards java as a standard development platform...i'd say that as of today sun is winning the api game.
-- your knees hurt, don't they?
Microsoft don't charge $70 for partners, OEMs, developers and people who apply to be on the beta. That $70 charge is for those people who want to try, and includes limited support.
There are always ways to get things free from MS if you know how. They usually give away lots of NT server & client licenses as well as Windows 2000 betas at their seminars too, just attend, listen for a few hours and come home $2000 better off.
My favorite is the McNealy quote...
"The problem with standards bodies is... They can be very political and they need money to run and they have to listen to their constituents, which change over time."
-Computers hate being anthropomorphized.
Squeak needs work ont he doucmentation, but more commercial Smalltalks have very good class docs (and method docs, when necessary).
The reason I say this is because I'm working professionally on a Gemstone/Java project and I'm cursing the fact that I can't use Smalltalk on a daily basis... the speed/power of developing a business system with that language is amazing.
-Stu
Python by the way is also a credible competitor to Java. You may want to take a closer look at it before you dismiss it.
I have also found in my experience that perl scripts run far faster than comparable Java programs. Don't be fooled by its "scripting" heritage - Perl and Java are both simply interpreted languages at heart.
How is this a response to what I wrote?
It's a complete non sequiter.
----------
Do you think that ANSI is in charge of gcc? or Solaris cc? or TRU64 cc?
I assure you, it is not. The fact that an *implementation* of a standard is controlled by a small group of people (or even by a single person) still does not affect the fact that it IS an implementation of a standard.
Linus controls the implementation of Linux. But he follows the POSIX standard in doing so. (Not completely, but almost no Unixes do, for very good reason.)
Look at the recent false story at slashdot to give away J++ to another company. It appears that Sun wants to add more goodies to it before it is set in stone. Might make things more interesting but could allow Microsoft to destroy that language through the typical embrace and extent mentality.
Slashdot social engineering at it's finest
I did not see that IE was releasing the source.
-- We have been doing so much with so little for so long, we are now qualified to do anything with nothing.
Changes made to JAVA by Sun have already damaged a great idea. A big hole was blasted in 'the sand box' by allowing direct addressing of hardware. This may have been for good practical reasons but client side operation is so insecure many are removing the facility.
Well, I'm sure it's a completely different ISA (no idea what, though) more tuned to the things a PythonVM can do than an actual machine. Like I doubt there is a load word per se, since Python doesn't really have pointers or anything. The point, I think, isn't to reimplement, say x86 instructions and assemble them into python bytecode, but to take the lower-level ideas from Python, turn those into instructions, and assemble those.
Does the European Computer Manufacturers' Association dislike Java, or does Sun just not like the ECMA? Having never heard of the ECMA before, I'm curious how much control they have over international standards.
By the way, I hate Java. But that's beside the point.
Java has many many flaws. Thats fine, as one expects an evolving system to improve in time, you have to accept some warts at various stages. The problem is that (ignoring the obvious mis-statement that java is write once, run anywhere) java does not have a working numerical model. That is, java doesn't do math right on all platforms. The designers of the language seem to have forgotten that different numerical hardware behaves differently, and needs a consistent interface to set up correct rounding, precision, and other issues such as trapping floating point exceptions.
One can run a java program on a RISC machine, get one answer, and run the IDENTICAL bytecode on another machine and get a completely different answer. All this courtesy of an incorrect interface to the floating point hardware.
Alrighty, lets get the standards body to fix it, as Sun appears to have no interest in making it work properly. Whoops, cant do that now.
So here we have a language, without the ability to properly do numerical calculations on floating point numbers. I strongly recommend perusing W Kahan's paper on this.
A real standards body would, could, and should fix this. One may do that now, or they may not. Either way, numerical computing, HPC, and other related work on Java is now dead.
Thanks Sun. First a poor design, then no way to fix said poor design.
No, you are completely wrong. Sun doesn't remove method calls; Sun deprecates them. When you try to compile you will get deprecation warnings, but it will still work.
And anything that is already compiled will work, too.
Mike
Seriously, I don't expect this to be a huge problem. In fact, now Sun pretty much has to ensure backward compatibility and a slow rate of change to the language, or they alone will face a worldwide mob of angry designers. I don't think Sun's original goals have changed, and the possibility of relationships with other standards organizations still exists.
On a related note, things like Verilog HDL aren't formally standardized, but the world happily uses them anyway. I'd say keep using Java (though you may not want to throw away your "C++: How To Program").
The language spec, while good, is incomplete and outdated. There is no library spec publicly available. The two-volume (plus supplement) Java Class Libraries set from Addison-Wesley is pretty good, but they have many errors and by no means qualify as a specification: There is way insufficient information to write a compatible implementation (though they help). (I speak from experience as the former technical lead for Gcj.)
The documentation for Swing is even worse, with no real documentation out there beyond the very terse javadoc-generated api documentation. I have found one book (from O'Reilly) that goes into any detail on the Swing text classes.
My question would be is any other programming language besides Javascript part of ECMA?
VBscript I do believe stands on it's own and I think Java should too.
Many companies have been using it for a few years now and I don't believe this will change much of anything except in the minds of some programmers. There was an interesting piece in PC Week (this week's issue) about Java and the standards process.
My $.02 right or wrong.
Web Developer
You don't have to look far to find superior interpreted OO languages that offer "safe execution" - you just have to be willing to be an individual and not let PR people tell you what tools to pick.
There are differences between what Sun is doing and what Microsoft has done. (And this analogy is getting really tired of being trotted out for any company Redhat's size or larger.)
First, Microsoft does not license their Windows technology to anyone. (Wince doesn't count.)
Sun licenses their technology to anyone that wants to pay the fees. In fact, Sun would be happy if they never had to do their own JVM implementations. They would be content to provide a reference implementation and compatability testing.
Hmmm... Microsoft does license Windows to people - many universities have the source code. So do many companies.
Microsoft charges for everything.
Sun gives JDK, JRE, etc. away for free... and has even made the JDK more free.
Sorry, but that's complete and utter rubbish.
Microsoft gives away all kinds of things for free, including a C & C++ compiler, assembler, over 2GB of sample code, documentation and libraries, plus lots of other freebie tools. They give away more than Sun has given away by a factor of 10, and have done so for YEARS.
You might want to check out http://msdn.microsoft.com/ some time... you'll be surprised (well, I don't know that for sure - but going off what you're claiming in your post, you'll be very surprised by the reality of what Microsoft gives away).
Simon
Coming soon - pyrogyra
Take Mesa for example, it has not passed any OpenGL standards and aside from not being able to call itself OpenGL it works fine as a replacement to OpenGL. The problem lies when companies like Microsoft begin to "enhance" the platform, but Sun already sued MS's arses for that so not to many people are likely to try it again.
International Standardization has NOTHING to do with Open Source. It says anything named Java has to stick to these set of standards.
Imagine if every C compiler treated chars differently.. And some called them characters, others called them strings, and yet another called them something different.
-- I'm the root of all that's evil, but you can call me cookie..
Huh, what are you talking about? Well written Java code with a good JVM and JIT (neither of which are hard to find for most platforms) performs just as well, on cheap hardware.
Here's an example (from: http://java.apache.org/faq/fom-serve/cache/300.htm l)
And we're a quite busy site (The Norwegian Yellow Pages) serving almost 200 _servlets_ each minute at peak times. This on a single processor P-II 333, 384MB of memory, RH 5.2. The load never reaches 1, even at peak times.
Mike
-- "So, what's the deal with Auntie Gerschwitz et all?"
I set up a mailing list, got a group going, and we started to go into our design phase. We looked at the new features that were going to go into 1.2 and decided to wait for 1.2 to come out and the spec to settle down. We shelved the effort until that point.
We never started up again. The java spec went all over the place and I decided that I didn't like Java for one of the same reasons I don't like Microsoft -- I don't want to be a member of the API of the week club. I have better things to do with my time.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
I think Java could only be helped by removing it from Sun's control.
The difficulty with any language or standard which is controlled solely by a corporation which stands to profit from its control is that the company will naturally move to protect its control.
Other companies (Microsoft!) will move to undermine control or use of that standard, regardless of technical merit.
This only undermines the advance in computing technology as major corporations fight over market share rather than promoting the best tools available.
Doug
Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
Java is an object-oriented language, that has
tie-ins to be able to run "safely" in a browser.
It is NOT just "a web applet language".
So saying "java is a bad idea, because I dont
like applets", just shows you dont understand java.
I've written approximately 30,000 lines of
java code, that thousands of people use, and none
of it is in an applet.
How much java code have YOU written?
Being platform agnostic is useful, but only to a point. Squeak takes it a bit too far to be really effective.
Why is it that when a slashdotter says Microsoft they usually get moderated as flamebait...
Bu when they say M$ it isnt. Sometime I am awed by some of the responses in slashdot, there are some really intelligent ppl. Bu come on Im sick of getting moderated down for not insulting M$, and exalting linux.... losers........
LET THE MODERATION BEGIN
sorry to the people who trusted Sun. of course people will keep on going back to Sun just like wives who get beaten go "oh he's not really bad i'm going back to him". one day they end up dead. but anyways. go back to Sun, Microsoft, IBM, AOL, Netscape, Dell, Redhat, Compaq, DEC, Cygnus, and whoever else you want to. And I will still say "sorry" two or three years from now when something like this happens again. meanwhile some GPL projects will just be itchin for volunteers.
Huh?
There's no such thing as an "Open Source Language".
"open source" applies to binaries, and
source code thereof. Hence "source", in
"Open source".
A programming language is a specification.
What you probably mean to say is, "we need an
open source JVM".
Oh, wait a minite, there's already one or two
for java. Guess you dont have anything to worry
about then.
Well, Bertrand gave control of Eiffel over to a non-profit consortium for Eiffel (NICE) some time ago. Although it is true that Bertrand still has (and IMO should) to say about the future of Eiffel.
If they are just goign to pull the plug on it as you (and the other slashdotters) seem to think, then why are they goign through the trouble to get a Mac port for it?
Took a quick look at Python... hmmm... * The list/set stuff in it is cool and reminiscent of Haskell... * Multiple inheritance! Eeeek! * The lack of decent variable and method qualifiers (ie public, private, protected, etc, etc) is VERY disturbing... I think I agree with Guido's assessment - Python is the glue, Java is the details.
Frankly, the international standards buerocracy and its secretive money culture is not fit for the information age.
Modula II, which was standardized to death in deadlocked comitees is one exmaple.
Or, just think of how the internet evolved despite of and often against the ITU/CCITT bodies.
Virtual machine-type things have been around forever (AKA since the 60s or 70s when so many language and OS features first came about)... although this ANDF thing sounds kind of cool, I can't believe that Gosling or whoever first got the idea from that.
Even an interpreted language can be twisted to some form of unreadable bytecode, Nabuchoriso.
Still, there is a clear connection between interpreted languages and free software. I just wish you could see it.
I thought we were talking about that connection, but your pathetic attempts to turn the conversation towards my reading and logic skills are frustrating.
Alejo.
gcc decisions, and linux kernel decisions, are made with the only motive being a better compiler, or kernel.
java decisions, as made by Sun, will be made firstly to make Sun's stock more valuable, secondly to make Sun more profit, and thirdly to make it a better language/cross-platform environment.
Sun's "pragmatism" results in more money for them, at the expense of java developers. Linux's pragmatism results in a better kernel.
Non-trivial, yes. GUI, yes, but with less successful results. We have had excellent success with reasonably involved apps (~20 classes, LARGE memory runtime footprint, high trans/sec counts), but these are processing/reporting apps. There are inconsistencies in GUI displays and behaviour, but these work out to be 1/2 the fault of SUN, and 1/2 the fault of a programmer not appreciating the essence of the portability in the framework of Java and Swing. Dallas Hockley
You assume much about Sun that isn't necessarily true..
You assume that Sun will make decisions for the best of the language, and for the best of those who use it.
However, Sun will make decisions based upon making Sun more popular with pointy-haired types, and investors, and making Sun's stock price go up.
The best thing for the Java language, to make it popular, would be to release a bunch of code with a real open source licence, not the SCSL. However, Sun has to keep control, in order to reserve the option of milking more money out of it.
That's why a standards body would be better. Sun wouldn't have that last-resort lever to pull; preserving their copyrights, trademarks, and other "intellectual property".
Curl Corporation
You'd be better off with perl or scheme in your search for a portable language. I'm hoping someone embeds a Perl interpreter in Mozilla at some point. I'd take that over Java any day.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Sure there are. The development processes for perl and python are completely open. You can write emails to the language architects. You can read the mailing lists where they hash out all of the details. You can influence the design if you know what you're talking about. You can even become a core coder for the interpreter if you show you're good enough.
Both these languages are developed in an open, receptive fashion. There are no silly licenses, no "strings attached" agreements, and you are free to download the source for yourself and create your own private copy that can be different in any way you see fit.
Hello all,
My section at the university is developing most of it's stuff in java. A good, stable, widely-accepted version of java seems to me to be of extreme importance.
Could anyone give me some insight in the badness of this move by sun for the users of the language. Will IBM save us? Is the language doomed? Please tell me.
Reinout
Reinout van Rees
Looks like there is a lot of FUD and ignorance about Java amongst the Slashdot readership... the pro-Java readers (of which I am one) may be a bit gung-ho at times as well. Perhaps we should have an organised debate about the merits of Java, and Sun's approach to OSS and standardisation?
Excellent move on Suns part. The second you let those kind of wining complainer types that love to sit on governing bodies is when you can start to dig a grave for the language. Go SUNW! It will hit 100 by year end.
I can't understand the number of anti-sun post I've read so far. What is so wrong with wanting to keep the language in house to promote backwards compatibility and a uniform implementation of the language across all platforms?
Even though the STL and commands like static_cast, const_cast, dynamic_cast and reinterpret_cast are standard, how uniform is this implementation across platforms? I would rather have one strong vendor control the language and fight off those who seek to pollute it (hi Bill) than see a standards body bicker endlessly over what features to add and eventually fill the language with contradictory, dangerous and sometimes unnecessary features.... a la C++.
This is what MSFT has done and VB is now acknowledged to be the most widely used programming language in corporate America (sad isn't it). Pity no one sees fit to drag MSFT to a standards body so they can implement their own VB? Maybe VB jusn't isn't worth it...and Java is.
Bad Command Or File Name
Yeah... since when do they open standards? Maybe since they have realized that they have problems with the judgement because of monopoly?
Anyway. I think a world only with Sun or only with Apple (or only with AOL) would be as sad as a world only with Microsoft.
Imagine if a software company makes a killer app in java(or any other platform independent language). Then you can toss your Mac, Windows, whatever out the window the day you want to change hardware/os and continue work without having to buy new software! For big a company this means they can cut a substantial amount of money from their costs whenever they uppgrade/change hardware/os and the biggest advantage would be that they could change os in a blink. Thus breaking the application wall that Microsoft has built up without having to port anything. This would truly iron out the battleground in both the hardware and the software market. BUT, and there is a very big but, if someone alter the java spec to be hard to port or even platform dependant then all the above advantages are non existant, leaving java as a slow competitor to c++ and Visual Basic. Thats what Microsoft has been trying to do and what suns been afraid of. We should really try to support java and every technology thats hardware independant to be able to break free from todays limitations in the PC industry. Development wont be able to really advance until we drop todays (1979, 8008 cpu) limitated hardware. A PC today is really just an 8088 stuffed full with workaruonds to bypass all sorts of old techs.
examples: MainSoft, Citrix, HP
I know lots of people will flame me for saying this, but a man needs to say what he feels needs to be said. Sun is more than capable of acting just like a corporate spoilt brat as Microsoft is. The last few years has seen Sun pushing the hardsell on the computer industry about the benefits of java by it liberateing us from MS control, however unlikely a proposition this looks today. The problem here is that when salvation from MS finaly comes do we want the replacement to be just as bad.
I'm having flash backs to "Animal Farm" here (not that one you perverts! the G.Orwell book), it's a really gnarly political satire look at the rusian revolution and how it basicly changed nothing in the long term.
Vive le revolution!
They already tried ISO, and they walked out on that as well..
This was their last chance..
-- I'm the root of all that's evil, but you can call me cookie..
It is only when the control is too tight that programmers and users suffer.
Actually, programmers and users could suffer if they have no recourse if the maintainer happens to go off his/her/its rocker. With Linux and other open source projects, you could split and start your own project. You have the code. It doesn't matter if Linus goes insane one day and decides that we should implement a talking paperclip as an integral part of the kernel. Everyone can just turn to the next sane person who can take the reigns and pick up right where Linus lost his head. Everyone will follow this project and it will supplant the old.
Is that possible with Java? I've seen many people say that there isn't enough info to create a complete implementation of Java. Even if they did, could they do anything with it without being sued? I'm truly curious about all this. Anyone got the answers?
It's not enough to bash in heads, you've got to bash in minds. - Captain Hammer
If you want a choice of different flavours like you have with Javascript or HTML, just entrust your baby to the standards bodies and they'll do it for you in no time at all. They have as much clout (and probably as much will) as a ball of cotton wool when it comes to standing up against someone who wants to make a quick buck out of messing about with standards. So if you really want to be able to choose from Visual(TM) Java, - -Java, turboJava, MacJava, Slot1Java, JavaStick, JakartaBeans, Sumatra... go ahead: give Java to ECMA. If you want a boringly uniform Java on the other hand, give it to someone who kicks arse and SUES!!
Adam:What kept you?
God:Rome wasn't built in a day
I thought they claimed copyright on the language itself...
They must have joined this clown's "Hacker Jihad" (if I'm reading that post correctly) and secretly sympathize with his work. I'm sure they're looking for members, so why not join, too? Of course, you'll need a CD key to do so...
Todd Hollenshed - Quake2 CTF GuRu
"I played far more Q2 CTF than DM, but I still call Outlands by it's DM name - Strike."
That is a real nitpick. Primitive types are their for speed and we all know why references (aka pointer) are still around.
According to the article Sun thinks Java can stand on its own. In other words, Sun is saying "We don't need you anymore; we write our own ticket from now on" to ECMA.
They seem to be saying "we don't need you-you need us" to developers too (SCSL?). They might have been better off not portraying themselves as the knight in shining armor, then abandoning that role once it had any disadvantages (at least short-term). At least with Microsoft, developers have no illusions about motive; you know what you get there.
There may be a lot of scorned developers out there who react like they have been betrayed by Sun. If that happens, we will find out if Sun "doesn't need you anymore."
This poster is a fake. Notice the period at the end of his name.
My user # is 57473.
Bjarne's C++ language was limited by being a strict superset of ANSI C. This is no longer the case, but was necessary 10 years ago to be accepted. He also did not want to impose an intellegent linker upon C++ vendors so that they could continue to use their crude one-pass UNIX linkers. With the proliferation of C++ templates, every vendor had to rewrite their linkers anyway. Basically, C++ was not very rigidly defined so that it could work on the most broadest array of hardware and operating systems and get to market quickly. This lack of rigid standards (such as sizeof built-in data types) is C++'s greatest strength, as well as its greatest weakness. Sometimes ANY STANDARD is better than NO STANDARD - even if it is flawed. This way people can forget about politics in order to do productive work. Java may very well prove to be a Win32-like pseudo-standard.
You're probably right even though to be exact AFAIK the ISO/ANSI C++ standard does not contain anything called 'STL'. Despite that having used the various implementations of the C++ standard library and its partial predecessor STL since 1996 my experience is that they been very useful.
This will hurt Java in the short-term since it will be more difficult to develope code that will be portable to [the now non-existent] Java 2 standardized platform. However, I don't think that this will negatively affect the Java language itself in the long run. Java as a language will live or die on its own merits, of which I believe that it has many. It is a type-safe language built from the ground up to support OOP. For thirty years, C has withstood the test of time despite not _ever_ having a standard platform; the same assessment applies to C++ as well. A careful programmer can exploit the benefits of the language while mantaining portability and efficiency using the same methods that he/she have always used. Sun's decision will probably help Java in the end because of this.
--
Flames? Think I'm a karma whore?
ANDF stood for Architectural Neutral Distribution Format. It was an idea 10 years ago to compile code of any langauge to a synthetic CPU, and if you wanted to run this program your OS would provide a loader for this program and compile it on the fly to a native program. Sounds like Java's Virtual Machine? It should - that's where Gosling got the idea in the first place. ANDF was featured in the September 1991 issue of UNIXWORLD magazine.
The thing is - I wish the ANDF project was resurected and completed so that C, C++, FORTRAN, COBOL, ADA, whatever could be run on any architecture at all from the same ANDF executable binary. It would be a lot easier than the JVM - you would not need garbage collection, for example. Maybe I'll look at the GCC sources and give it a try.
Currently, Java developers have no protection against this.
The primitive types have a massive impact on Java's library design, robustness and program clarity. Java could have been developed to be almost as fast without them and would have been a lot better for it IMHO. Have a look at: http://www7.software.ibm.com/vad.nsf/Data/Document 2712 for a good take on the issue.
Tom
After seeing what the standardization process did to VRML, I can see how this will be good not only for Sun but for Java also.
The standardization process for VRML allowed input from all kinds of people. Some of these people were 3d engine writers who found that they had a hard time implementing some of VRML-1 features. The result? VRML97 cannot do some things that VRML-1 could. Obviously the later version can do more, but there was no rational reason for them to go backwards in some areas and forwards in others, except the fact that it was put together by a committee.
Sun is not stupid. They realize that great ideas and innovations seldom come out of committees.
Suppose they decide to come out with a later version of Java that's not a byte code, but a compressed 32bit word code (maybe this would have some advantage in processing Java VM instructions, maybe it wouldn't, it's just a hypothetical.) Now, if this were in a standards committee, you can be sure that a lot of people would push to specify that the VM be little-endian, because that's how intel is. But then Sun would have to kludge Java to make it run better on its own big-endian architecture.
How would such a kludged, hodge-podge language benefit the Java community?
Besides, the standard for the Java VM is Already Open
AC as always... you know why.
comments@vrml3d.comThat sounds an awful lot like Internet Explorer doesn't it?
It looks to me like Sun is looking for a standards body who will put their name behind Java, while letting Sun handle the actual "standardization" process. Unsuprisingly, they're not finding a body to do this.
So, who's left? I seem to recall they've already tried ISO, they've tried ECMA, and they're sure to get the same reception with the IETF.
This article (in german) tells us that "the head of technical commitee 41, Michael Wheatley (IBM), possibly wants to continue with the standardization of Java even without Sun's support.
You call this worthwhile? Photoshop, 3D Studio, and almost every app you use are written in C++.
Whenever Sun renames or removes a method as they've done coutless times since JDK 1.0.2 - they break binary compatability. Say what you will of Microsoft - but they've never orphaned an API call - never. They (painfully) know the meaning of backwards compatability. Sun could learn a thing or two from Microsoft's software.
It can use Java if you have it, and on some systems comes with it's own copy of the JVM. But then Netscape uses Java too...
It isn't written in Java and can run quite happily without a JVM on the system - as it does on my RedHat6.1 home PC.
I can only assume it's because it's so slow and such a memory hog that people make this assumption ;O)
Hey, I am serious about this. If what they want is a living product CoSource.com should be one of their wisest options. But AFAIK SUNT don't think any more Open-Source than MS. Too bad for them, too bad for our community, too bad for Java itself.
-- We provide Zope consulting from US$ 25 hourly!
Sun has profited immensely from open standards, but refuses to allow others to benefit in the same wway they did.
I recall first using JDK 1.0 in 1995. Where do you get 6 years?
Save the whales. Feed the hungry. Free the mallocs.
Java is not doomed, but it will remain a non-excellent server technology, and a lousy client technology under the direction of Sun. Microsoft would have been able to turn it into a decent server *and* client technology.
I guess they own the trademark, and a bunch of the code that's out there... but do they own other intellectual property involved, or is everyone simply worried about fragmentation?
Why doesn't ECMA simply go ahead and standardize the same thing under another name... perhaps the contracts that the current players in the Java industry have disallow them from going it "together" against Sun alone?
See, I'm speculating. It would be nice if someone who knew the answers could chime in.
Is Python bytecode really that low level? What if you wrote some Assembler code that simply loaded a register and nothing else? Could you actually map that onto valid Python bytecode? Surely, for any given machine, there are opcodes which have no equivalent in Python bytecode.
Mapping a higher level construct to lower level constructs is not a problem, that's what all compilers/assemblers do. Going in the opposite direction doesn't make sense, though, since a low level construct can be simply too fine-grained to be representable at the higher level.
3 years ago or so when I was first learning to program my dad and just about everyone was "learn Java its the future language," "have to know Java to get anywhere in computers," etc. I looked at it and really lacked the discipline/desire to sit down and learn a language that to me looked slow runnning, and overall not really the next thing. I have since never taken more than look at Java and depending on what this does for the future of it I just might be glad that I never wasted my time picking it up.
Python is distributed under a BSD-ish license that allows people to fork off their own, if they don't like what Guido is doing. In fact, this has happened several times (Ka-Ping Yee's extensions, Viperi, Stackless). Because of the way that the language is set up (small language, rich modules), it's unlikely that a corporation will be able to usurp the language by adding in rich proprietary features and not distributing the code. It's very possible that one might distribute nice closed source modules, but that could happen with any language. Aside from the fact that it's non-GPL, RMS probably wouldn't complain about the control issue.
The Java Virtual Machine is very good at hosting Java programs, LISP, Scheme, REXX and other programs that do not explicitly reference memory - but when you absolutely MUST reference memory directly as in C/C++, FORTRAN or Pascal - the JVM is not up to the task. This is why Sun's own PicoJAVA chips included extra instructions so that C/C++ programs could efficiently run on it. Sure, any Turing machine can be mapped to any other Turing Machine - but not necessarily efficiently. To make C run at all on a JVM with its pointer arithmetic you'd have to allocate one huge array and work from there - clearly performance would suck incredibly. Too bad there is not a language-independent virtual machine without the strict restrictions of the JVM that could host all historical langauges efficiently.
However, less marketing dollars are spent on getting this fact in everybody's head. (unfortunately)
"...but there's not much that can be done to obfuscate the bytecode, so decompiling is relatively easy."
Maybe the bytecode might be more readable than the Python sourcecode...
${YEAR+1} is going to be the year of Linux on the desktop!
Hellooo Perl and PHP!
This post encoded with ROT26. If you can read it, you've violated the DMCA. Handcuffs please, sergeant.
Sun? Integrity? I must have misread it.
Why would you be tracking a variable through 6 methods? (Encapsulation, ahem.)
As for obfuscation, are you telling me that it's easier to read a C program because it has types? Even a C++ program?
The Smalltalk class libraries (including Squeak) have some of the tightest, simplest & cleanest code ever written.
-Stu
ECMA standards have a habit of becoming ISO standards once the whole of europe (i.e. half the western world) starts using them...
Sounds pessimistic, but this pretty much means that Sun will make themselves the single source for language developments, which essentially puts you at the mercy of one vendor, which is generally bad.
is at http://java.sun.com/pr/1999/12/pr991207-08.html.
It's very unclear, but it sounds like they are complaining about patents or the like.
You must have last checked about 18 months ago, then. Most modern compilers now support the STL.
Scott McNealy and Bill Gates have much more in common than is healthy for a grown man. I read an interview with McNealy in a German magazine a month or so ago, and I couldn't believe what a pompous ass the guy really is. He was talking about his Java Everywhere "vision", and when the interviewer brought up security concerns regarding personal privacy (or lack thereof), McNealy totally lambasted him. He went on about how Europeans are such unreasonable freaks about personal privacy and how they want to regulate every last aspect of life. He went on a serious rant against Europeans well beyond the scope of the interview. Since ECMA is a European body, I wouldn't be surprised if that played some part in Sun's decision to withdraw Java. Pure speculation, but McNealy strikes me as the kind of capricious guy that would let personal feelings dictate the course of an entire company.
So far, Sun's Java specs are explicitly open: you can use them to build your own compatible implementation (you just can't call it "Java"). And Sun's Java specs are detailed and quite complete. This is in stark contrast to the Win32 API specs, which are so poorly documented that for practical purposes, it's not possible to make a complete independent implementation.
However, dropping the standardization effort also is bad PR because it gives the impression that Sun is renegging on their commitments.
One point of concern is that Sun every now and then seems to make some fuzzy claims about intellectual property related to the Java APIs. No matter who drives the evolution of the Java platform (Sun or a standards body), those parts of the Java specs would clearly not be acceptable to most users of Java, and that is something users need clarity on up-front.
If Sun does make IP claims related to parts of the APIs (rather than their implementation), that would be a serious matter and would have to be identified up front. That is a point, I think, Sun needs to be pressed on so that we don't end up in a situation analogous to GIF/Unisys. Those APIs would likely be only a small part of the Java platform and easily replaced by alternative de-facto standards developed outside Sun.
And I wish.
The "land of the curly braces" seems to be infatuated with speed above all else, static type checking, and syntactic sugar over a usable language.
I'd love to see ObjC to resurge, and I'd love Smalltalk to come back too, but I'm skeptical, at best. Java isn't HORRIBLE, it's just in-between.
-Stu
Fragmentation? I wish people would look at the current state of OSS before they started bandying about the word "fragmentation". Same goes for people crying about RedHat making money off of other people's efforts. RedHat may make money, good for them, but you can always download RedHat's distro for free. If anyone, despite their insane market capitalization, wanted to fragment Linux or any other OSS project, they'd find themselves alone with a loss of clientell and probably sued for violation of the GPL. And finally, on portability and other vendors- what makes anyone think that Micro$oft's bastardization of Java was bad? How many people are going to code for Java and not do it in a cross-platform fashion? It's not as if Java is what a Windoze program would think to use in the first place. In that case we're talking VC++, VB, Delphi, et.al.
Add Python and you'll have the cross-platform bytecode, too!
Look at how long it took to complete the C++ standard. I still expect a lot to happen about Java in the next years, so a slow standards body would actually be a Bad Thing.
It was going back to the original point,which I think was missed, and to be fair, in retrospect should have had a sarcasm tag around the body of the message: just because one person or group, controls a project, it doesn't make it a bad thing, as long as the people have a vision for what they're doing. Gosling/Steele do, Linus does. Both are good things.
This is just one example of how JAva is fractured.
Knuth wrote somewhere that he reckoned it would be relatively easy to port the HURD to run on a MMIX machine, a concept which intrigues me, to say the least. :)
I've been to many JavaOne conferences, and a few of the other presentations when this topic comes up. All kinds of people have their own little pet additions to Java. Multiple inheritence is one. Do people miss it? Sure. Do they need it? NO. I've been programming in Java professionally for four and half years now (since the day it went public). I've never ONCE run into a situation where I've been stopped by this. And you know what? The code is cleaner because of it. Say what you want, but multiple inheritence is just a huge mess for the next poor slob that has to maintain the code.
What's the point of that rant? Without Sun (and mainly Gosling and Guy Steel) holding the reigns on the Java up until this point, all kinds of confusing crapola would have been added to the language (just look at what Microsmurf tried to add), and it would have gone from a simple, elegant language to a huge mess.
I think Sun (specifically the team of people that keep an eye on what to add) has been doing a pretty darn good job so far. Without the people who knew from the beginning what the original intent of the language was, Java would have degenerated into a mismash of crap.
The 680x0 instruction set is very conducive towards making a nice neutral virtual machine - lots of registers, orthagonal operating modes, simple syntax - all and all - easily retargettable to another chip. Many emulators exist for it, not least of all: Apple's own PowerPC-based 68030 emulator. When do we start? ;-)
This should be common sense.
Yes, because pure Java SUCKS ON THE CLIENT. And McNealy wants pure Java EVERYWHERE. Seems pretty inconsistent to me.
Just building SML on my BSD box was an aadventure.
Very true. Let's not also forget to look at just what ECMA has done for JavaScript compatibility. Very little. I see at least three different implementations out there, probably a heck of a lot more. All need to be ``written to''. Sigh.
Your statement is ludicrous.
If Java is opened up and standardized then every vendor AT THE VERY LEAST will have to implement the standard. It's no different from C compilers needing to be ANSI compliant except that Java also has a large and very comprehensive set of STANDARD libraries as well that would enable a most code to run anywhere.
So where's the problem? If you want to code cross-platform just use the standard and none of the proprietary extensions. If you want to write Java that does some tricky platform specific stuff then use the extensions that the vendor provides to do the job.
I'm posting this anonymously because this may be a very obvious question, but here goes anyway. Sun was screwed by MSFT embracing and extending Java, so naturally they're skeptical of throwing standards out to everybody. But is there some legal way they can promote the standard for public use, but copyright the name, of sorts? What I mean is, can no company say "Java" on their product, unless it adheres in accordance to the standards that Sun set? This could prevent companies from calling a product "Java", "Java Compiler", etc, unless it is in true conformance with what Sun meant Java to be.
Well, we could just use "TLA" as Tender Loving Acronyms"....Would cover more ground.
Eh? I dont see the conection between interpreted languages and Free Software. Only because you have to distribute the source of your program to make it run on another machine, it doesnt mean It is Free Software.
:)
I can distribute my Python, Perl or Lisp programs with a propietary license. I can distribute my Java programs with an Open Source license
Sergio
---> Did you know Linux stands for Linux Is Not UniX ?
I don't know how you can say Python isn't all that great at write-once run-anywhere (by the way, trademarked by Sun). I have quite a bit of Python code I run without changes on Linux, Windows, and Mac.
"Integrity" is such a nice word, innit? It gives you the warm fuzzy feeling that there's somehow something pure and holy there that's being kept sacrasanct, out of the dirty hands of the teeming masses. Sun Microsystems, noble defenders of the "integrity" of Java2, stalwart bastions of truth and light against the unwashed heathens that would taint their singular manifest vision.
Merriam-Webster defines integrity as, among other things, "an unimpaired condition : soundness." So, Sun is protecting Java2 from the "impairment" of the standards process. Standards are somehow "unsound." Sun is saying that Java2 becoming a standard will somehow innately taint, corrupt, or poison the platform.
Merriam-Webster also defines integrity as "firm adherence to a code of especially moral or artistic values : incorruptibility." Aha. So Sun keeping Java outside of the standards process is an issue of morals? "It's a moral decision, Doc, and I'll stand by it." Sun-as-priesthood, handing down proclamations on morailty to the ignorant masses who are too immoral and corrupt to See The Java Vision(tm) themselves.
Finally, M-W defines integrity as "the quality or state of being complete or undivided : completeness." Here's the cruz of the matter: control. The One True Java, Sun's Java. The Java Above Which There Is No Other. I-AM-Brand Java. Thou Shalt Not Worship Other Java's Besides Sun's. Sun fears the fork, more than anything.
None of these observations is earth-shattering news, but it's interesting (to me, at least), to look at how Sun has doctored and spun this story with the use of that single word, "integrity."
--
Java promised us a compile once, run anywhere solution, and for a few years, it looked like we would get it.
Well, we didn't; and we aren't going to out of java, not for a long time.
I think its time that we consider abandoning java, and starting up a new program. The real wonder of Java is, and should have remained, its virtual machine, and if Sun had developed a robust VM, and kept it seperate from the language, then developing for the VM would be just like developing for any other computer archetecture, and we could have used our languages of choice and cross-compiled to the VM.
In addition, an independant VM would have less security issues than a merged language/VM, and it would become easier to maintain the sandbox.
In conclusion, we need an OS VM, and you can write C, I will write C++, and my buddy will write Fortran and Assembler, and they will all run on it.
-Crutcher
-- Crutcher --
#include <disclaimer.h>
Heh yeah. I really liked how MS charged $70 for a time limited copy of Win 2000 BETA. Microsoft gives things away that will benefit them by giving it away, Sun gives things away that only kinda sorta benefit them by giving it away. Take StarOffice for example. Sun paid megabucks for the company/program, and they give the office program away for free.
I'm not sure turning Java over to a standards commitee would be a good thing. Commitees move slowly, they bicker, and ultimately there's no legal reason why individual companies have to abide by the standards (e.g. C). For something as politically charged as Java, it's possible that we may need a company like Sun behind it to sue companies like Microsoft that deviate from the standards. Yes, Java needs to be more open, but I don't think turning Java over to a standards commitee will make things any better than they are now.
> VC contains a fairly standards-compliant compiler
Yeah right.
Have you ever tried compiling a windows program with all extensions disabled? ( Projects > Settings > C++ > Category:Customize > Disable language extensions)
Read some of the C/C++ Users Journal to see how broken VC is.
VC won't accept const definitions inside a class, hence you must resort to the old enum hack.
Templates are horribly broken. i.e. The compiler skips right over it unless it is explicitly used. *SLAP* BAD COMPILER!
Granted now that the C++ compiler implementation is FINALLY settling down, things should get better, but ALL C++ compilers have quite a ways to go.
IAASE (I am a software engineer)
Cheers
I never missed MI, but that's just me. Some API classes emulate MI by using several interfaces that a class must implement.
You're absolutely right about the simplicity and elegance - it really hurts to look at a medium-sized project in C with tons of ifdefs and other crap like that once you've worked with Java.
So, I guess Perl and Python should be turned over too, eh? Man, look how junky those turned out to be without being part of a standards organization!
Now, the next thing to come down the pike will be that the latest-greatest-snazziest JVM will only run on Sparc hardware.... and Scott's conversion to the Dark Side of the Force will be complete. Only problem is, unlike Bill, Scott's platform actually runs on 64-bit architecture... this boy is going to be our scourge well into the 21st century. *sigh*...or at this point even Word Perfect, not to mention Applixware.... I would rather pay good money (and with these two apps, not a whole hell of a lot) for a proprietary product I knew was going to be supported in five years, than download a freebie knowing that Idiot down there in Mountain View was going to pull the rug out from under me just as soon as he thought he could get away with it....
Ah, well. Vote with your feet.
So it's off topic, a little. If you got the points, use'em. If you don't, well, that's just too bad, isn't it?
Linux is not Unix, but it does not matter. Mesa is not OpenGL, but that also does not matter. Why does everyone want to make "Java" an open name? Why should Sun open their source to Java?
If OSS is incapable of developing a project as complex as Java, OSS obviously isn't to be taken seriously by Sun anyway.
Why does this cause such an uproar? C++ has the STL, now part of the standard C++ language according to ANSI/ISO, but how many compilers actually implement it? Last time I checked g++ was the closest with only a partial implementation. There's a big difference between saying there's a standard and actually seeing one and getting to use it!
"The best laid plans of mice and men gang oft agley..." - ROBERT BURNS
Just a thought here... But the article mentioned refers simply to ECMA standards. How significant is it that Java is not "ECMA compliant"?
Put another way, is Apache, Perl, Python, Linux, GNU, or anything else commonly used in the Open Source domain "ECMA compliant"? I doubt very many things are, yet that does not stop us from using them. (Ironically, Microsoft's JScript is more ECMA compliant than Javascript...)
There are many obvious licensing differences between Java and the technologies I list, but they have their mutual "non-ECMA compliant"-ness in common. ECMA is irrelevant to whether or not I use Java or anything else.
Just curious--who *does* ECMA honestly matter to? The obvious answer is Europeans, but is it as significant as say ISO? Also are there any industries, such as telco or anything else, where ECMA is particularly important?
Screw Java, put some effort into GNUStep. It's everything Java wishes it were, minus cross platform bytcode. It's like a JDK that actually makes sense and doesn't grind your system to a halt...
Now that they own StarOffice, is this move an indication of things to come. IE. will future versions of StarOffice only run on SUN's Java VM?
ABIWord is looking better and better.
Finkployd
"Sun gives things away that only kinda sorta benefit them by giving it away."
You have to realize that Sun's CEO is so full of his hatred and jealousy for Bill Gates that he will continue to do stupid stuff to try and bring him down.
$AC[1]
Unfortunately with standard bodies, you get way too much politiking. This company wants something implemented this way. This company wants something implemented that way. The group decides to implement it as a combination of both ways, which is ACTUALLY worse than either method alone. Let's look at a heavily standard influenced language. ADA, need I say more? Argh, nice ideas, but try writing a compiler for it. Sometimes simpler is better.
Josh
"Yeah whatever, like I said, MS is the best developer support company, and that's why I continue to develop for windows."
Agreed. Windows is far and away the best choice of OS for the small development compnay.
* The target market is HUGE
* The developer support, online and in print from both MS and the "community" is HUGE
* Tools are mature and cheap if not free and excellent. Borland's Delphi is a GREAT system
* NT is a very, very stable developer platform
If I want to build a web app, then I might struggle to chose between Python/Apache on NT, Python/IIS on NT, or Python/Apache on FreeBSD (Linux is too unstable for us).
For any desktop app at all, Windows wins.
As a side note, Win2K is looking VERY good, and extremely stable on our boxen.
Without the small developer Windows is dead, and MS knows it. Make all the noise you want about the "undocumented" system calls, but MS LOVES outside developers.
$AC[1]
"That's why I can write the c/s app on Linux, and run it seamlessly on Digital Unix, Solaris, and NT/Win98 without any sort of port or recompile."
Have you actually TRIED this with a non-trivial program?
We have, so have many others. It's broken. Seriously broken.
$AC[1]
Take a look at JOS. It is an open-source project and if you really understand it, you will know the real power of Java
Has a more efficient system of byte codes, by Nikolaus Wirth www.ics.uci.edu/~juice
We now return to the regularly scheduled threads.
It's the "integrity of the investment in Java". Period. Standard definition. "Soundness, completeness, incorruptibility" of the investment has semantic integrity.
You must be blind if you fail to see the practical connections between interpreted languages and free software.
This is the reason why Richard keeps on telling us to avoid using dlopen to dynamically load shared objects, instead of extending our applications using an extensibility library such as Perl or Guile.
Open your eyes.
Alejo.
I like Sun's hardware. Solaris is quite nice as well, but people should look at the kind of actions Sun takes that make it just as evil as good 'ol MS.
Java is cute, but is full of restrictive licensing problems and therefore will never be capable of true production quality systems development (before I start a holy war, it can be argued that a production quality system can be created in Perl or shell scripts - but your average telephone switching network isn't written in them...).
Sun likes to sue people left right and centre, and they won't let Java be exposed and improved by the community. Sun also has a love-affair with the proprietary, and charges at least 5 times as equivalent-performance pc hardware. Anyways, once MS is out of the way Sun will be next in line to screw the hacker community.
Even if you don't use it, understanding Sather will greatly enhance your comprehension of OO techniques.
Ryan,
I do not want to flame you, but I am suspicous of IBM as I am of MS, Sun, Cisco or any other commercial outfit. I feel that the entire Open Source movement is mainly about empowerment. If you don't like or can't afford UNIX or Windows, invent Linux. If Oracle is too expensive, work on mySQL. Need a web server, use Apache. If Sun locks people out of Java, let's see what else develops. Expecting another corporation to save us is like expecting the lion to save us from the wolf. It will only happen happen unless we make it happen.
Just my opinion.....
putting the 'B' in LGBTQ+
This will only hurt Linux developers in the end. Without standardization there is no portability (sic), making everbody's life harder.
People have been trying to claim since day one that the "language is OK, it's just the implementations and the libraries that suck."
Sorry, but Java has the same brain-dead C++ syntax that makes it a pain in the ass to deal with methods that take more than two parameters (see Smalltalk and Objective-C for examples of how to do this right.), it has no way to extend classes other than by subclassing, and after you give up performance for portability, you don't actually *get* the portability. Java is "write once, run away."
The standard excuse for Java is just like the standard excuse for communism. At some point, since *all* the implementations suck you have to admit that the underlying concept is CRAP.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
linux must be released from the tyranny of linus torvalds and full control of the kernel should be turned over to a byzantine european standards body composed of retirees from groupe bull and versace who will spend 6 years arguing over the relative merits of creating a steering group to debate an initiative to consider adding better smp capabilities
-- your knees hurt, don't they?
So that's why the internet is so fscked up! It's subject to all this horriblly uncontrolled software like sendmail, linux, apache, yada yada yada.
As a Slashdot reader and a Java programmer, I quite frankly find CmdrTaco's heading to this post INSULTING. I've been following the threads for the various Java-related news items over the past few days, and while I've seen there is still a great deal of ignorance regarding the power of the Java platform (with a few intelligent arguments noting Java's flaws), there have also been a great many posts from enlightened Slashdot readers that have experienced Java development FIRST HAND (I suspect that those people that are foaming at the mouth; "Java sucks because its not open source" or "Sun won't open the standard" (only so people can screw it up); HAVEN'T had first hand experience at serious Java development). So I think CmdrTaco is proving that he doesn't spend much time reading what the Slashdot populace thinks!
I listen in on the ISO JTC1 SC22 list (http://wwwold.dkuug.dk/JTC1/SC22/JSG/) where a lot of the ECMA people also go, and the reaction has been universally hostile to Sun. Many people are anxious to go ahead with or without Sun.
In the end, Sun will sue their asses before letting them define a spec, so it will come to nothing.
Sounds like you've never spent any time whatsoever doing anything in Java. That's a great way to go through life, judging things you've never used. Take a look at http://www.dialpad.com/ Thier program is in java, and it's very worthwhile.
Sorry if that's incoherent, I'm in a distracted mood ATM.
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
Anyone who has both desire and ability to implement a Java compatable VM can. As has been mentioned before IBM is pretty good. If you don't trust any companies find some OSS zealots who think they can implement it.
Sun wants to control the development of the language. They don't want other companies like HP and Microsoft polluting it for their personal gain. I'm in no way saying Sun is a saint and they couldn't do things better..
I become very cynical toward those who think open source is the answer to every issue and because someone has control of code they are unenlighten individuals that are beneath them. Companies make money.. that's the point.. I'm still amazed there isn't so much backlash against RedHat because they sell open source software. They make money off your work.. But it's not ok for Sun to control and make money off their own work.
Java was created for 1 reason. To sell Sun servers. The more programs in Java, the more portable and the less control Microsoft has over Sun. If in anyway Sun can lose control over the direction Java goes, then HP, IBM, Microsoft, or someone else can add extentions that cause it not to be platform independent and that will spell the end of Java's purpose, to sell servers.
I personally would love a open source standard, but not at the expense of portability. Sun offers me a free JDK that I can code whatever I want and do what I please. If I remember correctly you can still get the JDK source code and can still fix bugs, but you can't go and sell it.. Gee.. There's a big loss.. not!
It's the price you pay.. You want portability or fragmentation.
There is nothing inherently wrong with multiple inheritance. It's not a huge mess. Maybe in C++ it's screwed up though. I agree that you don't NEED it, but then again I've never really needed for loops or switch statements either.
The example you cite are all controlled by their creators, who are private individuals who care primarily about making their project the best it can be.
The original poster's (valid) point is that Sun has other motivations than making Java the best development environment that it can, namely its battle with Microsoft. Therefore, java developers might end up with a language platform that is not designed to be the best development environment, but rather one that incorporates design decisions intended to thwart Microsoft. This is quite clear in the original post; perhaps you should re-read it.
Most of the bloat in C++ was added by the standardisation people, not Stroustrop
The ANSI standard for C is ANSI X3J11. The ANSI standard for C++ is ANSI X3J16. The ANSI (or ISO or ECMA) standard for Java isn't.
Correct me if I'm wrong ( I've never written in Python, so there's a good chance of that), but isn't Python an interpreted language where the source is always available?
Java is compiled into bytecode, and many tools exist to obfuscate the bytecode to the point where it cannot be usefully decompiled.
To Open Source afficianados, the fact that Python programs are automatically open source isn't a problem. Software companies and shareware authors would probably feel differently.
I was convinced of Java's High Cool Factor(TM) four plus years ago - it's time the marketing people took second place to the needs of the real world developers who have to use this day in and day out.
The utopia of Java is far from fully realized. Sun can't afford to continually make foolish mistakes, even though M$ is on the run. Can someone tell me why I have to pick a platform target for downloading the JDK javadocs or extended APIs?? Wasn't the JAR file format created for this sort of thing too? You need JDK 1.2 (excuse me, J2EE, I mean, Java 2) for Jini; someone thinks we're actually going to cram the 1.2/J2EE/Java 2 bloat into embedded devices?
If I were Sun, I would be wondering how long it would take a group of open source code jocks to create a better, open, and more stable Java-like platform. Something tells me it wouldn't take too long =)
Yeah, kinda like the Linux kernel, Perl, Python, and Eiffel are controlled by one person or group. Man, those sure turned out bad. We better hand all those over to a standards organization right away before they're all ruined.
Since Sun obviously can't be trusted to do the right thing as far as opening this platform up I don't install any Java VM on my Linux boxen. Support an open object API for Linux, support GNUstep.
Java is over. The future belongs to Objective-C.
Night
Why is this bad? Has it been bad for other things we use every day? Many of those are controlled by one person, or small group.
BTW, What's CMIIW? My guess is something like Couldbe My Info Is Wrong, but FWIW this is a new TLA to me.
And ANSI standards haven't done any damage at all to C, FORTRAN, COBOL, SQL, or any of the other languages that have ANSI committees to define them. C++ sucks because Stroustrup didn't know when to quit. -jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
IBM is steaming ahead with its own Java project. (and it's better than sun's). They're big enough not to care if they don't get an official compatibility mark from sun. They can just release a Java-workalike, and standardise it themselves, possibly in conjunction with ECMA, as "IBM/ECMA Jika" . Thus you'd have "IBM/ECMA Jika" is to Java as Mesa is to OpenGL, except that Microsoft, Kaffe, HP(ChaiVM), Tower, et al. would throw their weight behind the IBM standard, and ignore sun. This is what ECMA are talking about when they say the might "carry on with the standardisation without sun". They just wouldn't be able to call it Java, they'd call it Jika or some equally silly name (like ECMAScript is to javascript)
A web applet language should be well integrated with HTML, not segregated into little square windows. Does anyone remember Curl? Not the web grabber, but the lispish thing with curly brackets at MIT. It was a brilliant idea. It replaced HTML, Java, Javascript, Flash, etc. with one quite adequate language. Unfortunately, nobody seems interested in replacing HTML.
A run-anywhere platform should not be tied to specially designed languages. You should be able to compile your C into bytecode that will run on any system. It wouldn't be a big deal to implement, many game emulators do a bigger job. You'd have to provide a low-level window library, but that's really no big deal (the insanity begins when you try to make a high-level window library, and anticipate everything the programmer might want to use).
Let's face it, Java went as far as it did on a huge marketing campaign, not on its technical merits. It didn't deliver on its promises, and those not caught up in the trendiness saw that it never could. Let's not waste any more time with it.
At least Microsoft is for open standards. ie. their work with the online chat protocol and contributions to XML.
I know this is going to sound like pure flamage, but I can't help myself.
.
Let Sun take over Java. Let them keep it closed and proprietary. As far as I'm concerned, Sun really hasn't delivered on ANY of their promises for Java, and even the Microsoft lawsuit was really a slap in the face to folks who took it seriously (ie. it's something to keep pure, so we hadn't ought to compromise it, so Sun better have the cujones to make sure nobody else does).
I'd have to say that I'm convinced that 100% of Java's success has to do with media hype and people buying into ANY hope of being able to slip loose the Microsoft shackles. Hadn't delivered on THAT promise yet either, has it?
It's slow, it's buggy, it sure as hell isn't cross platform. So who really cares about Java anyway. Oh, poor Steve Jobs (chuckle - chuckle). All that effort that went into OS X to integrate Java into OpenStep/YellowBox/Cocoa, and now it's going to be MORE irrelevant than Objective-C. HA HA! Stupid sucker.
Okay, I'll go seek counselling - I really have to work on my corporate sarcasm problem. It was mommy's fault. .
I wish I had a nickel for every time someone said "Information wants to be free".
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
It's has a mature class library, and an IDE that is to just short of wonderful. Check out http://www.smalltalk.org for lotsa links. You will be very glad you did.
If we think about this a little more we may see that it may be a case of mismanaging expectations. Sun was going to release Java to the standards body but did a 180. However, all the licensing and community process that Sun had done is far better than most anything done by Microsoft. Have you seen MFC in any standards body? It's sort of like when companies give bonuses. Let's say that I work for a company that gives no bonuses. You work for one that regularly gives bonuses. Now when your company cuts your bonus in half you whine like mad. You're still getting more of a bonus than me and I'm not whining! So when Sun cuts back on what we're expecting, even when it is more than what most other vendors provide, we still a whine like mad.
I learned VB once and I got mighty tired of following Microsoft's market-driven whims for every version. I'm really glad I didn't invest any brain cells learning Java, because now it is going bye-bye.
If they create a standard against Sun, how can they expect the world to follow it? With the next round of additions from Sun, Ecma's "standard Java" (which they'd have to choose some other name for) would look like "poor man's choice".
The Ecma people may be bitter now, but when thinking about it, that move would help nobody.
yes, python is interpreted, but you can also compile it to java bytecodes, and have full access to java libraries. see JPython
Nahuel.