Now it's official - JDK 1.4 Ready for Download

Discussions

News: Now it's official - JDK 1.4 Ready for Download

  1. Now it's official - JDK 1.4 Ready for Download (65 messages)

    The 1.4 JDK is officially available on the Javasoft website (don't see an RC on it anywhere). You can download the long awaited final release. Happy downloading & Happy Programming!!

    Get here @
    http://java.sun.com/j2se/1.4/download.html

    Threaded Messages (65)

  2. Looks like too many downloads made site crawl :-)
  3. Whoo hoo. Do we now have:
    generics,
    operator overloading,
    defaul parameters,
    collections that take built-in types,
    deterministic finalizers(destructors),
    stack based objects,
    delete operator,
    .....

    If not, Java is STILL a pitiful language (but I'm glad I know it cause it puts bread on the table right now....).
  4. Oh please, this is troll-bait.
  5. I moved from C++ to Java specifically to escape that garbage - I'm glad it's gone.
  6. Finally they made the download page clearer. Boy, what nuckle-heads they have as site designers!
  7. I just downloaded it, and Forte has a mouse wheel!!!!!!!!!!!!!!!!!!!!!

    Running JRun, I can SEE the difference in speed! I haven't yet run a good load test, but it's pretty obvious. Swing runs nicer, Forte complains about not having jdk 1.1 debugging abilities any more, but thats ok. It did take me a long time to get it though. It would be nice to have some mirrors.
  8. One of the wonderful things about Java is that it doesn't have all that trash. C++ was a great exercise to explore what NOT to put into a programming language. Thank goodness it's in the rearview mirror.
  9. It's very strange how people think that C++ was trashy language. Of course it was difficult to learn and use (not lammer friendly) . But still it's the Language because you can create things in C++ which is impossible in Java or C#.
    I;m using Java since begining of it. And IMHO it lack some features of C++.
    Simple example:
    const references and const methods. Look at awt and swing everywhere implementation of Rectangle getBounds() does cloning of rectangle. Now imagine what's happens if some "guru" will call it in a loop ? :).
    So before making stupid comment againts C++ go and learn it :)
  10. Jesus, do not transform this thread to a Java vs C++!
    Let's enjoy the new JDK release!
  11. A moron is a moron no matter what language he/she uses. Imagine a programmer doing new XXX in a loop in C++ or Java. What is your point ?

  12. It doesn't work with weblogic. It doesn't work smoothly with Together. I hope they will release the JDK 1.4 support versions real soon. I want to feel it in a my production machines...
  13. WebLogic 6.1 definitely doesn't work with 1.4 - I tried it some while ago, and it appears that it ships with modified security classes - most likely in order to get JAAS to work or something like that.

    --
    Dimitri
  14. See http://www.genuitec.com/products.htm for instructions on how to configure WebLogic 6.1 to run with JDK1.4. Of course, this is an unsupported configuration that should be used for development only. Eclipse 2.0 w/Hot Code Replace support + JDK1.4 + Genuitec's WebLogic plugin for Eclipse is a very nice EJB development environment.
  15. I just tested it with Together,I could really see a difference in performance & memory consumption.
    Early for a medium size project Together used consume approximately 100K & now for the same size it consumes 75K . 25% reduction in memory consumption. Also i could see a better response in the tree navigation..

    These were the sharp differences i could make see in JDK1.4.

    Thanks for Sun :-)
  16. <quote>
    Simple example:
    const references and const methods. Look at awt and swing everywhere implementation of Rectangle getBounds() does cloning of rectangle. Now imagine what's happens if some "guru" will call it in a loop ? :).
    </quote>

    that is a design problem, not a problem of the java language. the people who brought us swing decided to make the Rectangle class mutable (Same thing applies to the Dimension class). If the class had been designed immutable, cloning would be unnecessary.
  17. A man's gotta know his limitations. The fancier the solution, the fancier the problem. It's one of the reasons programmers flocked to java in the first place:elegance.

    Case in point: most of the corporate solutions for memory leaks is to buy more memory because they don't have the resources to track it down. The end result: Problems aren't solved, just delayed.

    How did this happen? Fancy solutions.

    .NET will enable VBists to wreak havoc on this earth. In other words, we are going to be hearing of bugs the size of
    mount rushmore. Fortunately bugs like Lee Fuller will have bosoom buddies to keep him company.
       
  18. You really are a childish biggot, n n (or whatever your real name is, a junior employee for Prusec?). I hope in coming years you will actually gain some experience and perspective.
  19. As a language Java IS VB with inheritence.
  20. "As a language Java IS VB with inheritence. " wintroll(sartoris)


    Stay off the medication when posting.
  21. Satoris,

    We already have a language with all that...C++. If you want or need any or this stuff use C++. Why would we want to turn Java in to C++ when we already have C++?

    Right tool for the Job. If I am on a project that requires these kinds of construckts I will use C++. But most of the time I don't so I use Java. I quite like the new 1.4 features...

    If you want to Troll, go to Slashdot!!
  22. My original post was a sideways stab at Sun. If they would release it to a standards body we would get many of those features and more (another post mentioned consts which is another excellent feature).

    With Java we have a rich API that is mostly OS agnostic. But we have a language that is, well, pitiful for its lack of meat. Make it a more rich language and Java can rule the world.

    The new releases are just tinkering around the edges. Give us some truly useful language features.

  23. Perhaps the people knocking C++ features here haven't used generics extensively. It is generally a good principle to catch errors at compile time rather than runtime. This is what generics can give you - removal of the thousands of casts Java programmers perform whenever they remove something from a collection.

    Other useful C++ features people have noted include the const keyword, which I couldn't live without while programming that language. I think it would be useful in Java also.

    Being able to create stack based objects would also be helpful - I believe C#/.NET permits this. This would allow explicit control over an object's lifetime.

    I don't miss features in C++ such as explict control of the heap, operator overloading and multiple inheritance particularly - these are more controversial.

    There is little point ranting about C++ in general. It does have some very useful language features, although even diehard C++ programmers would admit it can get very complex. Read *The Design and Evolution of C++* to find out why each feature exists. Then debate each feature on its merits.



  24. "Other useful C++ features people have noted include the const keyword, which I couldn't live without while programming that language. I think it would be useful in Java also.."

    Ever heard of "static final?" How long have you been programming in Java? Or should I say, Have you ever programmed in Java?

    It's always the same set of characters armed with FUD and NO java experience that flood the start of the thread when Sun has an announcement. You can spot them a mile a way.
    They are constantly out and about to BREAK java momentum on theserverside.


    Microsoft's nature has always been to take over whatever may exist because of lack of vision and talent( ie products, companies, and now a J2EE Portal?) Their culture is NOT about innovation but swashbuckling. It seems TheServerSide is somewhere on their list as a prized gem. The pirates are on board folks. I would advise everyone to sew their pockets and sleep with a pistol under their pillow.



  25. "Ever heard of "static final?" How long have you been programming in Java? Or should I say, Have you ever programmed in Java? "

    you cannot have:

    void nn(static final SomeType st) {}

    or

    void nn(SomeType st) static final {}

    And what does MS have to do with C++? C++ is a ISO standardized language with standardized libraries.
  26. <quote>
    "Ever heard of "static final?" How long have you been programming in Java? Or should I say, Have you ever programmed in Java? "

    you cannot have:

    void nn(static final SomeType st) {}
    </quote>

    ever heard of IMMUTABLE objects ?

    -->

    for constant primitive types use the STATIC FINAL modifier
    for constant object implement classes as IMMUTABLE
  27. "ever heard of IMMUTABLE objects ? "

    Nice try. Not the same thing.
  28. JDK??? We don't need no stinkin' JDKS. LOL.
    Hey, this is a good thing, no? It levels the playing field, no? Now, an itty-bitty corporation like me, that only has a garage for its office and total assets, can compete in the open market, no? And harken ye good folks, how does one go about peddling some cool enterprise "beans"? Any and all pointers will be highly appreciated and rewarded in time. (;-). In cash, as well as in kind!
  29. Exactly how does JDK 1.4 level the playing field for small corporations?
  30. 'Cuz it gives me, the company of one sitting in a garage a vast amount of tools and productivity aids to jump start my development of this very cool "bean" that I have conjured up for all enterprises, big and small.
    Muttering sotto voce..shaking head...
  31. The majority of changes in J2SE 1.4 is the adoption of optional packages into J2SE. The only big changes otherwise are assertions, the logging api, and the I/O library. Log4J still seems like a better solution for the logging problem and I don't notice any better performance in Swing than before under JBuilder 6. That leaves assertions and I/O as additions to J2SE 1.4.

    Your cool enterprise "bean" shouldn't even be using the I/O packages if you follow the spec and assertions, while very good for development do not provide additional functionality to your code. Most of J2SE 1.4 could be accomplished using optional packages and open source projects.

    The good thing about J2SE 1.4 is that now we don't have to worry about having the optional packages because they are all right there.

    Lastly, why do you keep putting bean in quotes?
  32. Did you read about the new features at
    http://java.sun.com/j2se/1.4/articles.html
    There's been a complete rewrite on Swing, that improves it under the hood. Regular Expressions are now available, the preferences API etc.

    The whole discussion on what is not in the JDK 1.4 is not really important. Go to the Patterns area if you want anything like such goodies. You might put decorators to collections and so on...

    What really is important, is clear: Which products run with the new JDK and which don't. That's what most of want to read if they look into this thread.

    Markus
  33. Why are C++ people trolling this announcement? This is a java board. Go away. No ... stop .... dont reply ..... its off topic. Its irrelevant. We dont care that you think C++ is better. We use Java. You use c++. Our choice, your choice. Go find a C++ board.

    And to the poor sap using Jbuilder, just say "no."

    www.togethersoft.com

    Together Control Center is the GOD of multideveloper software engineering. JBuilder, Cafe, Visual Age are all toys.
  34. You are kidding about Together, right? That product has more bugs then anything I have ever used. When we contacted our sales rep he said that they would work with us to get around the issues. I apologize but when I pay $10,000 for a development tool, I don't expect it to accidentally wipe out my source tree (which happened to more than one of our developers). JBuilder is a strong product for development.

    Actually on-topic, it doesn't matter if Swing is a complete rewrite if nobody notices an improvement. JDK 1.3 was supposed to improve Swing performance and I didn't notice much. I hope 1.4 proves to be more significant, if not than I hope IBM releases a 1.4 compatible JVM soon.
  35. Huh? Ive been using Together Control Center for 2 years and it hasnt done anythign of the sort. The only bugs I can think of in it are little annoying things like it loosing focus in the tree on occasion. What were you using ? Joe's Together Look-Alike ? Additionally, I find it hard to believe you even used it given that you say you supposedly deployed it in a multi programmer environment at 15k per copy and then dropped it for JBuilder. That would have been a precious hard sell to management.

    "Scuse me sir, but I wasted a hundred thousand dollars, can I have some more to buy JBuilder?"

    How many of you REAL corporate developers out there can immagine saying that to your boss? No, what is more likely is that you are a JBuilder fanatic, one day downloaded an OLD copy of Together Whiteboard and pronounced it to be crap without ever trying the real product. You can ask every developer in my department and not a single one would trade Together for JBuilder on a dare.

    JBuilder uses the old microsoft strategy. They get you into one of their products and try to lock you into the other and make you like them for it. I personally thought developers were smarter than to fall for a cheap trick like that but I have been proven wrong more than once.

    Be weary of the "one company solution."
  36. I never said we purchased a copy. We evaluated it and decided at upwards of 10K per copy it wasn't worth the trouble.
  37. I assure you, your evaluations were totally and spectacularly wrong. Its worth every penny.
  38. Oh and additionally, you didnt notice an increase with JDK1.3? Im not suprised actually. Put away the GUI builder in JBuilder and actually figure out how to write a GUI. Come back in 6 months and look at your old code generated out of JBuilder. Just make sure you have an ambulance standing by because you might have an anurism from laughing so hard. The output from GUI builders has always been complete and utter trash.

    Now, for the programmers that really write our GUI's, I saw a HUGE difference with JDK 1.3 and 1.4 looks good but i have to wait til all my tools catch up to supporting it.
  39. <Sartoris Snopes>
    "ever heard of IMMUTABLE objects ? "

    Nice try. Not the same thing.
    </Sartoris Snopes>

    would you please be so kind to clarify your position. thanks.
  40. Dear n, n,

    In c++ you have not only const references but you have const methods. These methods can not change state (aka safe getters). What is good with these methods that you can return const reference to internal state without cloning (not violate Demetri principle).
    Of course in C++ you can use *_cast() operators to access it ...
  41. static final contruct means static constant.
    How it realated to const methods ?
  42. For what it's worth blakshaw was not clear about the type of const he was looking for. Since you are such a gentleman, I have included a link to implementations of const method functionality among other things within java.
    Enjoy.



    http://www.c-lab.de/java/Java_Cookbook.pdf
  43. Dear n n,
    it seems that you have a limited C++ knowledge..
    Yes, you can implement (some) of the const functionality with Java - but you have to do it by hand, and even so, something like String getName() const; can't be implemented and _enforced_ at compile time.

    There are a lot of things that C++ does better than Java. There are a lot of things that Java does better than C++.
    Some people find feature X bad or good. So what?

    STL has been around for years and years - and it's much more powerful than java Collections.

    GC - you can do GC with C++ if you really want and not worry about delete/new operators at all - and don't get any more memory leaks than JVM provides for you..

    You can't easily synchronize things with C++ and managing threads is a nightmare.
    Inner classes (when used properly) are a very strong construct for something that's hard to do in C++.

    etc. etc.

    The main difference between Java and C++ I see is that C++ gives you a plenty of rope - and leaves it up to you whether you want to hang yourself or do something useful.
    Java is much more friendly language - but it plays it defensively.


  44. If you would have paid attention, I provided a solution to blackshaw and sartopis complaints against Java. And next time, read the thread before you come in here painting with broad strokes about what I said. It seems your looking for an excuse to pony show your c++ knowledge from imaginery arguements that somehow your have convinced yourself are from me. I have never hinted towards conclusions you are refering to on my part, if you believe otherwise please provide the posts.

    damn nit picking grannies.



     
  45. You have provided solutions to
    Z method(const param) (using final)
    and
    const Z method(param) (using extra ZConst class, which incidentally isn't a very nice method due to potential high cost)
    and their combinations
    there is still
    Z method(param) const;
    that Java cannot deal with - at a compile time.

    As for not talking C++ on Java forum.
    Sartoris in his original post mentioned a set of features that he would like to have in Java. There was no mention of C++ anywhere in his post - in fact a number of those (bar the delete operator) are provided in other languages as well.
    I think that most of these will eventually make their way into Java - the same way as assert and generics got in already.
    So I took his post as "how could we improve Java", rather than asking for Java to become C++. I find it funny that it's the Java zealots who aren't able to admit that there could be features in other languages that are better than Java jumping in right away.

    If you don't feel a need to learn, all I can do is pity you. Cobol programmers didn't need to learn as well, safe in their knowledge that "Cobol is all everyone will ever need".
  46. "Sartoris in his original post mentioned a set of features that he would like to have in Java. "

    Thanks Vlad (your check is in the mail). That was my point exactly. I did use PITIFUL to describe Java. That was a mistake on my part. I would just like Sun to stop tinkering around the edges and give us some meat. Really, I'd like to see Sun release Java to ISO or something so that a standards body can have a go at it. Presumably that body would act on the best interests of the language and the development community. Java is improvable. So let's do it.

    To all the Java Luddites out there, you don't have to use any new features if it offends your well-being.
  47. does jdk1.4 provide support for enumerated types?
  48. The context of this post is regarding some desirable features that i wish had been included with the JDK.
    Some simulation tools. See...me, and my one man company, sitting and toilingt away in my dark garage, would like to envision, for example, what this cool BEAN that I am developing, among other cool beans i already have, would behave in the real world of enterprise computing. And for good measure, maybe even some live examples or templates like the Money Broker example we saw in J2EE..or was it used to contrast J2EE versus .NET.
    I am neither a Java bigot (though I love Sun MICRO as a customer of mine) nor a Microsoft .NET bigot (though I admire the dickens of Gates and his audacious ilk), but I do feel I should allow some .NET goodies to be also developed in my garage. Yes? That way I could sell my COOL BEANS to both camps. Oh, I can hear it all now...Kaching...kaching...go the cash registers....
  49. Sartorially splendid though the JDK may be, it does not eliminate some problems for this one man company of mine operating out of a garage and a shoe string budget to make things better deployable in the far and wide realms of customer bases. Has anyone tried to write the XML descriptors for say Weblogic? Man, what a pain, eh?
    Where did that hyphen and where should it not go? Pain, pain.
    What about Best Practices for J2EE? JDK will not solve that issue. And then, of course, the purveyors of J2EE based products will always find ways to embellish and hence confound and confuse the developer public, like yours truly. How on earth then can I peddle my COOL BEANS easily? Maybe, if UDDI were in vogue universally, I could, eh?
  50. C++ at all is off topic for the server side. This site is J2EE centric only. Please remember the focus before posting.
  51. "Ever heard of "static final?" How long have you been programming in Java? Or should I say, Have you ever programmed in Java?

    It's always the same set of characters armed with FUD and NO java experience that flood the start of the thread when Sun has an announcement. You can spot them a mile a way. "

    I have 8 years commercial experience of C++ on a variety of platforms. I have 4.5 years of commercial Java experience, mainly in the investment banking industry. You can take a look at my free Java FTP client at www.enterprisedt.com. Over 20,000 other people have, and thousands of people are using it in commercial applications around the globe. I think I have enough experience to make comparisons between the two languages.

    As other posters have pointed out, "const" in C++ is used in a number of useful ways in C++ not at all covered by "final" or "static final".

  52. I SUGGEST SARTORIS AND BRUCE BLACKSHAW DO SOME READING UP ON IMMUTABLE INTERFACES. THE MIND IS A TERRIBLE THING TO WASTE ON TROLLING.

     
    "I have 8 years commercial experience of C++ on a variety of platforms. I have 4.5 years of commercial Java experience, mainly in the investment banking industry. You can take a look at my free Java FTP client at www.enterprisedt.com. Over 20,000 other people have, and thousands of people are using it in commercial applications around the globe. I think I have enough experience to make comparisons between the two languages." - Bruce

    I did those same 8 years in NY within the brokerage field but it was actually 4 years because I spent half a day on the beach bird watching and quarter the evening at Hogs and Heifers with 20,000 sweet smelling legs, since my projects were on time. I would think, I have enough experience also.
     


     
  53. Sounds like what you really want is
    for Java to be like C++. I for one think this
    is a nauseating idea. A delete operator.
    What for. That is why you have garbage collection.
    If you want C++ then. Use C++
  54. "A delete operator.
    What for. That is why you have garbage collection"

    GC is resource intensive. There are many cases when I know I'm done with an object. If I can't create an object on the stack then let me delete it when I'm done. You can still have the GC.

    "If you want C++ then. Use C++ "
    I want C++ but with cross platform capabilities and the rich libraries that Java has. What is nauseating about that?
  55. It is useless to enter into a debate on merits of C++ vs Java. In this forum, it is equally useless to have a religious fight on what language featuers Java must support.

    The point here is that JKD 1.4 has released -- that is Java is growing.

    No one has claimed that Java has achieved the ultimate goal of excellence. But with every new release Java is impoving.

    Now those who want features like generics, const, type-safe enums, stack based objects etc. etc. can go and vote for these features on BugParade. Hopefully they will get them in the next release.

    Aparently the features mentioned above are all in top 25 list. So if you really want to fight for these features go to

    http://developer.java.sun.com/developer/bugParade/

    Top 25 RFEs(Request for Enhancement)
    http://developer.java.sun.com/developer/bugParade/top25rfes.html

    regards,
    Sohaib

  56. With posts like that I doubt you'd have the intelligence to be able to use those features effectively anyway!
  57. I wonder how stable it is on Linux?
    1.3 was never very useable.
  58. I imagine there is quite a rewrite to do of application servers. The introduction of asynchronous I/O will result in a significant change in how app servers are written. Many app servers currently use native I/O so they can scale - this can now be removed and done completely in Java.

  59. Can it be used with J2EE 1.3
    If Yes How to use it ?
  60. regarding incorporating generics into the java langauge, I thought I heard something about this happening with version 1.4 of the JDK. I am not starting an argument as to the merits or evils of Generic programming, but simply finding out if support for this feature has been included in JDK 1.4 or not. I even downloaded a draft specification on Generics in Java from the javasoft website so i am surprised what became of it in the new release.

    Thanks

    Tinyiko
  61. From what I remember, generics are going to be included in the 1.5 release.
  62. I believe you are right. Generics are slated for the 1.5 release.

    It is one of the JSRs, I believe you can get some sort of a compiler/tool now from the JSR pages that allow you to experiment with generics now and give feedback etc.

    [Can't resist an argument - "const" has lots of shades of meaning in C++ it's meaning in a particular context is often subtle - and it is easy to do things you didn't mean to do. Far from making the language safer for the "less able/average programmer" it can make the actual code logic impenetratable to anyone less than guru level. Ditto for operator overloading. Java is aesthetically pleasing because it has less keywords and much less sytactic clutter. If you need the extra power of C++ then get yourself a GURU like some of the ones swaggering around this thread - and leave us impoverished Java developers to get excited about our latest shiny new toy]
  63. generics in java is dealt with in JSR-014
  64. "Ditto for operator overloading"

    I agree. I actually quite like operator overloading in C++, but its use must be *very* carefully controlled. Indiscriminate use in C++ makes for code that is difficult to follow. I think that this is one feature Java can do without.

    Similarly, "new" and "delete" Java can also do without. But objects on the stack would be useful.

    I'm excited about the new release of the JDK. Asynchronous I/O will transform server-side applications. Assert will be useful also. But there's still some things I'd like added.

  65. Is this 1.4.0 a final release or FCS?
    I found the documentation is in FCS status.
  66. The utter lack of a metaclass level in Java!!!

    I am the root of the class hierarchy. My instances are metaclasses, one for each real class. My instances have a single instance, which they hold onto, which is the class that they are the metaclass of. I provide methods for creation of actual class objects from metaclass object, and the creation of metaclass objects, which are my instances.

    It's time to get down to some real OO and stop fooling around people!

    :)

    - Greg