Follow Slashdot stories on Twitter


Forgot your password?
Oracle Java Upgrades

Oracle Discontinues Free Java Time Zone Updates 405

New submitter Noel Trout writes "For a long time in the Java world, there has been a free tool called the 'tzupdater' or Time Zone Updater released as a free download first by Sun and then Oracle. This tool can be used to apply a patch to the Java runtime so that time zone information is correct. This is necessary since some time zones in the world are not static and change more frequently than one might think; in general time zone updates can be released maybe 4-6 times a year. The source information backing the Java timezone API comes from the open source Olson timezone database that is also used by many operating systems. For certain types of applications, you can understand that these updates are mission critical. For example, my company operates in the private aviation sector so we need to be able to display the correct local time at airports around the world. So, the interesting part is that Oracle has now decided to only release these updates if you have a Java SE support contract. Being Oracle, such licenses are far from cheap. In my opinion, this is a pretty serious change in stance for Oracle and amounts to killing free Java for certain types of applications, at least if you care about accuracy. We are talking about the core API class java.util.TimeZone. This begs the question, can you call an API free if you have to pay for it to return accurate information? What is the point of such an API? Should the community not expect that core Java classes are fully functional and accurate? I believe it is also a pretty bad move for Java adoption for these types of applications. If my company as a startup 10 years ago would have been presented with such a license fee, we almost certainly could not have chosen Java as our platform as we could not afford it."
This discussion has been archived. No new comments can be posted.

Oracle Discontinues Free Java Time Zone Updates

