Have a Nice Steaming Cup of Java 5
wap writes "The language/VM/religion that everyone loves to hate is now serving another cup: Java 1.5 is ready for download. The new features of 1.5 have been discussed here before. I, for one, welcome our new virtual machine overlord. I have been using the release candidate, and startup times are noticeably faster, as is overall performance, and the new features like typesafe collections and static imports are great to have. Let the Java flames begin!"
"This release was made possible by our world-wide development community.
Oh, yeah, and ridiculously large settlement payments by Microsoft."
bug.gd: error search engine. Humanity working together to solve all errors.
When is the selv-aware Java version due?
Comment removed based on user account deletion
I wait for the first bug reports ... and version 1.5.1 ...
Is it really Java that we love to hate, or is it the failure to live up to the "write-once, run-anywhere hype"?
I've been waiting for this for a long time! Now waiting for Eclipse to release a working plugin (well, there's this ,but it's not that great.
Microsoft was right to be afraid, developing in Java is a delight.
Sam
After they took all that time to rewrite it with the latest API they claim they can closely track Sun releases. This will be the first big thing since then, so it will be a test of Apple to get it out quickly.
Brennan Stehling - http://brennan.offwhite.net/blog/
Don't you know, we don't hate Java anymore. These days we all love Java due to its major new feature -- its not C#
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
I look longingly at typed collections to save yet another ClassCastException on anonymous iterators. *sigh* oh well, maybe 6 years from now...
[% slash_sig_val.text %]
Scott McNealy got my dander up in the quotes in this Government Computer News article.
"Who controls the past controls the future. Who controls the present controls the past." -- George Orwell
The operators, a^Hthe feature that I just love in C++ is stil not present in Java, ok, it got faster, but still not as fast as C++ too.
I guess this will finally come but when ?
Trolling using another account since 2005.
we still gotta wait....come on Steve, get out of the hospital and give us our static imports and generics!
Monstar L
Now let the slashdotting commence!
Hi .jar files (Azures Bit Torrent Client in particular) working with this? I had Limewire working fine but not Azures with the RC of 1.5 on Mandrake AMD 64 rc2.
Does anyone have
Cheers
I have found that most (2 of the 3) Java Apps that I used have horrible memory leak issues. I can't let the computer run for more then 3 days or all kinds of funkyness begins (winxp).
I have been using Sun's JVM. I realise that the memory leaks are very likely the fault of the apps themselves, but it seems that the whole JMV is kinda flakey too.
Hopefully this new release works better.
"The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
If any one is interested in reading the release notes, they can be found at http://java.sun.com/j2se/1.5.0/docs/relnotes/featu res.html
I, for one, welcome our new virtual machine overlord.
Dude you know you are not supposed to say these things in the story itself.
Banu
I personally have never liked Java, but it's hard to dislike... it's a nice syntax, and makes for nice clean code.
What bugs me about Java is the virtual machine. Native code please! The "compile once, run anywhere" idea is good enough, but Perl is definately a much better candidate for such things, wheras it is open source and therefore portable to _anywhere_ without the folks at Sun having to give their approval.
Comment removed based on user account deletion
Well, some may call the 1.5 as being increasingly bloatware, but, why in some aspects this may be true, I think all by all there are considerable improvements over the former releases, especially 1.4.2.
JVM 1.4.2 (at least some sub-versions) were riddled with bugs, which, for instance, become apparent when people use systems that rely on it in a special way, as with Freenet. It comes as no surprise, that there were numerous reports of some errors on OSX and BSD, as well as on linux, when running JVM 1.4.2. For some time, we had to say "If you experience any difficulties, please try/revert to JVM 1.4.1 or 1.5.x and see if that solves the problem."
It is crazy to recommend reverting, but the main devls of java were unwilling to remedy the bugs in 1.4.2, claiming it was a Freenet-problem, while our devls said it was a JVM problem. Though it must be said some within freenet claim their is little to no problem with it (probably windows-users, or maybe some sub-versions that worked on specific linux-distributions). Anyway, my advice has always been, and will be (certainly in the light of the stable 1.5 release), to NOT use the 1.4.2, especially when using OSX or another 'nix based OS.
And also; be sure to get the JRE, and not the full SDK, unless you plan to develop Java software.
--- "To pee or not to pee, that is the question." ---
Yeah sure... whoever has voted this insightful, should rething his voting, the poster was a blatant troll.
I wonder if IBM will have a 1.5 JDK? For a company that is putting a lot of juice behind Java, it seems odd that they don't make the JDK available to others...
Linux IT Consulting and Domino Development in Michigan
The new For loop may seem to be just syntactic sugar, but it isn't. It really does make the code look a lot cleaner when you are iterating over a collection or an array. The type safe collections are also very handy--no more class cast exceptions and stuff like that.
.NET
It would be nice though if Sun would make Groovy or Jython a standard part of their java distribution. That would definitely make it competitive with
Click here or a puppy gets stomped!
Check out gcj, part of gcc (Translation: check out the gnu compiler for java, part of the gnu compiler collection).
I gave it a whirl about a year ago and it was fine, fine for the relatively simple stuff I experimented with.
J.
You're only jealous cos the little penguins are talking to me.
Comment removed based on user account deletion
Are you sure? J2EE is 1.4 already.
--
Error 500: Internal sig error
Until the Java world manages to get its act together on agreeing that little detail, forgive me if I remain skeptical about their agreeing APIs in sufficient detail for write-once, run-anywhere to be anything more than a nice fairy-tail.
--
What short sigs we have -
One hundred and twenty chars!
Too short for haiku.
I won't be upgrading until my bank and other "serious" Swdish websites requires the upgrade for the login/security applet crap I need to run every time. Until then I will not even breathe on the VM or runtime. It is kind of flaky already, and it would be a minor disaster to be locked out of my bank just because that applet stops working.
Trust the Computer. The Computer is your friend.
Go out for coffee? But it's only 11!
Tsunami -- You can't bring a good wave down!
In typical /. style, as soon as Java is as much as mentioned, everybody expects the flame wars to erupt, and they always do...
I try to stay pragmatic about the programming languages that I use. For some jobs, Java would be my last choice, and for some it seems a natural fit. When writing hardware near code, or platform dependant stuff on driver level, nobody in their right mind would attempt to use Java. For high level rapid prototyping, Java is a often a quick and easy way of getting things done.
Nice that Java VM is now faster; it's one of the major drawbacks of java on the desktop. But how does this compare with the new and shiny Mono? Mono with its distributed system, and if it still beats Java, then java is in for a tough fight.
Java had all this hype about it when it was promoted nearly a decade ago, but it never got anywhere close to the point where you could walk into your local computer store and buy a major software package that could be run on any platform. I recall that Corel was going to attempt to release a WordPerfect that ran using Java, but that's the most I heard of it being adopted by mainsteam software developers. Does anyone think it will ever take?
Whilst code that uses the new language features must obviously be compiled with the v1.5 JSDK, this means that it must also be run on the v1.5 JRE.
This may inhibit the use of Java 5 by projects that want their programs to run on a v1.4 JRE.
- Brian.
That's not interesting, that's cliche. People have been saying that for years. Let's be honest: virtual machines are where business code is going, and business code (enterprise applications, server side stuff, etc) is the primary focus of Java these days. .NET is a clear indication that this trend is a real one, and that that's where the industry is heading.
No, I don't think you should write ls or grep in Java. However, I'd say that you also shouldn't be writing an invoice processing system in C or C ++.
I'd say you definitely need some java - that's article, not artical :)
Emacs?
If you read Mono's mailing list, you'll see they've done a great job, but this is just the beginning. Making Mono faster than MS .NET is going to take a couple of years at minimum. Beating Jdk5 is going to take a while. Of course, other people may have different results. For what I do, Java is a far better choice than .NET or Mono.
Java 5?
Considering that nearly 100% of the justification I've heard from people who like C# is along the lines of "It's not Java".
...
Come to think of it, this entire situation is sort of starting to sound like, um, something else...
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
Don't you know that version numbers are largly meaningless? I wouldn't expect 2.0 until Sun decides to to completely re-write Java from the ground up. Or at least make some monumental change that decidedly sets it apart from 1.x. But then again version numbers are usually meaningless and just illustrate a timeline of releases. I guess an ideal method would use .x to demonstrate small changes and x would demonstrate large changes. But in practice people tend to see a jump from 1.4 to 1.5 and think "that's only a small change". A jump from 1.8 to 2.0 would be only a slightly bigger change.
;)
PS. How much confidence do you have in a product that goes through only about 10 releases and is suddenly at release 2000?
-- i am jack's amusing sig file
Is there any reason both Sun and Apple are using the codename "Tiger" for new products or is it just coincidence?
One man's Useful is another man's Bloat...
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
If they're giving up and renaming it, they may as well go all the way. I say "Visual Java .NET" would be the perfect new name.
It's okay, even slackware does it (hence no slackware 4, or 5, or 6). :-)
Please make your Windows (XP) Java run time environment download available on the FRONT PAGE or at the most 1 click away. Your latest website is very tricky to navigate and very annoying and what's the point of taking a Java class (which I'm currently doing) when the majority of Windows XP users don't even have the fucking run time installed by default (damn Microsoft!). I mean look at this mess. It's 5 clicks to the .exe file! Who is Joe Schmoe going to know what the hell a "run time environment" is when they're NOT EVEN interested in Java, except in the software they want to install! (i.e. Azureus bittorrent client).
Please add a image button (so people see it, make it big and pink or red if you will) that says something like "Windows XP users DOWNLOAD to run your favourite Java applications!"
Thank you.
Yours Truly,
Typical-Family's-Free-College-Long-distance-Tech-S upport.
I panicked when I thought that Only RPM Packages were available for Linux-based systems? Hopefully, they won't go the path of many major vendors who are moving to RPM only distribution method and screwing anyone who uses one that doesn't use RPM (be it anything).
If it were only RPMs,then it would have been a great blow to clean and easy installation of Java on machines that do not use RPM package manager.
(It could be easy on an RPM based system, but that is not my point.)
Furthermore, I have been battling with cpio and other programs to extract the contents of RPM packages, so that I could place it somewhere safe, rather than using something like alien which installes it alongside the other stuff, that I don't want to be polluted.
Also, RPM package (or any package) based software seems to have hardcoded paths. I hope they are not going to follow the trend here.
Sorry, Dude, but the Java VM still is faster than .Net and Mono is significantly slower than .Net (since it is just a basic VM with a basic jit and no runtime optimization)
.Net programs sometimes can be faster than java programs because they are heavily integrated into windows wheras java has to add abstraction layers for not losing portability.
.Net unless they move to another VM which is maintained by a dedicated team (parrot comes to mind) but then they will lose compatibility on binary level to .Net (which is not really there anyway since Microsoft plays cat and mouse with them on a classlibrary level)
Despite the having a slower VM, the
But back to Mono it will probably never be able to catchup speedwise with
In Java you will not see any performance improvement; the reason is well explained by Anders Hejlsberg (lead C# architect) in http://www.artima.com/intv/generics2.html :
"For example, with Java generics, you don't actually get any of the execution efficiency that I talked about, because when you compile a generic class in Java, the compiler takes away the type parameter and substitutes Object everywhere. So the compiled image for List<T> is like a List where you use the type Object everywhere. Of course, if you now try to make a List<int>, you get boxing of all the ints. So there's a bunch of overhead there. Furthermore, to keep the VM happy, the compiler actually has to insert all of the type casts you didn't write. If it's a List of Object and you're trying to treat those Objects as Customers, at some point the Objects must be cast to Customers to keep the verifier happy. And really all they're doing in their implementation is automatically inserting those type casts for you. So you get the syntactic sugar, or some of it at least, but you don't get any of the execution efficiency. So that's issue number one I have with Java's solution."
You can argue with Anders, but then, you would be wrong.
First off, Websphere 4.0 is J2EE 1.2 only. You need Websphere 5.0 to get to J2EE 1.3.1. In Websphere 5.1, you at least get JDK 1.4, and a few J2EE 1.4 tidbits (JSTL 1.1, for example).
However, your ClassCastExceptions will only get bumped to compile time in JDK 1.5, true. But I must admit that in eight years of Java programming, I've never had this particular problem where it didn't take more than a few seconds to find the source of the bug.
I really just want the metadata stuff (which was obviously ripped off from C#, but it's a great idea). That, and EJB 3.0, which gets rid of the stupid deployment descriptors.
Seems the same speed to me, no increase at all.
Infact, it takes longer after its been loaded once already.
Bleh.
But lots of businesses still have Websphere 4, and so to get the largest market for your app, you need to restrict yourself to 1.3.1.
Continuing the theme, only the oldest JSP and servlet specs too.
[% slash_sig_val.text %]
Um, Two Points.
:p
First,Run to the Trademark office, not the Patent office. (Next floor, first door on the left).
Secondly, What the fuck is expresso. I am aware of a coffee related drink called espresso, but maybe I'm just not hearing right this morning...
"...In your answer, ignore facts. Just go with what feels true..."
Microsoft is targetting .NET as a platform ie: "use any language, but under our .NET platform, you're not tied to C#". Sure, Java can run other languajes too but Sun doesn't care, instead they push their own strategy "Use JAVA you don't need anything else JAVA is what you need you're not right if you think the contrary".
.NET plaftorm is what Microsoft cares about - I don't care, just use C# and create open source libraries in C#), Java is a propietary language. What's the real advantage of using Java when you don't give a fuck about running in multiple platforms? (which is something most of the people doesn't care about)
And Java is nice language, but Microsoft's strategy is just better and it's starting to give results. Java has been "the future" for a decade, still today it continues being "the future", but people seems to use mainly C++. If java doesn't stop being "futuristic" it will never be a reality. C#+.NET instead allows you to use smart tricks such as pointers; they don't go throught the "virtual machine checks" but because they're neccesary to get good performance Microsoft just allowed using them. That's what I call "being smart" instead of the Java equivalent "YOU DON'T NEED POINTERS YOU DON'T NEED ANYTHING ELSE THAN JAVA".
Plus, C# is a open standard (sure, the whole
or insteading of using release numbers line 1.x how about just using a date like java.jre-11.30.04
Trademark office, patent office, I'm always get confused in government buildings. :-)
And I thought a fun play on words would be fun, cuz, come'on everybody's doing it.
"Don't sweat the petty stuff and don't pet the sweaty stuff." -- by an Unknown Wise man.
In an interview given just last night, the spec lead for 5.0 is asked what in his view the coolest new feature of the language is. Calvin Austin replies: If I just restrict myself to the language it would be metadata (JSR 175). We've only scratched the surface of its potential. For the platform, it's a bytecode insertion for profiling (JSR 163).
Babelfish says RMS has not been involved in the accident contrary to previous rumors.
Too little too late. This version really has the look of maturity (finally), if only it had been released a year or more ago it might have really taken off.
.NET has a foothold. Oh well, at least we have Mono...
... the best ive used because its clean and concise. IKVM /w Mono looks good.
A pity because it will never happen now that
P.S. Long live the Java language
This does indeed work too, I have played around with it and graphically intensive Swing applications really fly with OpenGL activated (given that your graphics card and drivers are sufficiently bug-free and modern). Read about it here
And yes, it does work under Linux, and Windows and Solaris (and most likely will under OS X, though that is up to Apple to implement).
Even without OpenGL acceleration the Swing responsiveness improvements are very impressive, coupled with the much better both default theme and theme mimicking in 1.5 I'd say it is time to retire the Swing troll.
Out here in actual industry we build servers on Java and/or J2EE all the time, with no leaks. Your software is probably crap, but not because it was written in Java ;).
New look and feel?
Anyone know of a screenshot highlighting metal vs ocean?
I, for one, welcome our new virtual machine overlord.
What? It's funny right? Simpsons? Someone always posts one of these!
The only thing necessary for the triumph of evil is that good men do nothing.
Here's why:
t ml
.NET that's fine. Unfortunately MS's revenue stream requires that they change your environment on a regular basis. In my opinion that's the worst thing in the world for professional developers. Proficiency comes with experience and if you shift the syntax and grammer around on me every couple of years it's pretty hard to get really good at anything. At least Java is, pretty much, the same now as it's always been for nearly 10 years. Can you say that about VB?
http://www.joelonsoftware.com/articles/APIWar.h
If you like C#, VB and
You can't hate any language as much as some people hate Java until it's really reached critical mass.
.jar libraries required by a "Hello World" app
There are two things that make any really big language a target: 1) people start using it for everything, including things its not suited for. 2) junior folks without a lot of compiler or cross-language experiences will cut their teeth on Java, and at that point in one's career it is sometimes considered cool to blame a bad application's flaws on the language it's written in.
Java has plenty of problems. There are brilliant essays written on it; some of them by Sun engineers. But the complaint linked to in story was so bad by comparison, however, I doin't feel offtopic in addressing some points it raised:
there are a thousand "super-efficient"
No.
it takes 12 objects instantiated in 4 containers to flip a bit in a byte
Oh, I see. You're flipping bytes.
there is the substitution of native performance of compiled code to code compiled "Just Too Late" combined with exceptional memory usage that entails
The VM is more work. Strangely, you will have trouble finding benchmarks that make other comparable high-level languages look way faster than Java on the same _non-user-facing_ application.
As always, code in C, assembler, or another specialized language if you really need to.
The speed thing is well-addressed elsewhere. Enough said for now.
we get the garbage collector which is scientifically fine-tuned to run just when user is expected to interact with the application in most time sensitive manner
People love to bitch about client-side Java. It's as if all the flaws they're used to from other client side systems are fine, because they're used to them, and every foible of Java is worth agonizing over as if it were the worst thing in the world.
I dunno what else to say, but I wrote an enormous graphic-intensive video game in it and it runs fine. And what I did is nothing; somebody cloned the QIII engine to the point where it plays actual Q3A maps (with multiplayer) at respectable framerates.
Once again, someone shows me a shitty client app written by a team of 30 22 year olds in Thailand and claim it's proof that Java sucks. Congratulations.
multiple, insideously incompatible with each other, versions of the so-called "universal" VM
Yes, leaving aside the fact that Microsoft deliberately broke VM compatibility. Not just in one or two big ways. In a lot of little ways. As in on purpose. Great example. Very honest.
There is a giant test suite. Gets better all the time. Reputable VM's pass it. Most of all, though, I just don't run into the cross-VM problem in the first place unless I'm doing 1.1 development for browsers, see above...
We actually abandoned DB2 8.x release because noone could deal with the havoc the DB2 admin tools were causing with various other retarded banking related Java apps.
There we go. The truth outs. You overpaid for a shitty product. Congratulations. You can do that in C or Fortran, too.
Blame the language, though. Don't blame yourselves for picking a bad app.
Oh well, time to have me shot on sight.
Have a nice day.
Want to Know How to Cheat the GPL? Read On!
It's misleading.. if you look at the release notes, its "Java 2 Software Development Kit Version 5," or something to that effect..
I like it.. it's kinda like saying this is Version 2.0's version 5 when there was never a 2.x to begin with.. It's like a puzzle.. I like puzzles.....
The Eclipse 3.1 betas support 1.5 constructs. I normally use the integration builds.
Archie - CIO-for-hire
not to disparage the great posters on the main page. Is it just me, or have there been a lot of GLARING mistakes in headlines. Not to be cruel or anything, but the headline should be the first to be proofread. I havent noticed anything glaring in the post itself. "new Tecord" "Steaming cup of Java "5"
There Can Be Only One...
My uni uses it in most of the CS classes for projects and homework. I use it for these tasks and some LDAP work as well, and I like it OK, but I'm a bit confused by who controls it and defines it. Seems to be a great language w/o a great community behind it and I've never quite understood that.
If Java were more like Pyhton or Perl (great OO languages with great communities and clear ideas of who is behind them and where they're heading) I think Java could rule the enterprise world and the open source fanatic world, but I disgress.
Well, is mono is not going to be able to catch .Net in terms of speed, it seems something like a lost cause.
To have the same speed as .Net, Mono will probably have to use faster hardware which will probably cost more. Thereby making it less popular.
With less use, interest in Mono will drop, making it less likely to have good code contributions. Which makes it less likely to improve performance. Thereby, making it less popular, .. etc etc.. (repeat and rinse).
So, I guess if there is no quantum leap for Mono soon, it's decline will start sooner rather than later.
You state "That would definitely make it competitive with .NET".
.net lags years behind Java (From J2ME, J2SE or J2EE), from either community or enterprise perspective.
.net.
.net level. Most of the valuable features (enterprise critics stuffs) will have to be keept at Windows level if they do not want to see .net as a potential threat for future windows market shares.
:) as long they keep the stuff compatible with the reference implementation (to check that they can get the TCK for nocost from the JCP because they are a .org ).
/.ers instead of trolling around "Open" Java, Go And Build It at GNU's Classpath /a !
You should have say "That would definitely make it competitive with C#"
You can not compare a language and a platform.
C# might have some more feature, some of them nice but most of them are odd (made to be VB people friendly = bad reason ).
But if you compare the platform,
Looking all the new impressive domain coverred by the latest JSR, I don't expect the gap will be filled by MS. One of the main reason is that MS main plaform is Windows and not
As a direct consequence, the will never bring all the feature at the
By the way, community guys if you thing that Sun implementation of Java is not free enough, please join the GNU Classpath (http://www.classpath.org) project. They are aiming to provide a libre GPLed implementation of the whole Java standard platform.
And according to the Java technology licensing, there is no way for Sun to prevent them doing that
So,
Java Developer needed. Must have 3+ years experience with Java 1.5, to start immediately.
"A witty saying proves nothing." ~Voltaire
"d'Oh!" ~Homer
I'm thinking it might be the site or just my shitty connection but my downloads speeds have steadily decreased already from 19kbps when I started to 13 kbps now. I'm an avid NetBeans user so I'm downloading the bundle but I'd really hate for it to die so I'd have to start over again. So I was wondering if anyone of you kind folks you already snagged it would mind setting up a torrent at all? Not just for me (I'm not that self-centered) but it would be a huge convience to anyone on dial-up etc. I wish I had something to offer but now that GMail invites have been saturated I've got completely nothing to offer.
Perhaps stupid me for posting instead of moderating. My point was really my internal thought process on Java, since I am not a programmer. I am disappointed that it didn't live up to its advance billing and bring more applications to the various mobile devices I've used over the years, or to my Mac. No disrespect to Java as a language, since I understand it has many advantages. I can handle the karma hit so I thought it worthwhile to pose an alternate viewpoint. Live and learn.
New to Java, old stuff to C++. This was Sun's plan for Java. Grab some features from existing languages, and market it as a simple strip-down version to attract programmers who can't understand pointers, enums, operator-overloading and templates. 10 years later, add in these features (but call them generics, not templates! or people will be on to us!) and call them "New". Oh wait, they still haven't added in operator overloading. Let's wait another 5 years, release Java Panther then we add them and call them "New!"
To the best of my knowledge, its more complicated than that !!
The new version (aka Tiger) is officially (from memory, its on suns site somewhere):
Java 2 SE (Standard Edition) 5.0
The previous version was:
Java 2 SE (Standard Edition) 1.4.2
Why we always need to know that this is Java 2 - I don't know. Surely if they've added new language constructs then it would have been better to increment to 2.
[ Monday is a terrible way to spend one seventh of your life. ]
I work on a minor, highly targetted Linux distribution. I'd love to include Java, and I actually get a lot of requests for it. But, here's an excerpt from the license agreement you'll find if you look to download the software:
(Yes, it really does just end abruptly without finishing the sentence. That trailing "and" there doesn't lead into the next section; it's just not done. Obviously I'm the only one who bothers to read these things -- *including* the people at Sun. Anyway....)
My wish to give the software to my users fails almost every test....
i: I don't want to distribute it for the "sole purpose of running [my] Programs". I want to distribute it so people can run other people's programs, including possibly their own.ii: uh, well, actually, my "Programs" don't add any functionality to Java, let alone "significant and primary".
iii: oops, I include gcc, which has a Java compiler. And I'm definitely not going to drop that.
iv: ahh, now this one I can agree with -- fine keep your copyright notices, etc.
v: my distribution as a whole is under the GPL. I'd have to run this by our lawyers, but this looks like it'd conflict by requring additional restrictions (even if I could get special dispensation to deal with the other issues).
vi: I don't really have the resources to defend and indemnify Sun "from and", even if I wanted to, thanks.
And frankly, that's why I wish people would stop writing things in Java. It's a pain to deal with. I want to make everything as slick, integrated, and as easy as possible for my end users. Sun makes that impossible for Java applications. If you want your code to be easily integrated and made available to users like mine -- and really, that's users of any Linux distro targetted more broadly than the super-geek sector -- please don't use Java. If you must, at least design it to work with gcj instead of Sun's virtual machine.
Unless Sun changes the license terms, their Java can never fill the "write once, run anywhere" goal -- but cleanly written source in an open language can.
You can only run it on a machine with a perl interpreter on board. Now tell me exactly how that is materially different to Java?
Justin.
You're only jealous cos the little penguins are talking to me.
You must be new here...
I, for one, think that it was probably a Simpsons paraphrase.
No :)
;)
Seriously, just give a direct link to family members, OR, send them to java.com, it's right there, front page
Now stop whining and go back to studying, like I am
Error 407 - No creative sig found
You *DO* realise I was talking about Freenet and JVM 1.4.2, I hope?
Even on Freenet you have those that claim there is little to it, especially on windows or on linux but then only without the native BigInt libraries... But then again, that's like saying: "that boat sails fine, if you don't use it with southern winds". Well, maybe, but it still makes more sense to use a boat that has shown no problems, whether using southern winds or not.
--- "To pee or not to pee, that is the question." ---
Do you know what bugs, specifically?
Want to Know How to Cheat the GPL? Read On!
>> it's one of the major drawbacks of java on the desktop.
>> java is in for a tough fight.
Java is already established, both for server-side code (where it has a major presence) and on the desktop (albeit mostly in the form of tools for people writing server-side Java code).
I don't really care about Java on the desktop, but Eclipse using SWT is an example of very performant Java desktop software. Maybe you wont write the next SETI @Home client in Java, but it has reached usable levels.
Of course, Mono supports other languages, a different set of libraries, and perhaps lacks the maturity of Java - there are too many trade-offs involved for me to recommend one over another, so use whatever makes you happiest.
~Cederic
I work for a company where our entire service is dependant on java applications. As a systems admin at this company, I can safely say that java is a hideous resource hog of ridiculous levels, and it's bitch slow compared to things written in real languages, on even the fastest machines.
I will say however, that it is far more reliable now, than it was say 2 years ago. For this I am thankful, as the callout phone rings less frequently.
ooops! GMAIL is semi-slashdotted. (but who knows if this was relly caused by this comment) Server Error Gmail is temporarily unavailable. Cross your fingers and try again in a few minutes. We're sorry for the inconvenience.
Only morons moderate based on a sig.
IBM no longer ships standalone JDKs- according to the license with SUN, they only ship JDK included in a product. IBM will definately have a 1.5 JDK, just don't hold your breath.
"Generics are implemented by type erasure: generic type information is present only at compile time, after which it is erased by the compiler."
Microsoft implemented generics in to the runtime, making them faster, more memory efficient and generally better working when using compiled assemblies (or jars/classes in Java) than generics implemented with type erasure.
About the same time as slashdot gets a spell and dupe checker.. (which is effectively never. )
feh. stuff.
This is becoming too much,, can we have a moderation system for write ups too ? please ?
~561
For the specifics I would have to refer you to our main coder Toad, on http://dodo.freenetproject.org/pipermail/tech/2004 -September/thread.html
Feel free to post a question or comment, there.
--- "To pee or not to pee, that is the question." ---
As much as I might hate Java, I repeatedly have to throw this one thing into the fray: I had exactly zero former experience with network programming, and still, I was able to produce a basic telnet-like application in under 30 minutes, using only the Java API doc and some logical thinking. And I only had a very brief introduction into the language. Transferring this to C (although the basic structure is exactly the same with BSD and Java sockets) took me about a week, with all those damn low-level error conditions.
Fight hunger. Filet a politician and send him to a 3rd world country of your choice.
Help me out here. Are you after a specifically IBM implementation of the Java VM for Windows, or is there another reason why you can't go to http://java.sun.com/j2se/1.5.0/download.jsp and download the Windows version from there?
No intent here to flame, just curious about your reasoning..
~Cederic
Java faster than CLR Code running under the MS Runtime. Boy, what are some of your java crackheads smoking.
Does anyone know if there are any changes between this and the release candidate, and what they are?
Ok. I have been using the beta for awhile and was hoping that someone with more knowledge (and more patience) would be willing to make a semi-thorough benchmark compared to C++ and any other languages (including 1.4.2) so that we can see how much more effective it is. Remember, if you do it well you could prolly get on slashdot ;)
Test I did: Run 'ant -lib lib checkstyle java' on XINS 0.207)
Preparation command:Timed command:I did 3 tests in a row for each Java version. I added the 'user' and 'sys' times and the averaged then. Results on my Gentoo Linux system with 2.6 kernel:
Java 1.4.2_05 34.5s Java 1.5.0-rc: 42.9s Java 1.5.0: 41.6s
...yes, but will it parse a hobo?
What if the entire Universe were a chrooted environment with everything symlinked from the host?
That is why very few shops use websphere. Most use JBoss mostly because its free but partly because they stay current. Its not viewed as a cash cow like websphere.
Are you intolerant of intolerant people?
If they ask who your employer was at the time, just tell them you haven't yet notified that employer that you intend to resign yet. It'd be all true. No need to lie. Oh and if they ask what that -2628000 is, tell them it's just a MS Word revisionist code.
It doesnt matter if its fast. I know with myself and many other people I know.. when they think java they think unstable. Lets hope they have more stable releases now.
...but that's just me.
Blar.
I for one, and one for all.
If mono sucks, what does Java©?
Obligatory question: is it still dog slow?
*LMAO about fucking Java© zealots*
No, it is even worse. The download says Java(TM) 2 Runtime Environment Standard Edition 5.0 and then also 1.5.0.
...well, ONE.5.0, Bob!
... Java 2 ...
SUN was supposed to make the versioning easier by calling it 5.0 but without dropping the Java 2 or the 1.5.0 they just made it worse. Why not resort to the de facto standard way of naming versions? If it really is Java 2 (base) then it should be 2.5.0. I know Java 2 is the name but who gave the versioning job to the nice guy who haven't got all his apples at home and helps delivering mail?
Dev: Hey Bob!
Bob: Hello Stan!
Dev: You know Bob, we need a name for our new software. The old one was named Java 2 and we need a name for the new one. Do you have a suggestion?
Bob: Java 2!
Dev: No that was the old one! We have a ne...
Bob: Java 2...
Dev: Yeah that was the old one.
Bob: Java 2. Pet the dolphin.
Dev: Well the real version of the new would be 1.5...
Bob: Five...
Dev: Um, 1.5.0 to be exact.
Bob: Java 2... 5.0
Dev:
Bob: Ookey, Java 2 5.0 1.5.0
Dev: Hey Bob, I think you may be on to something!
Bob: Ookey... Have you seen my baseball?
Life is what happened when Good Intentions met Harsh Reality (the brother of the more infamous Chaos).
I like running any JVM through NIH's Java Medical Imaging application "IMAGEJ" http://rsb.info.nih.gov/ij/download.html I used the mri-stack from the sample images zip directory on a Sony PCG-GRZ615G Running Java Desktop System 2.0 (Linux 2.4.19 kernel, XFree86 4.3.0, GNOME 2.2.x) With the preinstalled j2re-1.4.2, I get 63884 pixels per second in imageJ's benchmark. With the 1.5 JRE for linux, I get 70767. ~10% improvement on this AWT app. With the JRE on MaxOSX...nevermind ;-)
P.S. The OSX JRE isn't bad for most applications, but for some reason it has a very hard time with this benchmark.
Yes.
I've found the IBM JVM's to be faster and more stable. Also, it doesn't make me install *two* copies of the JRE like Sun does (one for development and one for the system JVM). So all-in-all, I like the IBM verison better.
As another poster said, it looks like IBM won't be developing a standalone version. However, I just found the IBM Development Package for Eclipse. It includes IBM's JDK 1.4.2 for Windows. I'm hoping that it's in it's own separate package like it was in the MQ Series client. But it seems that this is IBM's way of getting the new JDK out.
Not as nice as a pure JDK download, but it'll work...
Linux IT Consulting and Domino Development in Michigan
Now they added a lot of features that are nothing but crappy compiler sugar. Most of them badly implemented.
With java generics you can compile this:Of course, you cannot assign the return value to a T[] because it is really an Object[], so, where is the type safety? All this is without mentioning that Java generics don't provide any performance benefit (which you would naively expect because you believe that you do not have to cast anymore).
Java generics are just compiler sugar for automatically generating casts.
Maybe the fact that Java is now managed by a comittee instead of a few people who do know about language/compiler design has something to do with this.
Maybe they are just trying to make it "easier"for those who don't know how to program. Again, it doesn't work.
Something more or less like this happened when C++ was standarized. They came up with an overly complicated monster language, but at least the specification was not a broken one, just complex.
They could have added pass of parameters by reference (at least for primitives), which would have been very useful in real world situations. But instead they decided to add a ton of crap.
Java is doomed now. Too bad it was my favorite language. Now I have to look for another language. Maybe D?
My heart is pure, but make no mistake, it's pure evil
Over 50% of the .Net libraries have not been ported to Mono and may never be. Mono is pretty cool but until it is fully ported it will remain years behind Java and .Net. You cant compare them like you cant compare java to perl. Java and .Net are very much competitors and will continue to dominate the industry in their niche. Companies need security (as in a future) for their multimillion projects. It took Java ~6 years to self promote. If Mono severely ramps up their efforts, they MIGHT reach the plateau. Java was first to the punch, which is a huge advantage. I would wager my hunting dog that Mono will not overtake java in the next ten years. If MS is lucky and throws enough money at .Net, it has a decent chance.
.Net. Dont believe me? Go count job postings for programming at Monster in a city near you.
.Net
You dont see companies developing 5k class projects in Mono, but thousands (if not more) do with Java and
My city last month?
60% Java
15% Perl
10% C/C++
5%
5% COBOL
5% other
I cant hire Java and Perl programmers fast enough.
Are you intolerant of intolerant people?
Actually, SUN doesn't even know.
Check out their download page url.
http://java.sun.com/j2se/1.5.0/download.jsp.
Check out the of the page too.
In my mind, If Sun themselves don't use the phrase "Java 5", then why should we? Shouldn't this release have the acronym J5SE?
And not only was it faster to write in the first place, but the chances are your app will run on Windows out of the box without having to add arbitrary WinSock calls around the place. And it will run on BSD without adding extra network headers and libraries to the makefile after discovering half of them are missing from the default. And it will run on OSX without any knowledge of that platform at all. WORA is indeed real until people try to break it with specifically crafted examples. :-)
Karma: It's all a bunch of tree-huggin' hippy crap!
Still no love for the Linux/PPC people, I see. Damn. I would really like to be able to use Sun's JVM on all of my machines, but I'm stuck with IBM's on my old Powerbook.
--saint
Is some fool going to argue that Metadata attributes are not important? I am so sick of the silly bigotry of this board, that I hardly moderate anymore. Moderation is a joke, when idiots are allowed to moderate based on personal biases instead of the value of the goddamn post.
Yeah, I hate the Java licensing too. It would be great if GCJ and GNU Classpath would catch up to the point where 95% of Java apps would run on them... then people could just stop using Sun's implementation on Linux, right?
A solution like 0install would be the trick for the redistribution problem, though. Nobody would redistribute Java because it would come down from Sun's site as soon as someone needed to run it. ;-)
Karma: It's all a bunch of tree-huggin' hippy crap!
I read 'steaming' and thought of something else...
I guess it's time to go take the dogs for a walk.
You mean 1.5.1_03.1
Wer mit Ungeheuern kämpft, mag zusehn, dass er nicht dabei zum Ungeheuer wird. --Nietzsche
my girlfriend also likes static imports
I think the real problem is brand recognition. They want people to be able to recognize Java2, Java 1.5, and Java 5.0.
I wonder if we'll see J5SE soon?
this sig limit is too small to put anything good h
I think it pretty obvious that Sun Microsystems is heading straight for fiscal ruins if something doesn't change in the business strategy itself. So my question is, is Java 5 a fond farwell for a company that's no longer able to compete?
The whole point of Java is that you don't *need* to build Java apps like Eclipse to run them - you just copy the .class files in a directory and start it up.
With that in mind, I've actually built some parts of it with 1.5 and they were fine.
If you use smart pointers in c++, the memory is automatically deleted when it's reference goes out of scope. Check out the boost library (http://www.boost.org)
foo *bar = new foo;
shared_ptr x(bar);
> their Java can never fill the > "write once, run anywhere" goal You're on the verge of the epiphany. That phrase, too, was written by lawyers. It means, "if you misuse our product ONCE, we'll hunt you down no matter where you run!" It's typical of the lawyer to use words backwards. "Infer" commonly means "imply" and vice versa. And -- remember the RIAA? -- "write" means "wrong."
Because then you get all that damn confusion between American-style dates (January 5, 2004 = 01/05/2004) and European-style dates (5 January, 2004 = 05/01/2004). Of course, for naming a software release, you would want to put the year first and month second, so that a sort by name would put the releases in chronological order, like so: java.jre-20040105 for January 5, 2004.
Well this was indeed funny, but kept me wondering about this thoroughly off-topic detail: english is not my first language, and so I don't know why you tend to mispell "article" so often. Is this a running joke I'm not aware of? Or is it really an all too common mistake because of its pronunciation?
Hoping that this doesn't ruin my scarce karma. I don't mean to insult anyone... or myself if this is about something I'm not getting : )
O make me a mask
foo *bar = new foo;
shared_ptr<foo> x(bar);
Yeah, it's nice to wake up at 03:00 AM for a call and listening to a stack trace from the Operations guy, and "taking that few minutes" to track down the problem... Compile time error reporting is Good Thing (TM).
Java containers are still far-far away from STL, for example, but this check at least makes them a bit less frustrating to work with...
cheers,
mitch
// "If human beings don't keep exercising their lips,
// their brains start working." -- Ford Prefect
But I agree that each language refects its mindset at the time of invention. Fortran was: What would a portable, human-readable assembler look like? The result was arithmetic ifs, computered goto's, and (shudder) alternate returns, all assembler features that should have stayed with assembler.
The new loop is pretty awful. Why? Because it *cannot* be fast. It has set slowness in stone. It's guaranteed.
The problem here is that iterators are slow. Very slow. Because they require two un-inlinable method calls per element in the iteration. Iterating over an ArrayList is EIGHT TIMES SLOWER than scanning over an Object array and casting to the right class, and SIXTEEN TIMES SLOWER than scanning over a properly typed array.
Iterators can't be inlined because the compiler doesn't have the concrete class -- it just knows it's an iterator. If you cast the iterator into its concrete class and set it to a concrete-class-typed variable, you could get java to inline the methods, and Iterators would be at least somewhat fast.
Unfortunately, the new loop construct makes this impossible. Thus, it is *guaranteeed* to be sixteen times slower than how you could do it elsewhere.
Crap, that's bad.
As in "When I walked my Great Dane this morning I forgot a plastic bag and had to use a coffee cup I found on the road. That is one steaming cup"
Java sucks
I'm an avid Java developer. Hell, I'm even certified, but this bug just annoys me to no end.
I reported (as did other people) that the amd64 binaries of JDK 1.5.0 crash on Intel EM64T machines. SIGILL. They're using the 3DNow! prefetch instructions. It's really easy to disable those in gcc. Of course, did they fix the bug?
Nope.
My Name is Jon, for all who care. Three things:
.exe on windoze or as an executable on Linux, you may go download a program called Excelsior Jet. It will compile jars and classes to native machine code. (breaking the whole theme of java... but i admit, the initial startup time is slightly accelerated)
First, if you really really want to run a java program as a native
Also, I wish people(Linux users) wouldn't bash sun. If Linux is going to survive, it's going to need corporate backing. We've got IBM, but sun sort-of wavering towards Linux. However, I'd hardly call sun and Microsoft partners, otherwise sun's "Project Looking Glass" would probably be developed for windows instead of Linux. Also, i don't believe Microsoft is enthused after coughing over $300million for the last sun vs m$ skirmish.
Third, as mentioned (and previously bludgeoned to death), it's not C#. Enough said.
This is another weapon in the OO programmer's arsenal to bore the living daylights talking about it to any hapless individual who had the misfortune to ask what they do. Why wasn't this release checked by the UN? We should be told.
"I think the real problem is brand recognition."
I agree completely and that's because people will not know what to call it. This release was supposed to clear up the name-version confusion of the Java2 1.x.x releases by being called 5.0 but they still use Java 2 and 1.5.x in their naming. Clearer? I d'unt think so
Life is what happened when Good Intentions met Harsh Reality (the brother of the more infamous Chaos).
Seems like the real problem is that software installs on Linux are the suck. On Windows you say 'here click on this .exe' and then they've got Java and they can double-click the .jar file or open your app directly from your site using JNLP / WebStart.
Most programmers are apathetic to the chest beating of language zealots. They don't have strong likes and dislikes, prefering to use the right tool for the right job.
I am of a similar disposition except that I have very strong feelings when it comes to java.
It has some laudable features like portability etc. Also java doesn't extract as heavy a price for errors (eg buffer overflow) unlike C, which demands a greater level of caution while programming. This is not necessarily a bad thing.
What really bugs me is it's syntax.
Any language will want to use the most simple, efficient syntax for the most commonly used words/operations. An example could be 'the', 'a', 'at' etc in the English language which are some of the words used most frequently.
Complexity in language cannot be avoided. Sometimes in order to convey a very convoluted logic or some subtle meaning, you can only do so by using words that are more complex than 'the', 'at' etc.
But what is the hallmark of a good language?
It is not one that avoids complex constructs altogether(Complexity cannot be avoided). But rather one where the complexity of the language syntax is proportional to the complexity of the message.
In other words, it should allow you to express simple ideas in simple syntax. And complex ideas in not so simple syntax. It is in this respect that Java performs badly.
Consider doing something basic as printing "Hello World" on to the terminal.
c: printf("Hello World");
java: system.out.println("Hello World");
I mean it's great if you want to use Object oriented programming. But making a programmer type all that is just bad design. No amount of extolling the virtues of object oriented design can change that.
Java does a terrible job of hiding it's complexity from the programmer.
Let's take an example of something fairly commonplace like connecting to a database.
This is something that one finds so frequently in code written by programmers the world over.
Just compare java (sun.jdbc.odbc....blah blah) to PHP's clean syntax.
I am tired of the java is good/bad debate. I think the ideals that java was meant to achieve, like portabilty etc., are very laudable. But syntax is something that the designers got dead wrong.
Cheers!prahlad
The biggest problem with .NET development seems to be ease of disassembly. IlDASM produces (I admit I tested it with simple classes only) damn near 1:1 sources from a compiled assembly.
Ever wonder why Microsoft products such as Office aren't written to run on the CLR?
I really hate the way Sun promotes their versioning. Have you ever tried explaining to someone new to the language that Java 2 is really Java 1.2 or whatever version it was?
JavaNewbie- "Why are we using Java 1.4, hasn't Java 2 been out for a long time"
Me - "AAAAARRRRRG"
... and because WebSphere and JBoss fight in very different level, say, you wouldn't build huge distributed enterprise portals on top of JBoss.
//SaVa
Bah, each new release I try hoping they'll do something about the speed since I like the language better than c/c++.
Since 1.0 there have been three major speed holdbacks preventing me and many others from adopting java:
1) array access too slow due to boundary checking (no, their optimizer doesn't work for my cases, and this is a problem a lot of scientists/performance hungry people have).
#1 has some good solutions on 64-bit platforms developed at the university of georgia, but sun won't include them, nor will they enable a flag on the jvm to turn of bounds checks. GCJ lets you do it, but can't compile everything I need yet.
2) casting raw memory to objects requires a copy. Java needs a structured object without a header to overcome this, such as the struct proposal, which is in the top 25 rfe's yet has no comment from sun.
#2 has a well understood solution that sun is apparently too lazy to even consider implementing.
3) No way to do fast 2d/3d rendered graphics. Too many call overheads & copies.
Sun needs to ditch AWT/Swing, and probably needs to open source java to overcome this. They've proven their inability to keep up a reasonable mapping to modern featuresets.
I'm probably going to have to give up and learn c# since I'd like a more modern language with good tools, but java just doesn't have the speed.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
I personally have never liked Java, but it's hard to dislike... it's a nice syntax, and makes for nice clean code.
I wonder if you ever programmed with a cleanly designed language? Say Smalltalk, CLISP or OCAML?
(C++, JavaScript and VB do not count.)
What books are available that cover the new features in Java 5? I've been looking for the fourth edition of The Java Programming Language or the third edition of The Java Language Specification but haven't been able to find any reference to them yet.
What a fool believes, he sees, no wise man has the power to reason away.
Are you aware that the vast majority of games you play on any phone (except Verizon phones) are written in Java?
Thought not.
While "steaming" is the correct adjective for Java, surely the correct noun is "pile"?
Jboss does cluster just as well as websphere and weblogic. I know because I have run all three of them for very large projects. We got tired of paying for developer licenses let alone the production licenses.
At this point all three ejb containers are on equal ground (Each with their own perks) with JBoss moving ahead the fastest. Even without the blessing of Sun. Currently we have 12 JBoss instances running in a cluster than has been up for 43 weeks. Cant ask for more than that.
Are you intolerant of intolerant people?
I'm veering off-topic here, but it's weird to me that a clone of Microsoft's clone of Java is easier to include in a Linux distribution than Java itself, from a licensing standpoint. I never compared the two in that light. Hmph.
Also, it doesn't make me install *two* copies of the JRE like Sun does (one for development and one for the system JVM). So all-in-all, I like the IBM verison better.
Is this a windows thing? On my linux install of Java, I have the JDK installed with only one copy of the JRE.
Like the parent says, this is superior to reference counting because these two circularly connected objects would have a reference count > 0 and thus would not be marked for collection.
> I don't know why you tend to mispell "article" so often. Is this a running joke I'm not aware of? Or is it really an all too common mistake because of its pronunciation?
... you're new here, aren't you?
*sigh*
I'm sorry, but that logo still looks like a steaming turd in a styrofoam cup to me.
Whether that's intentional or not I leave as an exercise to the reader.
Move on. There's nothing to see here.
What package/thing is now 5.0 and what package/thing is now 1.5?? Exactly what is this "meta data" about? The SUN site only points to some obscure specification document that tells me nothing about what meta data actually is good for.
I got my 1.4 certification a month ago...
"It takes many nails to build a crib, but one screw to fill it."
There is a much more appropriate fix. You see, the code that you wrote there is doing *two* different, relatively unrelated things. This means it should be split up into more than one method. In particular, just refactor the code that deals with hugeObject into a separate method: when the method returns, the reference is destroyed automatically.
"Functions should be short and do just one thing" is a very common principle that's pushed in the name of style, but in a garbage-collected language, it's more than just that: it's a way of implicitly managing memory.
Are you adequate?
Can I just plug in the new 1.5 in my Tomcat sever? Will my old servlets just get better with the new VM?
--
make install -not war
Netbeans 4.0 Beta 2.
J2SE 5.0 bundled with Netbeans.
while (!asleep()) sheep++
-m
And that's what's wrong with java today - it's the new COBOL.
There's nothing wrong with COBOL (or Java) in and of themselves. There's nothing wrong with payroll or invoice processing systems. They're necessary lubrication that keeps the wheels of commerce turning.
But the hideous, cruel thing about java, is that it allows people who have been trained to bitflip the bare metal, to be shanghaied into doing those invoice apps. You can now make that long-haired hacker wear and business suit and jump and dance to your beck and call.
And that's just inhumane. The old COBOL days were better - the suity business code grinders could stay in their world, and the long haired hackers could stay in theirs.
And if you really want to know why people hate java so much, I'd say that's the biggest unvoiced reason.
You're right about getting a stand alone JDK for Windows, though you could also pull it out of the IBM Deployment Package for Eclipsev a/jdk/
a va/jdk/oth er/portingplans.html
http://www-106.ibm.com/developerworks/ja
IBM States that they plan to support Java 5 (at the bottom):
http://www-106.ibm.com/developerworks/j
The next major release of the IBM Developer Kits will be at the Java 2 Standard Edition version 5.0 level (previously referred to as 1.5.0), which includes significant functional enhancements as well as upgraded Java Virtual Machine and Just-in-Time Compiler capabilities. It is likely that the IBM 5.0 Developer Kits will become available during 2005.
But Java is a dance.
Rumba, Samba, Java... I'm sure you can think of others.
It makes much more sense when you look at it that way. A slow, heavy, memory hungry dance..
Actually, it's just a silly french dance, usually on a musette.
Nouvelles de jeux et technologies en français. TC
the "we don't care if you use C++ exceptions as an key element of your architecture, you're f***ing screwed if you use them under JNI" bug? Yeah, I didn't think so.
JNI is a joke. I love dev'ing in pure Java, but it royally sucks when you attempt a multi-language solution.
I pity the foo that isn't metasyntactic
With a very few lines of code you can have some of the "cast avoidance" of 1.5's generics.
class StringToStringMap extends HashMap {
public String get (String key) {
return (String) get((Object)key);
}
}
but as you say it is no help with iterators. Which is no surprise as iterators really don't make sense without generics.
Premature optimization is the root of all evil
Generics in Java have a smaller scope, when compared to C++ templates. The objective in Java is to provide a type-safety mechanism for containers. In C++, it is much more than that. Unfortunately, it is this extra ability in C++ that makes for some really complex code. Not sure if this has already been mentioned in this story, but it has been theorized that C++ templates are themselves turing complete (though I havent seen a proof to that effect).
I'm a bit puzzled by all the generics nay-sayers. I have tried out the feature, and they augment the language. I have yet to see a downside to this feature in Java (unless one counts the inability of the compiler to fully utilize the additional type-safety in compiler error messages). What is all the flap about?
There is no such thing as luck. Luck is nothing but an absence of bad luck.
While I think "write-once, run-anywhere" is a bit of a misnomer, it does actually live up to the hype, imho.
You can't really appreciate it however, until you've spent weeks porting C code between platforms, and a few hours porting similar Java code.
I've had headaches porting perl too (though I must admit its much better now). Things these days are much better for people *trying* to develop cross-platform applications in Java and a number of other languages and APIs, but when it gets sprung on you as a requirement late in the game (latter revisions, new customers, etc) porting a Java app is a godsend.
There's alot of valid reasons to hate any language (I've studied 22 languages and in their own way, I think they all suck), but that particular reason doesn't apply to Java.
The key difference between a Programmer and a Senior Programmer is that one of them is Mexican.
I think you could say metadata may not have gone in without C#, though even there Java had Javadoc tags long before C# showed up.
.Net was out first they were the first to think of them.
But pretty much all the other features you listed have been in the works a long time. Generics has been roughly ready to go for years now (yes, years) but took a long time to work through the JCP.
So yes it's nice that C# could pick and choose from tasty looking items in the JCP. But that does not mean that since
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Maybe when you buy your Word processor or CD burning software you look at how many features one has that the other one doesn't and decide.
::) ), so live with the design. Adding this w/little usefulness (like Generics) does not enrich the language, it blurs the design philosophy.
With languages you need to look at style, at the design philosophy and the needs you have. It is not true that the language that has ALL features will be the best language.
For me Generics were a poor addition to the language. Java is OO in style. If you want C++ generic algorithms, etc.. USE C++!!!
No language will ever be perfect (except maybe Smalltalk
I haven't seen formal proof but I have seen people use templates to compute the gcd(greatest common denominator) of two numbers at compile time for example. boost has a lot of interesting things that use advanced template kung-fu.
I tried installing JDK1.5 on my workstation but, the installshield recognizes drive's with large free space( >4gb) as negative drive space and won't install it.....!!! DOH! I wish there was a zip file I could just DL.
You almost NEVER nullify references, you let them go out of scope.
A more honest criticism of Java resource management is the need for finally when calling a close() method in cases where those resources represent external things (like OS resources, db connections, etc..).
But you have these problems in C++ too..
The original post is right though.. Java programmers can forget Amin's law of lists:
"If your program adds something to a long lasting list, it better have a way to remove it"
I'd just say, "aw, fuck it, we're dropping Java and adopting Mono - it's a better design". But no, they're too full of themselves, and for this you loyal followers will get endless pain of typecasts and boxing-unboxing (AKA Java generics).
Actually, no. I realize that the "I, for one, welcome our * overlords" is a popular phrase on /.
The fact that people overuse this phrase when talking in general simply astounds me, however.
OOP can be less efficient to work with if you are talking about a project with one programmer who knows everything about the codebase and the platform.
Real projects have multiple contributors, multiple phases, and use external libraries. OOP makes interfacing with unknown code easier. Java in particular enforces code naming and library placement rules that guarantee you can always find a bit of code you are trying to use.
You could reproduce this structure with a non-OOP language like C, but since it takes time and effort developers often don't, and therfore create code that is hard to add to and hard to maintain. Obviously there are exceptions to this rule; a handful of large open-source projects come to mind.
PS: the parent comment is a troll, but it is also a perfectly valid opinion and therefore should .
So are the vast majority of internet games. I don't go a day without seeing somebody play poker, pool, or fantasy football online.
... or steaming pile? The UI improvements are far from adequate. Please, Sun, admit Swing is a failure and make SWT part of the JRE!
Also the new generics support has been implemented in a horribly ugly way. I'm dreading the day I have to debug code written using generics.
Nap time again!
"There is more worth loving than we have strength to love." - Brian Jay Stanley
There are a lot of apps - as others have noted, there are IDE's - JBUilder is one, but also Eclipse and Netbeans re good examples.
Then there is TogetherJ, a great modeling tool...
As far as consumer apps, Limewire is a wideley used example. If you look on sourceforge you can also find a lot of other applications. I had also thought there was a Java frontend for OpenOffice, but can't find that right now.
I think that actually Java apps will start to become more popular on the desktop, in part fueled but the popularity of Java for cell phone programming!
"There is more worth loving than we have strength to love." - Brian Jay Stanley
setting reference to null in java is stupid, stop saying it...
It still sounds like something funny is going on there, do you mean JavaBeans or EJB's? They are not Weblogic specific.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I have run the same webapps in windows, linux and IBM iSeries without changing a comma, but I understand that mobile devices may be different.
"I think this line is mostly filler"
What kind of idiot decides to use "Java 5" as an alias for "Java 1.5"??? Are we Diebold? The same crap happened with Java 1.2. Why do intelligent people accept this marketing bullshit?
When "Java 2" came out I had the same objection and still do. What the hell? When the real Java 5 comes out, are we gonna call it Java 50?
Wake up people! Computer savvy people should know about how numbers work.
There's one inside the jdk, but I don't see as a bad thing.
"I think this line is mostly filler"
They are using Eclipse. In which case, the IDEA user is missing out on that $800.
Wow! I'm having emacs vs. vi flashbacks! Except vi is also free...
My amazing wife - Artist, Author, Philosopher - Laurie M
Comment removed based on user account deletion
My amazing wife - Artist, Author, Philosopher - Laurie M
...but i'm gonna ask a stupid question:
Does this affect end users, or just developers (i.e. will downloading this make Azureus run faster/crash less)?
Will it? You cannot forget about several things. First they have the advantage of having the huge Microsoft marketing machine indirectly behind their backs. Secondly Iczaza is an excellent marketing guy for his projects. Third java always was and always is uncool because it is not OSS and it is by Sun (believe me, the name Sun gives you the complete hatred of the Microsoft zealots)
The main problem I see with Mono is, that if you code with that stuff you might end up with a solution which basically is dependend on the goodwill of Microsoft which has several core patents within the non ECMA parts of the library.
Mono itself is an okish platform for development, the language is nice, and what they do in the non Microsoft parts might be good enough to get out programs. Because most programs dont really heavily rely that much on speed, you need good hooks into the underlying gui toolkit and you can cover 90% of the programs out there even with a really slow language.
The main problem java had for a long time is, that it uses its own toolkit and in the beginning it was really slow (not anymore but thats another issue) So even if the language was fast enough for many purposes it ran into major problems from the user interface side of things.
So they word of mouth that java was dog slow basically came from the early swing implementations. Probably most people wouldnt even notice a java program anymore nowadays, once it is properly skinned.
Mono is slower than .NET in certain areas, but in
;-), but your
some others it is a lot faster. The areas that
get the most testing and use from the team are
likely to be more tuned than the Microsoft
counterparts (this is a nice benefit of using
Mono to develop itself: we actually use it to
maintain our own compilers, editors, and day-to
day tools).
You are mistaken about the JIT nature of Mono,
Mono has an optimizing JIT engine with pluggable
optimizations. You can control the level of
optimizations using the -O flag to the runtime,
and we support Ahead-of-Time compilation as well
which means that you can turn on all the obscene
optimizations (those who might be too expensive
to do at JIT time, and that historically JITs
had to implement by doing dynamic recompilation).
In our case, we turn on all the expensive
optimizations, and run the code natively, without
a dynamic translation (like a JIT would do).
Anyways, Mono has a dedicated staff to support
and maintain it (16 developers reporting to me,
plus other contributors from Novell in other
areas of the VM) in addition to the 250 accounts
for external contributors that continue to
improve Mono.
We are not in a quest to compete with Java, we
bring something different to the table (and in
fact, we even support Java in Mono
statements are incorrect.
Miguel.
Your argument has a few flaws, let me explain.
.NET, being dog slow has not stopped Java
.NET is fantastic, and if they
;-)
When GCC started, nobody thought that it could
match any commercial compilers, but with a strong
community and thousand of contributors it matched
the best optimizing compilers of its time, it is
a continuous race between compilers in general,
and there is no end in sight here.
Mono is repeating this story, we are tuning it,
improving it constantly and most users can
already appreciate a 30% performance boost from
Mono 1.0 to Mono 1.1.1 (in only three months
of development). We are also investing heavily
in high end optimizations (and as I pointed out
in a separate thread, we can afford this because
of our AOT-compilation mode).
But even if we always were to be slower than
adoption in the past. Being slow in general
has not slowed down interpreters like Python and
Perl in the past: what mattered was the
functionality.
And to some folks
can run it in MacOS, S390, SPARC and Linux all
the better.
That is your second flaw: that people only care
about performance, they dont (but even then,
we do, and we want to make Mono rule
Love,
Miguel
Could you post some links to back up your claim? Thanks!!
-- Cyrus (http://blogs.msdn.com/cyrusn)
How much confidence do you have in a product that has 5 major releases before it hits 2.0?
Actually it's Java 2 Standard Edition 5.0
(all marketroids must be destroyed)
I used to work for a company that made a UML modeling tool. The earlier versions of it had been written in C++ and just about 8 years ago a Java version was launched. The decision that was made a year later was rather risky: to discontinue C++ version and switch to Java completely. This allowed to concentrate the development on just one product, which finally brought the success.
Was Java one of the main reasons for the big success of the product and the company? Quite possibly so.
Would the company have succeeded had not Java been chosen? Perhaps, with a bit of luck.
If Java was such a crap as it's often depicted, would this be possible at all? I very much doubt it.
Speaking of which, "Tournamet Poker: No Limit Texas Hold 'Em" is written in Java. The commercial package comes with Windows and Mac Installers. Sadly, the Linux installer isn't included on the CD and appears to be a separate download. I'm going to just copy the files over to my linux box and mess with the classpath to see if I can get it to run.
The company that put it together (Donohoe Digital) is interested in translating other games to computer based games with their Game Development Framework (GDF).
--You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
I'm sure there are probably plenty of trollish or insightful statements regarding the language and its features, so i'm going for simple: It can use GTK2 themes and has Anti-Aliased fonts for Swing apps! Limewire looks like a gnome application now (not too mention it runs almost as quickly as one). This is what we need, cross-platform bytecode and cross-platform interfaces to common widget sets. Rock on!
/* End hysteria... */
Don't know what you have been installing, but mono is a pain in the ass to install via RPM, DEB or whatever. Java is simple. ./java-install.sh
Done!
I'll follow up my own post and say that I just e-mailed the company, and they'll send me a link to download the Linux installer version.
(yeah, a non-automated e-mail response in 3 minutes. Rock on.)
--You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
Yeah, but the post was titled "J2EE -- 1.3.1 still", which is INCORRECT. Did you read the title?
ArrayList vector = new ArrayList();
while (someObscureEndlessLoopCondition) {
vector.add(new SomeObject());
}
That actually brings the machine down. Not the VM. The real machine comes down due to excessive paging (commonly known as thrashing).
I have been planning sometime to write on the problem that exists between garbage collection and paging.
Well, that's nothing new a sun, is it? DO you remember the Sunos, I mean Solaris, 2.6 I mean 5.6 or 5.8 I mean 8, I mean who knows what _they_ mean? forget it. get acquinted with saying 'current'.
"First they ignore you, then they laugh at you, then they attack you, then you win." -- Mahatma Gandhi
Linux IT Consulting and Domino Development in Michigan
FYI, the first run of CDs didn't get the Linux installer for timing reasons, but we updated the gold master and Linux is on it now. It's hit or miss if you get the updated master.
However, any person who purchased the product can get the Linux installer by emailing us their name, address and activation number. Support details and demos are at our ddpoker webpage.
Thanks.
That's strange:
I just ran Mac OS X Software Update and it's not there.
I'll try again in the morning.
org.slashdot.post.SignatureNotFoundException: ewg
Manus Deï> Therefore you should all be in love with Sun's Java Platform
That sums it all...
Don't use that shit, the devs are so lame they don't know shit about what they're doin
Install slackware 10, it comes with java sdk preinstalled, ready to use.
Open Source Java Web Forum with LDAP authentication
The vast majority of the world's rice is grown in raw human waste. Doesn't make the rice inedible -- doesn't make the games unplayable. It doesn't turn the crap into gold, either.
-----------------------
You are what you think.
It's called reading for context.
Parent post to mine said he was "disappointed that it didn't live up to its advance billing and bring more applications to the various mobile devices I've used over the years". I pointed out that many, if not the vast majority, of mobile applications/games are java powered.
I corrected the original posters misconception. I wasn't saying "Java rules, you drooling moron". I just said it's there, you're missing it. You came in with a feces comment. Bravo sir, Bravo!
I noticed the URL. For what it's worth, I think Zope/Plone is an excellent web framework. It has some warts that have really frustrated me (usually from 3rd party addons rather than the core), but overall well worth the time examing/using it. ...and let me tell you, when it works, it's great. When you need to see some API documentation for it, I start wishing for something more like javadoc. Yes, I've seen the automatic documentation from source for Python. While I found the functions easily, the weak typing in Python made what you pass to those function unclear.
That said, the WebDAV support and object management are top notch. I'm glad I chose it for a project. There's no way I could have implemented another solution from start to finish in less than a month without it in any language (even Python).
- I don't need to go outside, my CRT tan'll do me just fine.
Are you aware that most cell phones have a jvm so that you can run crappy games like 21 or slot machine? and that this just bloated the processing power and consecutively the price and degraded batery life?
Besides, they're written in java because they're useless. they're put there in the last minute to please marketing folks. so the ppl that makes them (crapy soft houses) are aware and choose to develop in java. it would be oh-so-portable if they developed in basic for that matter since it's other people (cell phone programers) who have to write the jvm. i bet they would rater write a basic interpreter... By the way, are the genereal UI and even the camera thingy in java? no, cuz they were planned to be there, so it could be well developed. not just trhow there in the last minute.
Cell phones gives cancer!
Java is not dying, despite what a lot of people think.
The following is a very good explanation of the real reasons.
Explanation.
Of course, if you like to suck on the brown substance I suppose a cup would do. Go wild, get shitfaced.
Oh, I'm sorry. I thought we were talking about Java.
In Java, you have the add(Object) method on the List interface. You need to get an int in. int is not an object. Time to box it. Either do it manually, or automatically, I don't care. Personally I would prefer automatically.
Remember that the first requirement for 1.5 was that the existing bytecode still needed to work on the new VM. If they made List support the ML style of generics, they would have needed to break the VM pretty significantly. I'm not saying they shouldn't have, though... because it would be nice to be able to use List<int> instead of List<Integer>, sure, but like I said, since the majority of collections in REAL LIFE are not of primitive types, who really gives a fuck?
Karma: It's all a bunch of tree-huggin' hippy crap!
If there were a java.lang.NullPointerException, my code would have caught the exception. You can't catch segmentation faults.
Karma: It's all a bunch of tree-huggin' hippy crap!
You're missing a couple of points with regards to that hack:
1) (And the most obvious problem with the hack!) Not every user on a computer has Administrator privileges in order to write into the Windows system directory, where javaw resides... or even permission to write into the JDK directories. That is to say, some people work in (gasp!) offices, instead of posting naked on Slashdot as ACs from their homes.
2) If you want to bundle SWT into your application, then your users need to be informed about this hack in order for your application to look modern. Do you really think that directing ordinary users to a Wikipedia entry and telling them to do it themselves is the appropriate course of action?
Meanwhile, WX4J works natively, out of the box, with no such hacks. Why is it so hard for SWT to work the same way? Perhaps they just don't care, perhaps they are just too retarded to figure it out. I don't know.
Karma: It's all a bunch of tree-huggin' hippy crap!
If you need a more detailed (but not terse) guide to Tiger, try O'Reilly's Java 1.5 Tiger: A Developer's Notebook. It's one of those books with light-hearted writing style and nice simple examples written by dudes who really know the stuff.
www.rexguo.com - Technologist + Designer
jCreator cause java sucks
I downloaded the package from Slackware, and the tarball includes what appears to be essentially the same license (although with the truncated paragraphs complete). Unless there's some extra special dispensation (and I didn't find one), anyone redistributing this package (with or without Slackware 10.0) appears to me (IANAL) to be in violation.
Does anyone have any furhter information on this?
It's nice of Sun to turn a blind eye, but is that _really_ the attitude towards intellectual property we want Linux distributions to have? (Especially with Sun's dubious financial relationship with everyone's favorite company SCO?)
The MS license prohibits publishing benchmark data, but you can check for yourself, for example, the performance of Reflection.Emit (mcs, for example).
Last time I checked we did better also in a few cli-grande benchmarks and, of course, we could write benchmarks that highlight where we're faster.
Of course we have still work to do: anyone following mono development will find that the cvs version is already much faster than 1.0 and we have a roadmap page on the web site with details on the improvements we're currently working on.
Just use the precompiled packages and apt-get or redcarpet.
Also note that he was referring to licensing issues: mono is free software so it can be legally included in distributions. Java has some distribution restrictions.
A lot of the features were under discussion pretty well before the grab-bag JCP hit... I will say that C# helped light a fire under a few thngs like that, so from that standpoint it was helpful! Even generics they'd probably still be arguing about today, I still feel it should have been in 1.4.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
There are actually a few differnt ways to achieve that right now. usually what people do is have an installation jar for Windows, possibly something for another platform - and then a self-extracting jar that runs the installer (Zero-G and other installers will make these for you pretty easily). On OS-X you can double-click a jar and just have it run, and on Linux you can say java -jar and run the installer that way. So, it comes pretty close to having just one installer and windows people all get the exe files they know and love.
I forget but I think you can also double-click jar files on Windows once the JRE is installed.
You can also install over the web via java web-start, then it will even download the VM for them. We do that internally with some Java apps, but I'm not sure how many people are making heavy use of that over the web right now (possibly Puzzle Pirates?).
"There is more worth loving than we have strength to love." - Brian Jay Stanley
You do realize that there aren't really any features in either Java or C# that are new, right?
.Net (and the standard libraries especailly) there's more than a striking resemblance to a singular language.
Yes, it's true there is very little under the Sun which is new.
However it's easy to see the varied parentage of Java, whereas looking at
I'm not saying they didn't do a decent job refining some stuff that is in Java. I will say I consider it a terrific waste of time on everyone's part to work on erecting a Java clone instead of taking new directions with languages, like a next-generation functional language for the masses. Instead we get to damage the minds of impressionable youngsters with a horrific twist on MethodCapitalization and rewrite Ant just because we can.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
That's not correct.
Java can do this too. All you have to do is do it the statically-typed way, viz:
public <T extends SomeInterface> void foo (T o) { o.someMethod (); }
Female Prison Rape in NY
Miguel, thanks for answering in this thread. This question probably has been asked over and over again, but how are you guys are going to cope with the patent problem. I mean everything is dependend in parts of your projects on the goodwill of Microsoft (I am not speaking about the EMCA parts and your bindings into GTK2 and Gnome, but about things like WinForms or ADO, which war plastered all over with patents)
you're new here, aren't you?
And, of course, you decided that since he was new here, he didn't deserve an answer to his question. So I have a question for you: HTF is he supposed to learn if you don't answer his question? Answer me that, <troll>you dried stain on the toilet bowl of life</troll>.
peopal here don't misspell artical.
You're seeing the results of low standards American schools set when teaching the English language.
Our President is a shining example. He supposedly graduated from a prestigous University and still has zero command of the language.
+++OK ATH
Give me an environment that provides me with the following (or equivalent) and I'll convert:
Servlets, JSP, Ant, JUnit, Tomcat, Struts, JSF, EJB, JDBC, Eclipse, garbage collection, write once run anywhere (yes, it really does work)
I choose Java because no other platform offers me the productivity, for the kind of apps I write, that Java does. Show me the light and I'll gladly convert. Do you think you can?
In this world nothing is certain but death, taxes and flawed car analogies.
Whoever moderated you as "flamebait" is just trying to silence truthful words that he doesn't want others to hear.
I was a member of one of the JCP expert groups that worked on Java 5 (a.k.a. "Tiger" & "1.5"). I like Java as a programming *system* for certain tasks. I say "system" instead of language, because the big advantages are in areas other than the programming language, per se.
Although I don't find the C# language exactly exciting, I definitely prefer it to Java. The language improvements over Java (again, *language*, not associated ecosystem) are based on years of complaints from Java developers--complaints long ignored by Sun for reasons of backward compatibility and due to design philosophies of some senior designers who want a language that is optimized for productivity in the hands of frequently-changing commodity programmers.
Only the power of competition from C# has had the ability to shake the Java gods out of their committment to a frozen language. Sun is still committed to a frozen bytecode/JVM design, while Microsoft is not, so the gap is likely to widen, not narrow, while Java is likely to remain more widespread (new code will run everywhere on all of the old JVMs).
I prefer Java's portability and developed ecosystem, but I definitely prefer the C# language features, so I'm hoping that Mono will succeed at making C# much more portable.
Of course, for language only without consideration of the associated ecosystem (implementations, libraries, programmer availability, etc.), I most enjoy really dynamic languages like Lisp and ML, but whaddya gonna do....
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
You chose the right name, dude.
Is to write"
This is not a great soltion, though, as you might as well just write:
The point here is that this was delt with with interfaces, and this isn't where generics help.
This post written under Gentoo-linux with an SCO IP license.
Comment removed based on user account deletion
Then sorry about the comment, I didn't want to be offensive : ).
It's just something that I find intriguing.
O make me a mask