Comments Filter:
  • Alternative (Score:3, Interesting)

    by Anonymous Coward on Saturday June 08, 2013 @08:27AM (#43945343)

    Do they want to promote an alternative? How does this affect the OpenJDK?

  • by Anonymous Coward on Saturday June 08, 2013 @08:57AM (#43945461)

    Why doesn't java use the operating system to provide that information in the first place? At least on operating systems that provide that sort of information, which isn't just "linux" but pretty much all unices.

    Also, ISTR the source updates maybe twice a year, and is free, so I don't see why java has to be so special. Then again, oracle is a very special company in that regard. Everybody needs this, and in fact needs everybody else to have it too, so it's stupid penny pinching that's going on here.

    And it is very stupid, just like their handling of patches for critical holes turned out to be criminally stupid. It's not like their head honcho needs the money, seeing how he squanders it on airport fines and the like.

  • by Anonymous Coward on Saturday June 08, 2013 @09:10AM (#43945525)

    Because Java wants to be a complete virtual machine, so it wants nothing to do with the operating system services at all.

    One of the reasons it does its own memory management, i.e. when you start an application you have to tell Java how much memory it is allowed to use and Java then allocates the whole thing when it starts.

    Java is interesting you need to be a very good programmer to use Java well, and any good programmer doesn't want to use Java.

  • by kthreadd ( 1558445 ) on Saturday June 08, 2013 @09:17AM (#43945571)

    Python is terrible and the primary implementation is far beyond terrible.

  • by julesh ( 229690 ) on Saturday June 08, 2013 @09:18AM (#43945575)

    Yes, but Python's bytecode is much higher-level than the bytecode used by the other three, because it doesn't have explicit typing of variables or direct integer manipulation. The performance implications are substantial if you're performing any non-trivial calculations. (Of course, if your process is I/O bound, this is largely irrelevant...)

    Python also cannot be efficiently multithreaded, which is a killer for many high-performance applications.

  • by ebno-10db ( 1459097 ) on Saturday June 08, 2013 @09:30AM (#43945657)

    Why doesn't java use the operating system to provide that information in the first place?

    Because despite being called a portable language, the real Java approach is a portable environment. I'm not debating whether that's good, bad or indifferent, but that is the approach.

  • by Lumpy ( 12016 ) on Saturday June 08, 2013 @09:33AM (#43945675) Homepage

    "Develop software - production software - in an interpreted language?"
    What the hell do you think Java and C# are? Compared to C and C++ they are interpreted languages.

  • by RabidReindeer ( 2625839 ) on Saturday June 08, 2013 @09:35AM (#43945683)

    it's Time to switch to python

    Develop software - production software - in an interpreted language?

    Not on my watch.

    C# and Microsoft is looking better everyday.

    Python is commonly compiled at first use these days, much like the Java JIT compilation process.

    If you want a legitimate reason to avoid Python for mission-critical stuff, it's the lack of rigorous development-time type-checking.

  • by EmperorOfCanada ( 1332175 ) on Saturday June 08, 2013 @10:00AM (#43945819)
    Java lost me many years ago for various reasons. But not using Java was more of a gut feeling as opposed to a well thought out plan. But now between the this craziness and the non stop drip drip of security flaws I have now moved into the camp that anyone using Java on a new project is just drinking the kool-aid. With Oracle at the helm you just know they have a spreadsheet with a time-table for monetizing Java harder and harder as time moves forward.

    My guess is that Oracle has seen the writing on the wall that many business organizations are solidly Java and can afford any "minor" fees involved. What they are missing is that many university CS departments are dumping Java in favor of Python as Python is becoming the defacto language of academia. My prediction is that Java will ever so slowly fade as it is ensconced in the business world and isn't going anywhere there. But that the cool kids will see it as their grandfather's language and actively avoid it. I am not suggesting that Python will replace Java just that with CS students not giving a crap about Java they won't choose it for new projects.

    One thing that has long annoyed me about Java progammers is this whole, "Let's wrap every damn thing in a object." Then you end up with an architecture that looks like the traveling salesman problem done by someone on LSD.
  • by codealot ( 140672 ) on Saturday June 08, 2013 @10:17AM (#43945909)

    Yes. We switched 6 years ago and never looked back. The java.util.Calendar classes in Java are pretty horribly broken--usability aside, they get some key calculations wrong, like ISO week of year.

    The best part is that Joda doesn't need or use the time zone database bundled into Java SE, so they aren't affected at all by Oracle's support policies.

  • by gadzook33 ( 740455 ) on Saturday June 08, 2013 @10:53AM (#43946095)

    I can't believe this post isn't modded up more. More and more I feel like the readership of slashdot is a bunch of script-kiddies rather than professional coders. The idea that you would use whitespace to denote something as important as scope is ludicrous. In fact, the idea that you would use whitespace to denote ANYTHING is ludicrous.

  • by Anonymous Coward on Saturday June 08, 2013 @11:01AM (#43946149)

    The benchmarks game [] is the first link that comes to mind.

    Feel free to compare it against other languages on the benchmarks game. Python, Ruby and PHP are the slowest languages in widespread use and to make it even worse Python and Ruby both have global interpreter locks because their implementations aren't thread safe. They're terribly slow even when most of their libraries are thin wrappers around C libraries.

  • by Anonymous Coward on Saturday June 08, 2013 @12:08PM (#43946511)

    Go has the same problem that Ruby has: too many damn weenies in the community.

    I don't mean an overabundance of men and penises, which is indeed a problem for both, but the smugness and the attitude one must endure when dealing with them.

    I try to stay current with the technologies that others are using, so I've worked on some small personal projects in Ruby, Go and Python. I usually ask questions in IRC when I happen to get stuck.

    When I was asking questions about Ruby and Go, the people there would constantly tell me that what I was doing, or even just aiming to do, was "wrong". So, I'd give them the benefit of the doubt. Hey, maybe I am wrong, and maybe they do have a better way. Yet every single time their suggestions would not help me attain what I wanted, would obviously not work, or were even outright harmful in some cases.

    I never got this in the Python IRC channels. When I asked a question, they'd give me helpful answers, or at least help orient me in the right direction. They wouldn't take a holier-than-thou attitude with me. They wouldn't flat out tell me what I wanted to do was "wrong". They wouldn't give me suggestions rife with obvious security holes or other bugs.

    The Python community helped me with my problems, and made me more efficient. The Go and Ruby communities just made me feel annoyed, like I was dealing with a bunch of know-it-all teenagers. Then again, maybe that is exactly what was happening. I was dealing with adult men and women when using Python, but I was dealing with passively-rebellious youth when seeking help with Go and Ruby.

  • by Anonymous Coward on Saturday June 08, 2013 @12:38PM (#43946655)

    My normal practice when I need to insert debugging statements while debugging a program is to put in these lines right at the left margin without any indentation. This makes them stand out clearly when I come back to clean things up when everything is working. I would not be able to do this with Python. This is one big reason I never want to use it.

  • by phantomfive ( 622387 ) on Saturday June 08, 2013 @02:37PM (#43947221) Journal
    If you were worried about problems that might happen when different people owned Java, then you should have listened to Richard Stallman and never started using it in the first place.

    As it is, thanks to Stallman and others, there are now open alternatives.
  • by julesh ( 229690 ) on Saturday June 08, 2013 @03:11PM (#43947405)

    I don't quite understand it either. Isn't the point of Computer Science to teach people the principles behind the operations of the computers we use every day?

    No. The point of computer science is to teach methods of reasoning about the behaviour of computers. Yes, this involves knowing those basic principles, stuff like what pointers are, how memory can be divided and allocated between different tasks, how it can be reused after it is no longer required, and so on. But much more fundamentally it involves understanding the principles of what a program is, how data structures can be built up from individual stored items, and so on, and this is much easier to teach in a higher-level language than a lower-level one.

    A computer science program should teach students at least four languages:

    - A high level language, suitable for building complex data structures. It should have garbage collection, and would typically be object-oriented.
    - A low level language, suitable for describing memory management tasks
    - An assembly language, to show how machines work at the register level
    - An additional high level language. If the first high-level language was object-oriented, this language should be functional. If the first was functional (there are a handful of programs that teach a functional language first, and it may be a reasonably good idea) this should be object-oriented.

    Additionally, at least one of the two high level languages needs to have good support for parallel operations (e.g., a good library of communication and synchronization primitives), or a third high level language will be required to cover this.

    My course, back in the 90s, went a little overboard. I learned:

    Pascal (first high level language, used for data structure courses)
    C (used both for low level computer architecture stuff and for compiler design course, due to interface with flex/bison)
    68k and 32000 assembly language (two different hardware level projects using two different development kits)
    C++ (only OO language)
    A non-standard and peculiar language with integrated primitives for concurrent programming
    Miranda (a functional language somewhat similar to ML)

    I think disorganisation led to there being too many languages on the list. Java could have replaced 3 of those items with a single language, and a few years after I graduated it did.

You can measure a programmer's perspective by noting his attitude on the continuing viability of FORTRAN. -- Alan Perlis