Slashdot Mirror


Oracle Discontinues Free Java Time Zone Updates

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."

405 comments

  1. ORACLE = One Raging Asshole Called Larry Ellison by Lehk228 · · Score: 5, Funny

    it's Time to switch to python

    --
    Snowden and Manning are heroes.
  2. First post! by Anonymous Coward · · Score: 0, Offtopic

    First because I'm not using java. And don't expect jack from Oracle, who still uses java by choice?

    1. Re:First post! by Anonymous Coward · · Score: 1

      Typical Java, by the time you type it in you're no where near first post.

    2. Re:First post! by Anonymous Coward · · Score: 0

      Only one post beat him. The rest are replies to that one. Karma-whore trick: put your comment as a reply to a high comment, even if irrelevant. More mods will read it. Not that I do that all the time or anything...

    3. Re:First post! by Anonymous Coward · · Score: 0

      He was three seconds late - that's a lifetime in FP wars.

  3. Alternative by Anonymous Coward · · Score: 3, Interesting

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

    1. Re:Alternative by kintamanimatt · · Score: 1

      It doesn't. That's developed independently of Oracle, although IIRC Oracle tends to use a lot of code from this project as part of the stock JVM.

    2. Re:Alternative by ls671 · · Score: 1

      This makes me think; somebody from the open source community should be able to make a timezone patch freely available for Oracle's JDK.

      --
      Everything I write is lies, read between the lines.
  4. Oracle giving it up the ass by Anonymous Coward · · Score: 0

    Who's surprised?

  5. Milk it while it lasts? by Anonymous Coward · · Score: 0

    This has me wondering about Oracle's motives. Maybe they have made an internal assessment that java is on a downward path anyway and they might as well make as much money as possible while they can?

    1. Re:Milk it while it lasts? by Joce640k · · Score: 1

      They only bought Java because they thought they could sue Google (ie. Android) over the API.

      --
      No sig today...
    2. Re:Milk it while it lasts? by Anonymous Coward · · Score: 0

      I think you could be right on this one.

    3. Re:Milk it while it lasts? by bobstreo · · Score: 1

      They only bought Java because they thought they could sue Google (ie. Android) over the API.

      Well there was that whole database company Sun had bought for 1 Billion, Of course Oracle did wonderful things
      with that purchase too...

      http://en.wikipedia.org/wiki/MySQL

    4. Re:Milk it while it lasts? by gl4ss · · Score: 1

      They only bought Java because they thought they could sue Google (ie. Android) over the API.

      or perhaps.. just maybe, just maybe, hear me out, perhaps it's possible that they bought Java because it's the language that their other products are used with. I know it sounds far fetched but it just might be the truth!

      --
      world was created 5 seconds before this post as it is.
  6. Here we go by Anonymous Coward · · Score: 0

    The beginning of the end of Java for the 'rest of us'.

  7. Cannot someone else do the updates ? by Alain+Williams · · Score: 5, Insightful

    The information needed to provide the updates is freely available, so cannot someone else provide the updates ? Just get tzupdater to download from a different place. I am not a Java programmer, so forgive me if I have got the wrong end of the stick.

    Even better change the Java functions to get the information operating system, on Linux the tzdata, then Java is kept up to date as the OS is kept up to date.

    1. Re:Cannot someone else do the updates ? by Nerdfest · · Score: 2

      Perhaps JODA Time could pull it from the OS in Linux or a file otherwise. It's very much what upcoming time and date changes are going to look like anyway and are vastly better than the built-in support. Alternatively, it's quite easy to tweak a couple of the built-ins using their source to do the same and put them in the classpath before the supplied versions. Not pretty, but effective in the short-mid term.

    2. Re: Cannot someone else do the updates ? by Midnight+Thunder · · Score: 2

      I have always wondered why this is something that couldn't be delegated to the operating system. Does anyone have any ideas? Is this something that could be addressed in OpenJDK? Can we use icu4j instead?

      --
      Jumpstart the tartan drive.
    3. Re: Cannot someone else do the updates ? by Anonymous Coward · · Score: 1, Interesting

      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.

    4. Re: Cannot someone else do the updates ? by julesh · · Score: 1

      I have always wondered why this is something that couldn't be delegated to the operating system. Does anyone have any ideas? Is this something that could be addressed in OpenJDK? Can we use icu4j instead?

      Java promises applications that run the same wherever you run them. This cannot be achieved by relying on the underlying OS, which might vary substantially in the frequency of updates and/or accuracy of time zone data provided.

    5. Re: Cannot someone else do the updates ? by aled · · Score: 1

      I don't know but I suppose it was for portability across different operating system.

      --

      "I think this line is mostly filler"
    6. Re: Cannot someone else do the updates ? by mwvdlee · · Score: 1

      Yeah, but since Oracle is breaking that promise already by making paid Java have TZ updates and free Java not, what's the difference? At the very least it could be a fallback mode for free Java.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    7. Re: Cannot someone else do the updates ? by pla · · Score: 0

      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.

      Wow... Quite possibly the best description I have ever seen of the biggest problem with Java (outside its corporate ownership, which makes even MS-controlled C# look like FOSS by comparison).

      Speed (or more accurately, responsiveness) seems like the most glaring example of that - Yes, the absolute gurus of Java coding can produce samples that meet or beat any other interpreted language; yet, I have yet to encounter a real-world Java program that doesn't make me rage-kill it from the task manager when it - without exception - grinds to a crawl and eventually stops responding to input altogether.

      I don't quite know why other interpreted languages don't have the same problem, but they just don't.

    8. Re: Cannot someone else do the updates ? by PPH · · Score: 1

      Java promises applications that run the same wherever you run them.

      Well, they have failed miserably. I've never managed to get JRE to bluescreen my Linux box.

      Seriously, a few years back, a Java app I'm involved with was (attempted) to be ported to Windows. It turns out that one of the features it uses is a pull down menu from each tab in a JTabbedPane (if I recall correctly). No Can Do in Windows. At least back in the days of Java 6/Windows 7. This may have been patched by either Sun/Oracle or Microsoft since then. But it has been my experience that lots of stuff which works on various *NIXes is just a non-fuctional stub on Windows. Not just in Java either.

      --
      Have gnu, will travel.
    9. Re:Cannot someone else do the updates ? by goofy183 · · Score: 4, Informative

      Joda already provides their own TZ update mechanism: http://joda-time.sourceforge.net/tz_update.html

      Also anyone NOT using Joda for dates/times in Java really needs to come to the light and experience the wonders of a well designed API.

    10. Re: Cannot someone else do the updates ? by reve_etrange · · Score: 1

      Usually that's caused by the max heap setting being too small (which was exactly the parent's point).

      --
      .: Semper Absurda :.
    11. Re: Cannot someone else do the updates ? by reve_etrange · · Score: 1

      Good point, there goes their "fragmentation" legal argument.

      --
      .: Semper Absurda :.
    12. Re:Cannot someone else do the updates ? by cthulhu11 · · Score: 1

      ... or just get real and use GMT

    13. Re:Cannot someone else do the updates ? by Anonymous Coward · · Score: 0

      Joda already provides their own TZ update mechanism: http://joda-time.sourceforge.net/tz_update.html

      Also anyone NOT using Joda for dates/times in Java really needs to come to the light and experience the wonders of a well designed API.

      Joda Time has been incorporated into Java 8. You are welcome.

  8. Oracle fail by wireloose · · Score: 1
    Sounds like Oracle doesn't have enough free time on its hands.

    It seems clear to me that Oracle really doesn't want Java except for an easy way to gain control in the mobile interface market. It always seem merely collateral damage from acquiring Sun. The only real attention it seems to have gotten was rebranding. And with Google developing their own compatible engine for Android, Oracle's grand plan is now a pipe dream. Hence their crazed copyright lawsuit against Google for uncopyrightable APIs.

    1. Re:Oracle fail by Nerdfest · · Score: 1

      Oracle doesn't want Java or he mobile market. Oracle wants money. Lots of money, now and in the future.

  9. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Specially with that Xbone announcement.

  10. Any day now by Anonymous Coward · · Score: 0

    I remember back in the early 90s a friend of mine was so excited about Java. He said it was going to destroy Microsoft and desktop computers as we know it. We'd live in a wonderful fully networked world running completely on Java. It would make the problem of differing platforms obsolete because anything written for one platform would seamlessly run on every other.

    I replied that while Java would have its uses, overall it would not make a dent in anything the general user actual does on computers. I think time has proven me right. The fact that Oracle is gripping it so tightly as to nearly kill it, isn't helping my friend's position either.

    1. Re:Any day now by ebno-10db · · Score: 1

      I remember back in the early 90s a friend of mine was so excited about Java. He said it was going to destroy Microsoft and desktop computers as we know it. We'd live in a wonderful fully networked world running completely on Java. It would make the problem of differing platforms obsolete because anything written for one platform would seamlessly run on every other.

      I replied that while Java would have its uses, overall it would not make a dent in anything the general user actual does on computers. I think time has proven me right. The fact that Oracle is gripping it so tightly as to nearly kill it, isn't helping my friend's position either.

      I said the same thing. Java's success was due to Sun's marketing department more than anything else. I guess the time had come for YALTEAL (yet another language to end all languages).

      Before I get flamed, I should say I'm not anti-Java. It has its uses - probably more than I appreciate because Java isn't suitable for my work. However it is not a general purpose programming language, to the extent that such a thing can exist. It's not suitable for low level (device driver, deeply embedded, etc.) and its speed impediment makes it unsuitable for things where that really matters.

    2. Re:Any day now by Lehk228 · · Score: 1, Informative

      java does not have a speed impediment, it runs at least as fast as C++

      --
      Snowden and Manning are heroes.
    3. Re:Any day now by jgrahn · · Score: 1

      I said the same thing. Java's success was due to Sun's marketing department more than anything else. I guess the time had come for YALTEAL (yet another language to end all languages).

      Yeah. There hadn't been any for a while in the late 1990s. People didn't yet take scripting languages seriously, and trying to use pre-standard C++ (without a standard library!) as if it was Smalltalk had failed some years earlier.

      Also, those of us who didn't take Microsoft seriously were impressed that Java came from Sun, the brave defender of the Unix legacy.

    4. Re:Any day now by mwvdlee · · Score: 2

      I've been reading this stuff for years now, and it was promised Java would run at native compiled speed from the very start but the only actual statistics I've encountered say the opposite. The truth seems to be that the Java run-time didn't quite life upto the expectations.
      Not that the performance is a significant issue for many types of applications; many productivity and programming tools I use run just fine using Java. Except during garbage collection ofcourse, which is when Java absolutely sucks.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    5. Re:Any day now by ebno-10db · · Score: 2

      No, C++ is faster by as much as 3x. There are plenty of apps where that doesn't matter much, and plenty of others where it does.

    6. Re:Any day now by Wdomburg · · Score: 1

      Java may have made minimal impact on the desktop, but how many Android phones are out there? How many "dumb phones" running JME*? How many set top boxes running OCAP? How many Blu-ray players running BD-J? How many devices (ATMs, printers, cash registers, kiosks) running Java? How many web applications backed by server-side Java?

      Java runs on billions of devices, all the way from embedded devices too massive distributed applications. It's fairly safe to say that everyone in the developed world unwittingly relies on Java applications every day of their lives.

      That isn't to say there aren't disadvantages to the platform, or that Oracle has been an exemplary steward of the technology, but to argue that it has not been a dramatic success and a transformative force in the industry is just ignorant.

      * Quite a few: http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=9&qpcustomb=1

    7. Re:Any day now by Anonymous Coward · · Score: 0

      Of course, you would not expect to write a driver in Java. Or an operating system for that matter. Or a RTOS-based control system. You might not even expect to write these things even in C++ or C.

      But for nearly any other purpose, including some of the largest, heaviest, deepest, and most demanding applications in the world, Java stands taller than any other platform. It is absolutely the general-purpose computing platform you are suggesting it is not.

      Now, let's be clear about what we're talking about. I'm talking about the JVM, not Java the language. The Java language is certainly starting to show its cobwebs and rusty spots. Fortunately, we have a whole new breed of languages that are much more elegant and sophisticated; and you have your choice of a great many. The JVM will be with us for a very long time to come. Languages may come and go but the JVM remains clearly the way forward.

  11. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

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

  12. The API is free by Anonymous Coward · · Score: 0

    The implementation is not. Know the words you're using.

  13. Code in C. by Anonymous Coward · · Score: 0

    (to the tune of "let it be" by the Beatles)

    1. Re:Code in C. by Mitchell314 · · Score: 1

      Don't even mention Cobol to me. :P

      --
      I read TFA and all I got was this lousy cookie
    2. Re: Code in C. by Anonymous Coward · · Score: 0

      Thanks for constructing that eat work in situ.

      For the record, it is excellent advice - if you can afford to handle the whole targeting thing. I loves me some C.

    3. Re:Code in C. by sjames · · Score: 1

      But Java is the new COBOL.

  14. Re:ORACLE = One Raging Asshole Called Larry Elliso by ebno-10db · · Score: 5, Insightful

    The time to move away from Java was as soon as Oracle bought Sun.

    I don't know if Python is the answer for everyone, and I know changing to a different language is about as big of a pain as there is, but the jig was up after Sun was bought.

  15. Cash grab by Macfox · · Score: 3, Insightful

    Not surprising. Given the refusal to remove those bloody Java sponsors from the JRE. Piss off the end users and now the developers.

    --
    Area51 - We are watching...
    1. Re:Cash grab by the+eric+conspiracy · · Score: 1

      How is this insightful? Any decent developer has been using JodaTime for years now.

      This story should never have been posted.

  16. IBM to the rescue by Anonymous Coward · · Score: 5, Informative

    IBM provides free access to the Olson database updates:

    http://www.ibm.com/developerworks/java/jdk/dst/jtzu.html

    Was this post even necessary?

    http://lmgtfy.com/?q=java+olson+database

    1. Re:IBM to the rescue by ansak · · Score: 1

      I've never heard the name Olson before in relation to timezone updates. Thanks for the enlightenment but yes, this article was at least a little bit necessary, if not as earth shattering as an approaching asteroid.

      cheers...ank

      --
      Still hoping for Gentle Treatment...
    2. Re:IBM to the rescue by julesh · · Score: 2

      I've never heard the name Olson before in relation to timezone updates. Thanks for the enlightenment but yes, this article was at least a little bit necessary, if not as earth shattering as an approaching asteroid.

      cheers...ank

      OTOH, the original poster clearly had, so why he didn't google for it and find those sources is an interesting question. Or why he hasn't considered alternative approaches (using a 3rd party JRE; using OpenJDK and following the update process described here, etc. Unless, of course, he's one of the many anti-Java nuts we seem to attract around here.

    3. Re:IBM to the rescue by Anonymous Coward · · Score: 0

      Unless, of course, he's one of the many anti-Java nuts we seem to attract around here.

      Having read thus far in this thread, I think the "anti-Java nuts" are winning. Java's approach to handling time (among other things) is demented. That's the sort of thing the underlying OS obviously ought to be doing for you, but its designer(s) chose to ignore the underlying hardware and OS in order to gain the illusion of freedom from them. Java's way damned near embeds failures like this fiasco by design.

      It's very gratifying to (yet again) be proved correct in my initial assessment of Java; not schadenfreude (honest). The fact that this mess also falls into Larry's lap is just icing on the cake. Enjoy the turd you bought, Larry. :-)

    4. Re:IBM to the rescue by Anonymous Coward · · Score: 0

      Because otherwise we wouldn't be here commenting and generating ad hits for him.

    5. Re:IBM to the rescue by NoelTrout · · Score: 2

      I have considered all the alternative approaches. Of course there are workarounds, but that is not the point of the posting. The point of the posting was to raise awareness around the change Oracle had made and debate what the community should be able to expect from the core Java API that is labeled as free.

    6. Re:IBM to the rescue by matunos · · Score: 1

      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.

      If there are free alternatives, then why would that amount to killing free Java for certain types of applications?

    7. Re:IBM to the rescue by Anonymous Coward · · Score: 0

      LMETFY... LetMeExplainThatForYou...

      The original poster is obviously running his application on an Oracle JRE and if you had bothered to read/understand the page you Googled for him it clearly says that the tool you suggest only updates IBM JREs.

      If the post was necessary... Well, it was the staring point of a discussion that resulted in a apology from Oracle to the Java community for withholding these updates and also that these updates now again are publicly available. Not bad...

      https://blogs.oracle.com/henrik/entry/tzupdater_for_jdk_7_available

  17. What do you expect? by Anonymous Coward · · Score: 0

    If the information is mission critical, it is valuable. Pay for it.

  18. Re:ORACLE = One Raging Asshole Called Larry Elliso by Lehk228 · · Score: 0

    python java and c# all compile to bytecode.

    --
    Snowden and Manning are heroes.
  19. Actually: Why are these needed? by Anonymous Coward · · Score: 4, Interesting

    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.

    1. Re:Actually: Why are these needed? by ebno-10db · · Score: 3, Interesting

      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.

    2. Re:Actually: Why are these needed? by hedwards · · Score: 1

      Until all the API calls and all the hardware are identical across the various OSes, the only way of making code portable is via a portable environment. All the other languages that I can think of that are write once run most places do something similar. Ultimately, when you have differences in endianness and number and type of registers, you're going to be stuck with portable environments to get code running on all supported platforms with minimal fussing around with machine dependent requirements.

    3. Re:Actually: Why are these needed? by mathew42 · · Score: 2

      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.

      The problem is Windows. My understanding is that Windows cannot handle date dependant daylight savings rules. For example in 2006, Daylight Savings was extended for the Commonwealth Games in Melbourne and then reverted to the normal rules in 2006. The solution at the time was to patch Windows prior to the Olympics and then patch again at some point in the future.

      KB909915 about the change includes these gems of advice:

      • - Do not create future appointments in the overlap period in all successive years, until the operating system is back to the regular time zone.
      • - As soon as possible after the overlap period ends, change the operating system back to the correct time zone for your location.
    4. Re:Actually: Why are these needed? by davidbrit2 · · Score: 5, Insightful

      I have a hard time believing that Java has no problem abstracting an operating system's graphics, sound, console I/O, network I/O, etc. into a portable API, but somehow can't manage the same for timezone info.

    5. Re:Actually: Why are these needed? by Anonymous Coward · · Score: 0

      And what happens if your OS hasn't been updated in a while?

    6. Re:Actually: Why are these needed? by hedwards · · Score: 1

      The abstraction happens once and then really doesn't need much work until there's a patch or an upgrade that changes it. The timezone info changes regularly, and there is no way that Oracle could ever be finished with it.

    7. Re:Actually: Why are these needed? by metamatic · · Score: 1

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

      Same reason they don't use the operating system to provide locale information. It's easier to do the lazy thing and implement your own locale system than work out how to interface to the POSIX one.

      Same reason Python used to do the same. (I think Python may now use the OS locale, though.)

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    8. Re:Actually: Why are these needed? by metamatic · · Score: 1

      That doesn't explain why Java doesn't use the OS information for date and time formats and other i18n issues.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    9. Re:Actually: Why are these needed? by FreelanceWizard · · Score: 3, Informative

      No. Windows handles DST rules in the registry, so it's perfectly capable of date-dependent DST rule handling. The article discusses those recommendations as a way to avoid problems caused by issues with Outlook and Exchange 2003, both of which have their own unique ways of handling TZ changes (basically, they fail to store TZ information with dates, so TZ changes screw up the display of appointments). The problems were largely addressed in Outlook and Exchange 2007 and completely fixed in the 2010 versions, which keep the appointments in GMT-plus-offset format.

      There's legitimate complaints you can have with the way Windows handles TZ changes -- personally, I'm not a fan of having to install TZ patches from Windows Update and I really dislike how Windows keeps the RTC in local time instead of GMT -- but don't blame it for the failings of antiquated and soon unsupported Office programs.

      --
      The Freelance Wizard
    10. Re:Actually: Why are these needed? by unrtst · · Score: 2

      It's not about managing it / being able to do it. It's about what was easiest and most reliable.

      There are plenty of old OS's out there that don't get automatic TZ updates on the OS level. The olsen DB is freely available, but you have to download it and run a couple of commands to get your machine dependent tzdata built. Rather than leaving that up to the OS and sysadmins, they do the compile themselves and provide a tool to grab that copy and put it into your java install.

      It's really not that bad of a way to go. It should also be incredibly easy to replace/rewrite (I'm not a java dev, but have worked with the tz data files directly many times).

      One of the minor hurdles to making something that'll pull down the olsen db and compile to either the OS tzdata or to java's tz data is that the location of the olsen DB, while fairly standard, has and will change. It also used to be run by just one guy for ages, so if one makes a tool to update the local tzdata, they should really pull from a replica/mirror of the site (or go through the official OS repositories, like all good linux distros do).

      Java doing it themselves avoided a lot of drama, and I've never heard anyone complain about it until now. Charging for that piece is stupid. At the least, they should provide an open version that takes any URL as a source option first (just my 2 cents on it)

    11. Re:Actually: Why are these needed? by Anonymous Coward · · Score: 0

      It is less about being hard and more about being unnecessary - everything you listed requires interaction with OS and hardware. If the timezone Database can be read from a file then there is no need to maintain an implementation for every OS out there.

    12. Re:Actually: Why are these needed? by drinkypoo · · Score: 1

      It is less about being hard and more about being unnecessary - everything you listed requires interaction with OS and hardware. If the timezone Database can be read from a file then there is no need to maintain an implementation for every OS out there.

      Wrong, and also wrong. Most of us expect the applications to follow the operating system's lead. There is every need to maintain an implementation for every OS out there — and then there is no need to maintain a TZ database.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    13. Re:Actually: Why are these needed? by davidbrit2 · · Score: 1

      That's what I mean. Why isn't it just getting that info from the OS? Is Java still actively supported on any operating systems that don't have some kind of time zone database? Sounds like not-invented-here syndrome to me.

    14. Re:Actually: Why are these needed? by hedwards · · Score: 1

      Not really, Java is crossplatform as the main point of it existing, what you don't want is for an application to behave differently on OSX than on Linux than on *BSD than on Windows, that would be really, really bad. To an extent that's probably inevitable, but things like this are included, even where it duplicates functionality, to ensure that the program runs as identically to the same program being run on a different OS as possible.

    15. Re:Actually: Why are these needed? by mathew42 · · Score: 1

      No. Windows handles DST rules in the registry, so it's perfectly capable of date-dependent DST rule handling. The article discusses those recommendations as a way to avoid problems caused by issues with Outlook and Exchange 2003

      I refer you to KB912475 - Australian daylight saving time 2006 update for environments that do not use Exchange Server has now expired, where it states:

      An automatic update will be released after the end of the 2006 daylight saving time transition. This update will reset the affected time zones back to their regular end date. Customers who have Automatic Updates enabled do not have to take any additional action.

      Alternatively, customers can manually remove the KB 912475 update at this point. Manually removing the KB 912475 update will also reset the affected time zones back to their regular end date. Customers who do not have automatic updates enabled and who installed the KB 912475 update must manually remove this update.

      .

      It appears that date ranges for time zone rules might have been fixed in Vista onwards as the product is not listed.

      TImezones is possibly an issue that those not planning to migrate from Windows XP may not have considered.

      .

    16. Re:Actually: Why are these needed? by sjames · · Score: 1

      The timezone INFO changes often, but not the OS API to access it.

    17. Re:Actually: Why are these needed? by Anonymous Coward · · Score: 0

      These are inputs and outputs. There is no alternative but to use the host operating system to achieve these.

      Time calculations are entirely internal to the language and are therefore better off done consistently, for the same reason that integer calculations, floating point math, maps, sets and lists are also done internally and have completely consistent and predictable behaviour across all platforms.

    18. Re:Actually: Why are these needed? by Anonymous Coward · · Score: 0

      Date-dependent DST rule handling is new in NT 6, so embedded CE 5 and NT 5 devices are out in the cold on that one.

      (Captcha: upside. Upside of obsoleting unmaintainable crap?)

  20. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    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.

    Better let Google know they're doing it wrong then.

  21. Waahhh by Anonymous Coward · · Score: 0

    Do my job for me.

  22. there's always Joda Time... by tony.damato · · Score: 5, Informative

    Some of our developers have switched to Joda Time classes as they're easier to use that those built into Java proper. They even give instructions on how to manually update the time zone tables. (We didn't develop the code, we're just happy customers): http://joda-time.sourceforge.net/

    1. Re:there's always Joda Time... by cforciea · · Score: 1

      +1 for joda-time. They effectively solved the entire problem domain of date manipulation for all of the use cases that have come up for me.
      Presumably, they are affected by this change, as well, but the good news is that I'm confident that they'll do something to handle it without my having to do anything besides tick up a dependency version.

    2. Re:there's always Joda Time... by caluml · · Score: 1

      Joda Time is brilliant.
      It's a pleasure to use, and obviously was created by people who thought long and hard about it, and had suffered with the problems of the standard Java date/time libraries.

      If you still use Date or Calendar, then check out Joda Time.

    3. Re:there's always Joda Time... by Anonymous Coward · · Score: 0

      Absolutely agree.

      Nicely written, immutable objects, thread safe, INTELLIGENTLY thought out wrt timezones and time systems.

      The only reason java.*.Date appears in our code is when the DB interface requires it - and you can bypass most of that in a lot of situations eg if you're using Hibernate. Poor old java.util.Calendar and Date look SO early '90s these days :-)

    4. Re:there's always Joda Time... by codealot · · Score: 5, Interesting

      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.

    5. Re:there's always Joda Time... by frodo+from+middle+ea · · Score: 1

      As a tech lead, that's the only mandate I've in place for our team. Always use joda time. ALWAYS.

      --
      for the last time people, I am "frodo from middle eaRTH", not "middle eaST".
    6. Re:there's always Joda Time... by goofy183 · · Score: 2

      Joda actually provides their own TZ update mechanism: http://joda-time.sourceforge.net/tz_update.html

    7. Re:there's always Joda Time... by nitehawk214 · · Score: 1

      Yep, this is what I use. Not only is it able to update timezone data, the library isnt an pile of insane crap like java.util.Calandar.

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
    8. Re:there's always Joda Time... by aled · · Score: 1

      Joda actually provides their own TZ update mechanism: http://joda-time.sourceforge.net/tz_update.html

      Thank you for the link! that fact alone -easy tz database update independent of the jre/jdk release- makes Joda-time very valuable.
      I always wondered why there isn't such a mechanism for Java.

      --

      "I think this line is mostly filler"
    9. Re:there's always Joda Time... by Anonymous Coward · · Score: 0

      Joda actually provides their own TZ update mechanism: http://joda-time.sourceforge.net/tz_update.html

      Joda Time is part of Java 8, see http://openjdk.java.net/projects/jdk8/features#150

      It's Joda Time.

  23. What to do... by ansak · · Score: 4, Insightful

    So, who is surprised by Oracle's move here? Nobody with a eyes and a brain. Oracle just doesn't know what to do with a community.
    Does this make Microsoft or C# look so great? No way! They started out less free than Oracle is now and haven't really changed.
    Why do I develop in Java (I also know C, C++ [and the assembler code they generate], Python, SQL [MS and non-MS dialects] -- so why choose Java?)? Because I want to write programs for my slightly less shackled Android phone.
    And the next plan of action is...?

    There are a bunch of options... for starters, google the problem. Next, just wait: some bright spark will put out a tool that uses local time zone info (configurable) to update some Java installation's (configurable) idea of time zones automatically (or not, configurable).

    It happened with MySQL, it'll happen with Java. "The more you tighten your grip, the more star systems will slip through your fingers."

    Douglas Adams' fictional book cover still has the right initial instruction: "Don't Panic!"

    cheers...ank

    --
    Still hoping for Gentle Treatment...
    1. Re:What to do... by Anonymous Coward · · Score: 0

      So, who is surprised by Oracle's move here? Nobody with a eyes and a brain. Oracle just doesn't know what to do with a community.

      That's like saying a storehouse manager just doesn't know what to do with a rat. That his approach is different from that of an animal trainer does not mean that he is acting without a plan.

    2. Re:What to do... by Anonymous Coward · · Score: 0

      Because I want to write programs for my slightly less shackled Android phone.

      And the next plan of action is...?

      Cython, of course.

    3. Re:What to do... by Anonymous Coward · · Score: 0

      Oracle just doesn't know what to do with a community.

      No, its that they don't care. If they can, they will lock the entire thing down so if you even say java, you pay..

  24. I was about to suggest openjdk by Culture20 · · Score: 1

    I was about to suggest openjdk, but there's no telling what jre your customers will use unless you bundle the jre in (and you make your program update the jre).

  25. Why not update your JRE? by Anonymous Coward · · Score: 0

    If Oracle won't release free-beer TZ patches for older JRE/JDKs, then your only I-refuse-to-pay-Oracle option is to update your app to keep up with the latest JRE/JDK releases. Yep, that means refactoring Java 5/6 code to Java 7, but hey, at least you aren't paying Oracle for their software.

    You can enforce this by requiring a minimum JRE revision:
    String version = System.getProperty("java.version");

    1. Re: Why not update your JRE? by jmaline · · Score: 1

      Correct. A key point most are missing here is that tzupdater tool's purpose is to update TZ data on an existing java runtime. Install latest java runtime and you don't need this tool.

      And "refactor" of your code to latest java is typically a bit of testing effort. It's not like there are frequent compatibility breaks version to version...

    2. Re:Why not update your JRE? by xero314 · · Score: 1

      I assume that by refactoring you mean " execute using the latest jre" . Been working with java since the get go and have dealt with incompatibilities, but moving from java4+ to java 7 requires no refactoring unless you were using nonpublic apis.

    3. Re:Why not update your JRE? by Anonymous Coward · · Score: 0

      I did some porting of Java 1.4 code to 6.

      There are some problems, the most important is 'enum' which became keyword somewhere around 1.5. Refactoring this is PITA.

      The rest of my problems, were with JSP code, there were some significant changes between JEE 1.3 and JEE 6, but this is another story.

    4. Re:Why not update your JRE? by aled · · Score: 1

      If your app in java 1.4 uses swings it may hit some bumps in the migration to java 5 to java 6 to java 7. I have a real case of that. Mostly is a case of loose programming for swing in 1.4 that got stricter in later versions.
      Surprisingly going directly from 1.4 to 7 seems to work fine. Only god knows why. I can't find anything on the release notes that explains it.

      --

      "I think this line is mostly filler"
    5. Re: Why not update your JRE? by Anonymous Coward · · Score: 0

      Well yes... ...and how do you fix all those applications shipped with an built-in JRE ?

    6. Re: Why not update your JRE? by Anonymous Coward · · Score: 0

      Rip out that built-in JRE.
      It is insane to do that anyway.

    7. Re:Why not update your JRE? by ls671 · · Score: 1

      There is little things that need to be changed for time to time when you upgrade to a newer jdk version. Nothing compared to upgrading PHP although, so you are mostly right. I run apps that were developed with java 1.0 on java 6 without problems and without any need to change anything in the app.

      Look at the bottom of this article for "org.apache.struts.validator.DynaValidatorActionForm" :

      http://blogtech.oc9.com/index.php?view=article&id=239%3Ajava20091022&option=com_content&Itemid=16

       

      --
      Everything I write is lies, read between the lines.
    8. Re: Why not update your JRE? by theschles · · Score: 1

      Correct. A key point most are missing here is that tzupdater tool's purpose is to update TZ data on an existing java runtime. Install latest java runtime and you don't need this tool.

      And "refactor" of your code to latest java is typically a bit of testing effort. It's not like there are frequent compatibility breaks version to version...

      I at first thought that was true. See http://developers.slashdot.org/comments.pl?sid=3839675&cid=43947687 (the first response to subject "For JDK6"). Latest JRE doesn't have the latest timezone data.

  26. Stop complaining... by bogaboga · · Score: 1

    Should the community not expect that core Java classes are fully functional and accurate?

    That's capitalism at work. Now maybe Google can come to the rescue by re-implementing all Java APIs in Dalvik (Android), after which they (Google), can push for wider desktop/server Dalvik adoption.

    1. Re:Stop complaining... by julesh · · Score: 1

      Should the community not expect that core Java classes are fully functional and accurate?

      That's capitalism at work. Now maybe Google can come to the rescue by re-implementing all Java APIs in Dalvik (Android), after which they (Google), can push for wider desktop/server Dalvik adoption.

      ROTFLMAO.

      Even APIs that are supposed to work in Dalvik are frequently barely functional. SimpleDateFormat, for example, doesn't correctly parse many strings with textual timezone names (e.g. "BST"). Google would have a *very* long way to go in order to get it accepted as a replacement for desktop or server Java.

    2. Re:Stop complaining... by grammar+fascist · · Score: 1

      That's capitalism at work.

      No, it's not. It's Oracle demonstrating that they fail to grasp the idea of a loss leader. They have no idea how to leverage a free product, can't stand the idea of a transaction without dollars changing hands, and as a result, continually piss everyone off.

      --
      I got my Linux laptop at System76.
  27. How about distributing timezone info through DNS? by XNormal · · Score: 1

    DNS is a great protocol for distributing a relatively small piece of infrequently changing information to a very large number of clients. It has a global infrastructure of caches, supports delegation of authority. Sounds like a good match.

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  28. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 0

    Citation?

  29. Re:How about distributing timezone info through DN by XNormal · · Score: 1

    Not to mention great support for firewall traversal. It gets even into many places that HTTP does not.

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  30. Starting up 10 years ago is no excuse for choosing by Anonymous Coward · · Score: 0

    Java has been evil since last millenium. I haven't had it on any system since it made Windows 98 BSOD so much just from the Yahoo Messenger.

  31. FOSS by Reliable+Windmill · · Score: 1

    FOSS will find a way.

    --
    Signature intentionally left blank.
    1. Re:FOSS by Anonymous Coward · · Score: 0

      There is a sappy ballad in there somewhere...

  32. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 1

    I hate python with a passion. Code should be readable without knowing the language, and python fails that miserably with all the syntax hidden in the white space.

    I'm guessing the right answer here is for people to stop using their TZ update patches and just implement a FOSS version.

  33. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 1

    You have an argument to back that statement?

    Only kidding, I know you don't have a clue of what you are trying to talk about.

  34. Morons by Anonymous Coward · · Score: 0

    Java and Mission Critical do not go together.

  35. They should do the world a favor... by Anonymous Coward · · Score: 0

    ...and discontinue Java altogether.

  36. Do you market to individuals or corporations? by Anonymous Coward · · Score: 0

    If the latter, you should consider a move away from Java entirely. Due to all of its security issues we're moving to products that either do not require Java on the client or we're pressuring our niche vendors to get away from it. When we talked to one of our primary vendors we learned they had already gotten so much heat that they had started a rewrite already. By the end of summer they will not be using Java any more.

    We do operate corporate jets but not as our primary business. Trust me, they can afford any price increase you need to cover your overhead of a rewrite.

    For us, a the value of the individual apps using Java has been outweighed by the enterprise-wide costs of patching Java and cleaning up infected PCs. But whatever you do, please don't re-write your applications in Flash. :-)

    1. Re:Do you market to individuals or corporations? by Anonymous Coward · · Score: 0

      When sourcing applications, we look for ones written in Java before looking at any other. Java is not the problem, applets are. The browser plugin is optional at installation. We would never ditch Java because of uninformed customers. We'd educate them.

  37. a little hard, and risky by BigMike · · Score: 1

    I wonder if this is related to the problem BBC found with providing a time-zone accurate data to global users.

    http://news.slashdot.org/story/13/06/06/012207/bbc-clock-inaccurate---100-days-to-fix

    There might be some risk associated with providing a time service accurate everywhere, when you can't possibly know how the users depend on it ...

    1. Re:a little hard, and risky by dougmc · · Score: 1

      I wonder if this is related to the problem BBC found with providing a time-zone accurate data to global users.

      http://news.slashdot.org/story/13/06/06/012207/bbc-clock-inaccurate---100-days-to-fix

      It would not be related.

      The TZ updates have been available up until now, and the BBC could just get a support contract if that was the problem.

      There might be some risk associated with providing a time service accurate everywhere, when you can't possibly know how the users depend on it ...

      Absolutely.

  38. The database is called "Olson", you find it here by ansak · · Score: 4, Informative

    I clearly hadn't read more than the first few lines of the help on Java TimeZone info or I could have found out that the answer was already there, without having to wait for it. As another poster pointed out IBM already provides free Java timezone updates.

    Let me google that for you! But more to the point, writing a tool that will grab those updates for yourself and storing it where you need it looks like a bash script or batch file candidate. Our brains are more than a match for Oracle's bean counters. Let's use them!

    cheers...ank

    --
    Still hoping for Gentle Treatment...
  39. It does not "beg the question" by Anonymous Coward · · Score: 0, Flamebait

    Since you don't know what "beg the question" means, and aren't willing to find out, just stop using the phrase period.

  40. Re: ORACLE = One Raging Asshole Called Larry Ellis by kthreadd · · Score: 1, Interesting

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

  41. Re:ORACLE = One Raging Asshole Called Larry Elliso by julesh · · Score: 4, Interesting

    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.

  42. Re:ORACLE = One Raging Asshole Called Larry Elliso by Lehk228 · · Score: 4, Informative

    nothing is hidden

    newlines are used in place of semicolons and indentation defines code blocks

    in most other languages {} define code blocks and indentation implies code blocks to the reader, sometimes misleading the reader.

    --
    Snowden and Manning are heroes.
  43. Re:ORACLE = One Raging Asshole Called Larry Elliso by bsane · · Score: 5, Insightful

    If the whitespace still bothers you - it means you haven't even spent 15m using it.

  44. Re:I was about to suggest openjdk by aled · · Score: 1

    How this impacts openjdk? does it uses the same Olsen timezone data or has another tool for updating it?

    --

    "I think this line is mostly filler"
  45. Re:ORACLE = One Raging Asshole Called Larry Elliso by aled · · Score: 2

    it's Time to switch to python

    Sorry, no. Perhaps it was time 10 years ago if ever. Now is too late. Even Google is using less Python these days.

    --

    "I think this line is mostly filler"
  46. Re:ORACLE = One Raging Asshole Called Larry Elliso by ebno-10db · · Score: 4, Funny

    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.

    Better let Google know they're doing it wrong then.

    I always thought the Wars of the Reformation were a fascinating, if horrible, part of history. It's always fun to see them re-enacted in spirit with programming languages. Nobody is planning to destroy Bohemia though, right?

  47. Re:ORACLE = One Raging Asshole Called Larry Elliso by aled · · Score: 2

    Bytecode is but a concept and there are many different, incompatible implementations. Like programming languages and compilers.

    --

    "I think this line is mostly filler"
  48. Re:ORACLE = One Raging Asshole Called Larry Elliso by Lumpy · · Score: 4, Interesting

    "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.

    --
    Do not look at laser with remaining good eye.
  49. Re:ORACLE = One Raging Asshole Called Larry Elliso by RabidReindeer · · Score: 3, Interesting

    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.

  50. 2-stage work around by Anonymous Coward · · Score: 1

    stage 1:
    replace the class against your own timezone class.

    stage 2:
    get rid of Java as you might run into the next mission critical situation soon. You will eventually, the question is just when.

    There might be other Java implementations around which are really open so you might be able to just switch to that one. Wish you luck.

  51. Java by BeemerBoy · · Score: 2

    Considering that Java appears to be a flimsy screen door in any company's firewall, I would think that most SANE organizations would've started moving off of that platform YEARS ago...

    --
    Buzzing the information Superhighway at Warp speed
    1. Re:Java by Anonymous Coward · · Score: 0

      You are extremely uninformed. 99.9% of the Java security issues are with the applets browser plugin. If you don't install it, problem solved. Being so well informed about security, you must have banned Windows from your server farm long ago and run on Solaris, BSD or Linux right?

    2. Re:Java by phantomfive · · Score: 1

      The Java vulnerabilities you've been reading about lately are problems with the sandbox in the browser for applets, they don't apply at all for running code you've written yourself.

      Java the language isn't insecure any more than Ruby, or Python, or C or any other language.

      --
      "First they came for the slanderers and i said nothing."
  52. Re:I was about to suggest openjdk by Anonymous Coward · · Score: 0

    Most people don't want to use the craptastic open source Java when a perfectly good closed source one exists.

  53. Stop complain : here are ideas of solution ... by Anonymous Coward · · Score: 0

    First, update the JVM of your customer regularry so you will benefit from any olson TS update and your customer will benefit from security fix as well. I know IT guys do not like to push updates, but this is the reason hacker loves IT :)

    Second, you could bring your own TZ model directly plug to the olson database format (so no "tool" required)

    Last, you could even contribute this to OpenJDK or IcedTea so that Oracle can put their code to the trash :P

    Rgs,
    TM

  54. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 2, Insightful

    Or, you know, you had a merge happen that moved around whitespace without anybody noticing, which resulted in still syntactically sound Python that just happened to have entirely different semantics that destroyed a bunch of customer data. Just as a random example of why whitespace syntax is horrible.

  55. Re:How about distributing timezone info through DN by dougmc · · Score: 1

    You aren't seriously suggesting that we replace timezone data with DNS lookups, are you?

    TZ data does change often -- the summary itself says 4-6 times a year -- but not nearly often enough that doing it via DNS or anything similar makes sense. And not every application has 100% Internet access -- many have 0%, and even those that usually have access don't have it 100% of the time (but instead 99.999...%).

    DNS doesn't have a provision for "well, I had data, but it's a few days out of date, and I can't seem to refresh it, so here's the old data" that I'm aware of. A small change could be made to enable that, where each JVM basically works as a slave of the TZ master zone, but really -- it's using a grenade to kill an ant.

    In this specific case, the fix is likely to be for somebody to write a tool to import the TZ updates from the formats that it is available in (such as the ones used by *nix systems) into the one used by the Sun/BEA (now both Oracle) javas and insert it.

  56. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 3, Insightful

    Braces allow for automatic formatting.
    Whitespace shouldn't encode anything other than separation between meaningful elements. Definitely not blocks.
    Besides, untyped languages are unmaintainable crap. They're nice for throwing crap together quick, but having to figure out what the code does (with typical level of comments...) is a painful experience.

  57. Re:ORACLE = One Raging Asshole Called Larry Elliso by Lisias · · Score: 1

    Why?

    --
    Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
  58. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    I've spent years using Python and I still hate it. Luckily for me, Google has marked it deprecated.

  59. Re:How about distributing timezone info through DN by Anonymous Coward · · Score: 1

    DNS does -not- lend itself well to the format of the information required. The database isn't just the current timezone offset for a location, it's also a full history of all timezone offsets for that country including daylight savings. Multiple data points for each country of an unknown number.

    Additionally the types of lookup required to find the offset for a specific point in time require indexed data to be searched in a particular manner mean you can't just do a DNS lookup and cache its result. The closest you could manage is a lookup for a location+timestamp and leave the DNS server to do the calculation, but on a second precision that means the cache won't be of any value and the network lookup time means it's useless for any application wanting to do any large number of timezone conversions (eg database server).

    Therefore you need an indexed local database. Regardless of whether you get that by DNS or HTTP (or locally from the local copy of olson in zoneinfo) you need a tool to update that DB.

  60. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 1

    If you have a source code control system that rearranges white space? What??

  61. Java lost me years ago by EmperorOfCanada · · Score: 3, Interesting

    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.

    1. Re:Java lost me years ago by Anonymous Coward · · Score: 0

      I've been attending Java conferences for years and can see that the Java community is growing, not shrinking. I don't know what's with all this Oracle hate, it's like Microsoft hate. Oracle has done an excellent job stewarding Java. The haters said they will make it closed source, but they continue pushing forward with a complete GPL implementation of Java 7 and 8. The haters said they would scrap JavaFX, but Oracle pushed forward and turned it into a Java API (instead of FX script) which made a lot of developers happy and made it available to JVM languages. FX has come a long way and is needed to compete with .NET. The haters said Oracle would scrap GlassFish, but they continue to improve it in the open making it the reference implementation for Java EE 7 and the first AS to be released with EE 7 support. Oracle also got Java SE 7 released after something like 6 years of Java 6. The community was busy fighting about shit, so Oracle pushed ahead and got it done. Now Java 8 has lambda expressions based on C# syntax and has a new date/time API based on Joda Time. Sure it's late, but now there is no need for Java developers who want to do some functional programming to go to another language. Java is an excellent platform and has a lot of life left in it still.

    2. Re:Java lost me years ago by codealot · · Score: 3, Informative

      Java gets a bad rap (and Oracle doesn't help) but there's nothing wrong with it per se. If I had the choice of starting a project in C, C++ or Java I'd always pick Java--call it obsolete if you want but those alternatives are archaic. (And I'm not fully sold on interpreters languages either, partly because my applications are very sensitive to runtime performance and memory overhead. Are the JIT compilers for Python et al any good?)

      The security exploits are in the Java plugin. I don't care much about those because I disabled the plugin in my browsers years ago. Don't folks understand that 99.99% of Java users are unaffected by the plugin exploits???

      When programming Java, you sure don't have to wrap everything in an object. Everything is in a class, but so what? Classes provide a namespace for your code, which is useful. They also give you lazy loading so you don't have to wait for an entire app to load.

      There are a lot of bad Java programmers though. It seems too few of them have really learned CS and don't understand the internals or runtime well. That's a mistake when using any language.

    3. Re:Java lost me years ago by ebno-10db · · Score: 1

      One thing that has long annoyed me about Java progammers is this whole, "Let's wrap every damn thing in a object."

      Java was created when the current fad was "OO is the One True Paradigm". With a big enough hammer you can get any shaped peg to fit into a round hole. Alternatively you could choose a paradigm that fit the problem, but that risks being impure.

    4. Re:Java lost me years ago by Chuck+Messenger · · Score: 1

      > 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.

      I don't see how Java and Python are in any way comparable. One is a typed language, the other typeless.

    5. Re:Java lost me years ago by drinkypoo · · Score: 1

      I don't know what's with all this Oracle hate, it's like Microsoft hate.

      If you don't understand why geeks hate Microsoft, then there is no hope for you anyway.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    6. Re:Java lost me years ago by PommeFritz · · Score: 1

      Python certainly is NOT typeless. Python is a strongly typed language: every object is of a certain type, even functions and types (or classes) itself are instances of a type. The operations on the objects are well defined in terms of their type. What you're probably confusing it with is that Java does static typing (a name always represents a value of a certain fixed type) and Python does dynamic typing (names can denote values of varying types)

    7. Re:Java lost me years ago by phantomfive · · Score: 1

      Java is a win in situations where you have to work in a team of semi-competent programmers. It is (unlike LISP or C) a dumbed-down programming language, it tries to keep you from shooting yourself in the foot, and mostly does a good job.

      You choose Java so other people don't write code that is too horrible. If you think architectures designed in Java are bad, imagine if the same person did it in C.....it would be a mess.

      --
      "First they came for the slanderers and i said nothing."
    8. Re:Java lost me years ago by Velex · · Score: 1

      Seconded. For the longest time I hated Java, but lately I've been finding that Java is very nice for the server side.

      As others pointed out, nobody uses the built-in time classes like java.util.Calendar. That one in particular is just completely unweildy. Everyone who needs to do anything with time and time zones uses Joda time. In fact, I've found when using JPA that I can't even involve java.util.Date or java.util.Calendar because they insist on persisting system-local time in the database. System-local time is utterly useless when you're writing an application that needs to support users from Newfoundland to Hawaii.

      Oracle's ownership of Java was nearly a deal breaker for me, but fortunately there are things like icedtea. Essentially, Oracle is irrelevant as far as I'm concerned. My projects rely heavily on Apache Commons and other free software. In fact, it's the free software ecosystem surrounding Java on the server side that attracted me in the first place.

      Of course, since this is Slashdot, half the comments here are decrying Java as a security risk and proclaiming its death because when they hear Java they think applets from the 90s and horrible Swing applications. Applets are dead. Flash killed them, and now Flash applets are dead, too. HTML5 is the future for client-side, but something has to serve the data for HTML5 to consume. I've found, especially working in a Windows shop, that Java fits the bill very well.

      --
      Join the Slashcott! Stay away entirely Feb 10 thru Feb 17! Close all tabs to prevent autorefresh!
    9. Re:Java lost me years ago by Xyrus · · Score: 1

      Don't be silly. Python is not a replacement for Java. Python is is popular in academia because it is an easy to pick up. You can hack out a script to do what you need to quickly. It's friendlier than bash, and as long as you don't rely on C modules it is portable as well.

      For what CS departments do, Python is a better language. There, you are exploring the theoretical undeprinnings. You need to be able to test out theories and concepts. You don't need production level rigor for those activities, and honestly any language would suffice.

      You're naive if you think Java is going anywhere. New projects are created with whatever tools best suited to it. If you hold to some narrow dogma that "X sucks so we're going with Y" then you're going to find yourself grasping for explanations when you fail to meet your deadlines. People have been writing enterprise level applications in Java for quite some time. It has a considerable set of libraries, several languages built on it's JVM, a huge amount of discussions and documentation, etc. . You don't like Java, then use Scala or Groovy or Jython even.

      Why this is marked interesting is beyond me. Anyone with real world experience knows you use the appropriate tools for the job. All languages have pros and cons. Before you start declaring X technology can be replaced by Y, you really need to understand the tech first.

      --
      ~X~
    10. Re:Java lost me years ago by codealot · · Score: 1

      Can't really agree more. My challenge is the "cool kids" come along and rebel against anything from the 90's. I've seen newcomers build in Python, Ruby, and (the latest) Node.JS.

      All of those are interesting in their own right, but for what we do I don't see them really solving practical problems that we haven't solved before. Except for stroking someone's ego--that they seem to solve nicely.

      And as pointed out elsewhere on this topic, it's not as though Java has stood still. The most common complaint I've heard is that Java is verbose and Java code has far too much boilerplate "junk" (I tend to agree for legacy code--things like useless getter/setter methods and needless interfaces drive me bonkers). Then I ask them, what have you tried in Java lately? If you try to write compact, readable, maintainable code, you'll find it's not only possible but straightforward. Pick a few patterns that work well for you and stick to them (like chaining methods together as a builder pattern--one of my favorites).

    11. Re:Java lost me years ago by Anonymous Coward · · Score: 0

      I understand the Microsoft hate, I just didn't want to go there since there seems to be a lot of Microsoft fanbois on Slashdot these days

    12. Re:Java lost me years ago by gbjbaanb · · Score: 0

      Head, say hello to sand.

      The security exploits are in the Java plugin. I don't care much about those because I disabled the plugin in my browsers years ago. Don't folks understand that 99.99% of Java users are unaffected by the plugin exploits???

      Don't folks realise all the security flaws are in the JRE

      Scroll down, look at all the JRE flaws. Then look at how many of them are listed with "Access Vector" of Network.

      Don't try to claim java is secure because you disabled the plugin. Being a fanboi in these cases is stupid. There are security flaws in everything, but suggesting Java is immune to them is moronic.

    13. Re:Java lost me years ago by EmperorOfCanada · · Score: 1

      It is not that Python is a replacement (as good as or worst than Java) it is that CS departments have switched to teaching Python in their Intro courses and beyond. I am seeing Quants switching to Python, I am seeing bio and physics types switching too. I am not seeing large businesses switching and I don't anticipate them switching anytime soon. This means that huge numbers of CS students who in the past would have come out of school with some pretty sound Java skills are now coming out with potentially zero Java skills. That means that when they are scrolling through the list of languages in their heads for a new project Java won't be on that list. Whereas a CS student of say 2009 might have said, "Java? Yeah I can handle that."

      A 2013 grad will say, "Java? Do I look like I work for a bank?"

    14. Re:Java lost me years ago by EmperorOfCanada · · Score: 1

      Fully agreed. If I were hiring Java programmers I would have fairly low standards and only worry a bit as good unit testing ought to weed out the worst. If I were hiring for a C++ project I would hire the best that I could get and worry quite a bit. C/C++ is so much better than Java in the right hands, not a little bit better but it lives in a whole different dimension better. But in the wrong hands it is pure toxic waste. But what I love about Java is that it seems to mop up mediocre programmers and confine them inside cubicals at the power company.

    15. Re:Java lost me years ago by EmperorOfCanada · · Score: 1

      It is not that python is better or worse. It is that CS people are exiting without Java in their heads. Thus when they choose a language they are less likely to choose a language they don't know well or at all. In the past the CS grads did leave with quite a bit of Java and thus it would be high on their list when choosing the language for a new project. This is a simple numbers game. So those organizations that are presently using Java will generally keep using it. But in organizations starting projects from scratch or new organizations they may very well go in other language directions. You mention various JVM based systems. My guess is if you haven't touched Java you won't get involved with anything JVM voluntarily.

    16. Re:Java lost me years ago by phantomfive · · Score: 1

      Java: the new COBOL.

      --
      "First they came for the slanderers and i said nothing."
    17. Re:Java lost me years ago by Anonymous Coward · · Score: 1

      Look at the notes:

      1. Applies to client and server deployment of Java. This vulnerability can be exploited through untrusted Java Web Start applications and untrusted Java applets. It can also be exploited by supplying data to APIs in the specified Component without using untrusted Java Web Start applications or untrusted Java applets, such as through a web service.
      2. Applies to client deployment of Java only. This vulnerability can be exploited only through untrusted Java Web Start applications and untrusted Java applets. (Untrusted Java Web Start applications and untrusted applets run in the Java sandbox with limited privileges.)

      I.e., pretty much everything there only matters for applets. You don't know what you're talking about.
      (Note 1 says "It can also be exploited by supplying data to APIs", which could in theory mean a injection or overflow attack. Good luck finding a server that passes your input to AWT, though.)

    18. Re:Java lost me years ago by EmperorOfCanada · · Score: 1

      Your comment is so close to the present and future. Older organizations with ensconced programmers will "hold the line" with Java for years to come. But organizations where there isn't someone with "seniority" to tell the programmers what to do and how to do it they will go with what is hot just because it is exciting and fun. If they wanted boring they would get a job at the telephone company. People fell in love with Ruby and a zillion cool projects came out of it. Then these people ran into various performance walls and generally switched to other languages. The key is not if one language is better than another in that I personally have twisted various languages way past what they were good at but did the programmers feel free to do something cool and new. Even if Java were to be the best language ever it is surrounded by a fog of stodginess. It was the cool language in 2002. The practical language in 2009 and now it is the fogies language in 2013. Probably one of the biggest "cool kids" boosts Java has had in years was minecraft.

    19. Re:Java lost me years ago by Chuck+Messenger · · Score: 1

      I am surprised if that's true about CS depts. switching away from teaching statically typed languages in favor of a scripting language(s). You simply can't handle the same scale of project, with the same performance or reliability, without static typing.

    20. Re:Java lost me years ago by CodeBuster · · Score: 0

      Why would you pick Java or C++ when you could use a modern language like C#? It's fashionable around here for people to ignore .NET simply because it was spawned by Microsoft, but if you haven't even taken a look at .NET, you're really missing out on a very power programming language and development platform. If you care at all about object oriented programming or even if you don't (.NET has F# for functional programming and C# includes many functional programming features) you should give .NET serious consideration. For starters, take a look at the wiki comparison of C# and Java and you will see what I'm talking about.

    21. Re:Java lost me years ago by Anonymous Coward · · Score: 0

      >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.

      My prediction is that your prediction is wrong. I'm 40+ and have been in various parts of the business since my early 20s. If there's one thing I've noticed it's that I was way too late to the Java game. Java is everywhere and to me it seems to be picking up. Most intermediate and senior developers that are coming to large projects are java developers. The junior developers have a tight grip on Java too (freshly out of CS). There is no other cross plattform language that comes close.
      Don't ge me wrong, Python, Javascript, Erlang, Lua, Ruby and others certainly have their place (as of course do C/C++, but not as much in "business logic" projects). But when it comes to larger scale projects everyone I see tends to go with Java as their main platform.

    22. Re:Java lost me years ago by gl4ss · · Score: 1

      not *everything* is wrapped in an object. besides, usually it's an useful thing for sake of namespace scoping.

      java isn't going anywhere either, due to android. academia is moving to python because java programmers are in high demand... frankly because academia are dicks.

      --
      world was created 5 seconds before this post as it is.
    23. Re:Java lost me years ago by sjames · · Score: 1

      Arguably, if it has to ge in class, it is a singleton object, so everything has to be an object.

    24. Re:Java lost me years ago by gbjbaanb · · Score: 1

      so the bit that says:

        It can also be exploited by supplying data to APIs in the specified Component without using untrusted Java Web Start applications or untrusted Java applets, such as through a web service.

      explicitly says it can be exploited by passing data to a Java webservice. No untrusted applets involved.

      You need to read what it really says, not what you want it to say.

    25. Re:Java lost me years ago by shutdown+-p+now · · Score: 2

      If I had the choice of starting a project in C, C++ or Java I'd always pick Java--call it obsolete if you want but those alternatives are archaic.

      But are they? Between C++ and Java, only one language has anonymous functions with closure semantics (lambdas) today. Guess which one.

      my applications are very sensitive to runtime performance and memory overhead.

      If that is the case - especially the part about memory overhead - Java would be a horrible choice. The lack of guaranteed-stack-allocated value types other than primitives makes it very hard to write large apps with predictable memory usage.

  62. You (other commenters) are all wrong by Anonymous Coward · · Score: 0

    The real question is:

    Why on earth does JREs need their own timezone descriptions?

    What modern OS does not have this information up-to-date via system updates?

  63. Re:ORACLE = One Raging Asshole Called Larry Elliso by Lehk228 · · Score: 2, Insightful

    if you are doing intensive calculations and they slow down execution you can write those parts in c

    --
    Snowden and Manning are heroes.
  64. Laugh by koan · · Score: 1

    "we almost certainly could not have chosen Java as our platform as we could not afford it."

    So why are you still using it?

    --
    "If any question why we died, Tell them because our fathers lied."
  65. Not a problem for Open JDK (Linux at least) by dfcamara · · Score: 1

    Maybe it's a problem for the people using Sun's Java. Open JDK in Linux use the package tzdata-java that is updated regularly and in sync with the tzdata package that keeps the system's time zone information.

  66. Re:ORACLE = One Raging Asshole Called Larry Elliso by hedwards · · Score: 5, Insightful

    I think we have a different definition of hidden.

    Of course you can always find poorly formatted code that's confusing, but the bottom line here is that this is not an appropriate way of using white space. White space is for the purpose of separating elements and making it more readable.

    The fact that most other languages use {} to denote blocks is a good reason to use that in other languages as well. It's something that works, is clear in intention and after all these years, nobody has come up with anything better.

    It should be up to the developers as to how precisely they format their code for legibility, not the people writing the language.

  67. Solution: Leave Java behind by Anonymous Coward · · Score: 0

    The only solution you have is to begin moving away from Java.

    The reality is that Java is no longer free (as in beer or speech) and so the sooner you start to leave it, the better.

    Items like this will only just continue to get worse as time moves forward.

  68. Re:ORACLE = One Raging Asshole Called Larry Elliso by JustOK · · Score: 2

    Your watch runs Java?

    --
    rewriting history since 2109
  69. Re:ORACLE = One Raging Asshole Called Larry Elliso by Assmasher · · Score: 1

    Eddie Münster rebellion anyone?

    --
    Loading...
  70. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0, Informative

    ...or I could just use one of the other two dozen high level languages that has a far better implementation. For a new project, why would anyone use Python over Go? They have basically the same semantics except Go has far better performance and has decent threading model.

  71. Wrong mod. by Anonymous Coward · · Score: 0

    It should have been modded +1 Funny.

    Just rewrite it in C! Then notice it's still slow and rewrite outer loop in C too! Oh, what the hell, just dump Python and write everything in C!

    PS: LuaJIT and PyPy think your will is weak and CPython is hulking, slow monster.

  72. How to update TZs by Dj · · Score: 4, Informative

    Firstly, Oracle are still updating timezones as always in updates to the JDK/JRE.

    From an old Oracle post though there is this guide

    https://blogs.oracle.com/coffeys/entry/want_the_latest_tzdata_support

    Which breaks down the process for folks who want to build their own TZ updating tool.

    --
    "You know you want me baby!" - Crow T Robot
    1. Re:How to update TZs by iggymanz · · Score: 2

      key link in that page is dead.

      here's the situation: http://www.oracle.com/technetwork/java/javase/timezones-137583.html

      bottom line, you need paid support from Oracle to get correct timezone info

    2. Re:How to update TZs by Dj · · Score: 1
      You'll find the Olson database at its new home on IANA http://www.iana.org/time-zones.

      If you are wondering why its there, look here

      You only need paid support from Oracle if you want updated timezones faster than they do regular updates of the JRE (at least 4 times a year with the new Java CPU scheduling) and you can't build the timezone packaging kit previously mentioned in that blog post.

      --
      "You know you want me baby!" - Crow T Robot
    3. Re:How to update TZs by iggymanz · · Score: 1

      but there's the rub, those who do global business can't afford to be wrong. it isn't a question of x times a year but of always having current zone information

  73. Re:Java at least as fast as C++ by Mr+Thinly+Sliced · · Score: 1

    O dear,

    Not this often repeated crap.

    I'll give you that Java can be within an order of magnitude of C++ - but faster or as fast?

    You're dreaming.

  74. Re:I was about to suggest openjdk by Anonymous Coward · · Score: 1

    There is no closed source Java. Java 7 and OpenJDK 7 are the same thing, same source code. There used to be some parts of Java that was not owned by Sun when they first started open sourcing Java 6. Those parts remained closed in the official release and the community provided shims for the OpenJDK. Oracle has replaced a lot of that closed stuff with new open source code in OpenJDK 7/Java 7 and there might be no closed source stuff left in it, or not much. The goal is for it to be 100% open.

    Oracle is even merging the JRocket JVM with Hotspot. I think some of this was done in Java 7, and the rest in Java 8. JRocket was a commercial high performance JVM they acquired from BEA. Some of the monitoring and diagnostic tools from JRocket will remain closed and commercial, but the JVM itself will always be GPL.

  75. raising a question != begging the question by Anonymous Coward · · Score: 3, Informative

    This begs the question, can you call an API free if you have to pay for it to return accurate information?

    No it does not beg the question.

    What is "Begging the Question?"
    "Begging the question" is a form of logical fallacy in which a statement or claim is assumed to be true without evidence other than the statement or claim itself. When one begs the question, the initial assumption of a statement is treated as already proven without any logic to show why the statement is true in the first place.

    A simple example would be "I think he is unattractive because he is ugly." The adjective "ugly" does not explain why the subject is "unattractive" -- they virtually amount to the same subjective meaning, and the proof is merely a restatement of the premise. The sentence has begged the question.

    What is it Not?
    To beg the question does not mean "to raise the question." (e.g. "It begs the question, why is he so dumb?") This is a common error of usage made by those who mistake the word "question" in the phrase to refer to a literal question. Sadly, the error has grown more and more common with time, such that even journalists, advertisers, and major mass media entities have fallen prey to "BTQ Abuse."

    While descriptivists and other such laissez-faire linguists are content to allow the misconception to fall into the vernacular, it cannot be denied that logic and philosophy stand to lose an important conceptual label should the meaning of BTQ become diluted to the point that we must constantly distinguish between the traditional usage and the erroneous "modern" usage. This is why we fight

    1. Re:raising a question != begging the question by Anonymous Coward · · Score: 1

      Hear, hear! I read the comment thread to this article not because I really cared to hear a bunch of Slashdotters pointlessly bloviate about another of their corporate boogeymen, but specifically to see if someone would address the 'begs the question' misuse. As you point out, begging the question has a specific meaning which is useful to understand. Such incorrect usage as that in the summary discredits the author and those that simply let it slide; of course the likely case is your probably about the only other person here that actually knows what it means to beg the question. Glad to see it posted!

    2. Re:raising a question != begging the question by Anonymous Coward · · Score: 1

      and of course I misuse 'your' while talking about misuse. Let me correct:

      of course the likely case is you're probably about the only other person here that actually knows what it means to beg the question.

      Next time maybe...just maybe... I'll actually not blow by preview.

  76. Re:ORACLE = One Raging Asshole Called Larry Elliso by danomac · · Score: 4, Funny

    Well, that explains why my watch battery only lasts 15 minutes...

  77. Re:ORACLE = One Raging Asshole Called Larry Elliso by Mashdar · · Score: 0

    This. Python is the best of all worlds. You get low dev time for all non-computationally-expensive code, and can write as much as you need to in C. And C without having to write IO in C is just lovely!

    Sorry if you don't like pointers. But the coddling of CS students with Java courses these days is just laughable.

    Java is a pile of inconsistent garbage. Gosh, is in length or size for this type? Is it a method or attribute? Good luck because all of the Java built-ins and base JRE module types are different.

  78. Readability by Livius · · Score: 2

    *No* code is readable without either knowing the language or knowing something similar. Hence the word 'code'. (COBOL is a particularly perverse and ironic example.)

    I find Java readable because I know Java, I know C++, and I like its style as a personal matter of taste, but none of those are a reflection on the language itself.

  79. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 1

    I always thought the Wars of the Reformation were a fascinating, if horrible, part of history. It's always fun to see them re-enacted in spirit with programming languages. Nobody is planning to destroy Bohemia though, right?

    It has been placed in parentheses already. The functional languages laid claim to it.

  80. Re:ORACLE = One Raging Asshole Called Larry Elliso by gadzook33 · · Score: 3, Interesting

    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.

  81. Re:ORACLE = One Raging Asshole Called Larry Elliso by LifesABeach · · Score: 1

    Because, well, buying from convicted thieves, cheats, and liars is a rational deduction in your knowledge base?

  82. Re:ORACLE = One Raging Asshole Called Larry Elliso by LifesABeach · · Score: 1

    [head on desk]You have just casted perl's to this parent.

  83. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 2, Interesting

    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.

  84. Re:ORACLE = One Raging Asshole Called Larry Elliso by aaarrrgggh · · Score: 2

    Do you not think that Microsoft is in nearly the same position as Oracle?! C# might have a number of short-term benefits, but you will end up in the same spot sooner than later.

  85. Stupid by Anonymous Coward · · Score: 0

    This is STUPID. Information such as time zone should be set and updated at the OS level, not the application level.

  86. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    As if them curlies magically make blind automerges absolutely harmless.

    Also, Google sucks.

  87. Write Once Pay Everywhere by markhahn · · Score: 1

    Java's been as unsexy as a leaky toilet for a long time...

    1. Re: Write Once Pay Everywhere by Anonymous Coward · · Score: 0

      Hey now, show some respect for other people's sexual preferences. Scat is a perfectly acceptable fetish. Larry Ellison himself will tell you that.

  88. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    this is not an appropriate way of using curly braces

    Meaningless statement is meaningless both ways.

  89. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    It's not really the version control's fault, per se. Let's say, for instance, that you have two heads where one diverges from the shared ancestor because somebody added some block (like a conditional or ) around existing code, and the other added a line of logic right after that that was related enough that it should have gotten indented with the rest. Obviously the person managing the merge botched it, but if you make the mistake of trying to use vimdiff to handle merges, it's pretty easy to see how that kind of mistake could have been made. The bottom line is that while in every language there's probably some number of places you could hit backspace a couple of times and still end up with correct syntax but disastrous behavior, in Python, you have orders of magnitude more, and most of them are a lot harder to spot.

    And just so we're clear, my scenario is not hypothetical. It really happened to another team where I work. There's no way anybody will ever convince me that whatever Guido thought he was getting out of whitespace as syntax was even remotely worth it. Anybody who uses Python in any sort of enterprise environment is insane.

  90. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    How exactly are you merging? Unless your merging mid-line I don't see how you could mess up whitespace with a merge.

  91. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 1

    I find the redundancy of using both whitespace and curly braces (one for the humans, one for the compiler) even more ludicrous.

    If whitespace is such a bad way of denoting scope why indent in C?

  92. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 0

    I'd say it's pretty consistent garbage, in that it's garbage on a consistent basis.

  93. Re:ORACLE = One Raging Asshole Called Larry Elliso by PPH · · Score: 1

    Newlines are for breaking up long lines and indentation is for ease of readability (blocks or whatever your coding style standards dictate).

    Fixed layout languages date back to the 1950s (Fortran, for example).

    --
    Have gnu, will travel.
  94. Java was a bad decision in the first place by reanjr · · Score: 2

    Own up to your company's bad decisions, bite the bullet, and STOP USING PROPRIETARY SOFTWARE!!!

    Seriously, you people who complain about all your own bad decisions are really getting on my nerves. Java was a bad idea 10 years ago even without the time restriction. Why? Because they throw in a time restriction whenever the fuck they want. Your company was stupid enough to be duped.

    1. Re:Java was a bad decision in the first place by Anonymous Coward · · Score: 0

      Java is one of the greatest ideas in the history of programming languages. It doesn't really matter whether a few hippies moan about not getting a service (that's what it is that tool) for free.It doesn't really cater to that market (if it can be called so), although you are all free to use it as you wish - except you won't get a certain service for free.

    2. Re:Java was a bad decision in the first place by the+eric+conspiracy · · Score: 1

      So use OpenJDK instead. Comes with a free tz updater too.

  95. Re:Java at least as fast as C++ by mark-t · · Score: 1

    To be fair, I've personally witnessed benchmarks where Java's memory allocation and garbage collection outperform C++'s default new operator behavior (with appropriate deletes so that there are no memory leaks) by a huge margin.

    However, modifying the C++ version to utilize custom new and delete operators for the necessary classes to cater to the specific demands of such an application once again pushes the C++ version's performance ahead of Java, as expected. The difference in runtime speed, however, is not as great as you might think. In the case I witnessed where this was done, the Java version took only about 20% longer to complete.

    The Java version used *WAY* more memory, however.

  96. Re:ORACLE = One Raging Asshole Called Larry Elliso by PPH · · Score: 2

    If whitespace is such a bad way of denoting scope

    Because I might want to use it within the same scope for purposes of readability.

    why indent in C?

    Why indeed? I can write an entire C program in one line. But my boss pays based on KLOC, so the more white space, the better.

    --
    Have gnu, will travel.
  97. Re:How about distributing timezone info through DN by Anonymous Coward · · Score: 0

    DNS is a great protocol for distributing a relatively small piece of infrequently changing information to a very large number of clients.

    Not to mention great support for firewall traversal. It gets even into many places that HTTP does not.

    Not that I want to encourage you idiots (Java addicts) with your substance abuse problem, but perhaps NTP may be a better way?

  98. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 0

    Uh static typing... compiler will catch all of those errors and a decent editor will catch them on the fly

  99. Re:Java at least as fast as C++ by Mr+Thinly+Sliced · · Score: 1

    However, modifying the C++ version to utilize custom new and delete operators for the necessary classes to cater to the specific demands of such an application once again pushes the C++ version's performance ahead of Java, as expected.

    I'm aware of such tests - but all they confirm is that pre-allocating a chunk of memory and re-using it is faster than individual allocate/deallocates.

    That's not really that surprising. vector and other containers in C++ provide methods for storage (pre)allocation that can perform similarly.

    If anything, it indicates that the program code is probably less than stellar C++ (stack allocations won't cost you anything and your destructors should be empty for value types).

    Modern C++ shys away from OO derivations, too, where you should be using templates to get your abstraction for (almost) no runtime cost. Don't use virtual function calls - they're expensive - derive from a template class or use functors and get an inlined call for (almost - one byte) free.

    Now don't forget Java has other things working against it (class recompilation, profiling, JVM stalls due to housekeeping etc).

    A native compiled C++ program won't stall or halt your running threads. It's predictable.

    Now we can argue about the effort to write decent Java and decent C++ and there I'll agree Java is a much more approachable language.

  100. Oracle wants to kill freedom by kawabago · · Score: 1

    Oracle, like Microsoft, doesn't understand the value proposition of Open Source. They are walling themselves off to keep it out. Unfortunately the walls are also keeping customers out.

  101. Re:ORACLE = One Raging Asshole Called Larry Elliso by Daniel+Dvorkin · · Score: 2, Funny

    In fact, the idea that you would use whitespace to denote ANYTHING is ludicrous.

    Yesyou'reabsolutelyright.Weshouldjustgetridofitentirely.Itsavessomuchtimetypingwhenyoudon'thavetousethespacebaratall.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  102. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 1

    My company has an infrastructure in aws that runs us ~20k monthly. almost everything in our development stack is ruby, python and JavaScript. We build applications to manage, analyze and visualize (beautifully) large data sets of mostly geospatial data. A language is a language. Just because its "main" or standard execution environment isn't engineered to your needs doesn't mean that alternative engines exist or that it isn't extremely useful for those whose needs align with it.
    Arguing about which language is better in general outside of a specific context is ignorant and naive or nothing more than personal preference.

  103. Re:ORACLE = One Raging Asshole Called Larry Elliso by uncqual · · Score: 5, Funny

    ...and now displays the incorrect time in your locale.

    --
    Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  104. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 0

    I wish you weren't anonymous do I'd be sure to never interview you

  105. An urgent message from Captain Pedantic by wonkey_monkey · · Score: 0

    This begs the question

    No, no it doesn't.

    --
    systemd is Roko's Basilisk.
    1. Re:An urgent message from Captain Pedantic by Anonymous Coward · · Score: 0

      This begs the question

      No, no it doesn't.

      It raises the question. Captain Pedantic should have written the correct answer.

    2. Re:An urgent message from Captain Pedantic by wonkey_monkey · · Score: 1

      Captain Pedantic cares not for your petty need for answers. Foolish human.

      --
      systemd is Roko's Basilisk.
  106. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 1, Insightful

    [Python and Go] have basically the same semantics . . .
    Seriously? If you believe that statement you are lacking experience in one or both of those languages.

  107. Too many weenies in the Go community. by Anonymous Coward · · Score: 5, Interesting

    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.

    1. Re:Too many weenies in the Go community. by Anonymous Coward · · Score: 0

      The Python community seems a little older, much more professionally mature, and helpful.
      The Ruby community gravitates towards a youthful snarkyness.. which is I agree is irritating.

      It is hard to take the Ruby community seriously when they point you to "Why's Poignant Guide to Ruby."
      http://mislav.uniqpath.com/poignant-guide/

    2. Re: Too many weenies in the Go community. by Anonymous Coward · · Score: 1

      While I don't entirely disagree with you, your last paragraph displays exactly the kind of snarkyness that everyone is complaining About inthe Ruby community.

    3. Re:Too many weenies in the Go community. by aztracker1 · · Score: 1

      You may want to take a look at NodeJS as well... the community is pretty good.. and other than following the callback pattern that is used everywhere for public modules, and using EventEmitter for events, the community is really nice. The two mentioned issues are mainly about consistency through the platform over being mean for the sake of, a lot of libraries will expose a monad-like interface with promises and/or events in addition to the regular callback/options pattern.

      I will say it may be the specific channels/communities you are using, as I've had the same kinds of issues in the past with Linux in general, though it has gotten a lot better. I've only had a cursory peak into Ruby, and haven't even looked into Go so YMMV. I will say the Python guys I've talked to have been pretty nice, and Twisted isn't bad. You can also use CoffeeScript in the NodeJS environment, which is at least closer to Python in terms of structure.

      --
      Michael J. Ryan - tracker1.info
  108. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    You're worried about a language that is 'interpreted' why exactly? Do you think there is a C machine out there? Or even an Assembly machine? No.

    If you cycles are that important, you can drop into C in the appropriate places by including python.h.

    Seriously, get a grip.

  109. Re:I was about to suggest openjdk by aled · · Score: 1

    I'm aware of that. My question pointed specifically to the timezone implementation. If the relevant parts are open source it should be not hard to write an alternative utility.

    --

    "I think this line is mostly filler"
  110. Re:ORACLE = One Raging Asshole Called Larry Elliso by Lendrick · · Score: 1

    Hi Trolly McTrollerson,

    If you care that much about speed, you should probably consider something other than Java and C#.

  111. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 2, Interesting

    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.

  112. Music to the ears of a .NET developer by bigtallmofo · · Score: 3, Insightful

    As someone who was been a .NET developer in C# since it came out, this is welcome news to see Java developers abandoning their platform in droves.

    Sorry to sound harsh, but I heard from so many middle managers and CIOs over the years, "Why don't you use Java?" "I noticed you don't use Java, what's wrong with you?" "What about Java?" "Have you looked into Java?" I had one snarky middle manager buy me a Java book for Christmas one year.

    Sorry, I don't use Java and every day more and more people are saying the same thing.

    --
    I'm a big tall mofo.
    1. Re:Music to the ears of a .NET developer by Anonymous Coward · · Score: 0

      That's OK ... people leaving Java doesn't mean they stopped thinking .NET is shit they're not interested in.

      Microsoft proprietary, and not cross-platform doesn't make it an attractive option either.

      And, slightly more on topic ... fuck you Oracle, you greedy sacks of shit.

    2. Re:Music to the ears of a .NET developer by VisceralLogic · · Score: 1

      Well you see, not everyone targets Windows.

      --
      Stop! Dremel time!
    3. Re:Music to the ears of a .NET developer by aztracker1 · · Score: 1

      You don't have to with C# either...

      Then again, I'm becoming a bit of a NodeJS fan for server-side dev.

      --
      Michael J. Ryan - tracker1.info
    4. Re:Music to the ears of a .NET developer by Anonymous Coward · · Score: 0

      Because mono is 1 to 1 with .NET.

      Wait a second, it is not? Who knew? Everyone knows that .NET apps are NOT cross-platform, except MS drones of course.

  113. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    If cross platform is a requirement it instantly disqualifies python - the API layer is low level enough that it exposes just too much platform specific weirdness and getting anything to work relyably on both windows and linux is a nightmare. (also 100% test coverage is a requirement unless you like syntax/used before assigned, etc. errors at runtime, this is a general problem of scripting languages)

    The simplest thing to do would be a switch to "shudder" Mono (not to be confused with .Net) while not as good as the offficial .Net release or Java it at least comes close to cross platform and static code verification.

  114. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Shit, I think I might work on some code you have written in the past. The rest of us curse the fucker who put debugging crap all over the place, without any indentation. It makes our code really fucking awful to work with, to the point of us having stripped out most of this unindented junk.

    Can you give some initials or other discreet way of identifying the company (or companies?) that you've left code at?

  115. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 1

    I've had to use python for classes. I write perfectly good code with it. And yes, it is still an abomination and I'm happy to go back to other languages. It is like COBOL's Last Stand or something. *shivers*

  116. Re:ORACLE = One Raging Asshole Called Larry Elliso by rnturn · · Score: 1

    I used to work with a guy -- years and years ago -- that discovered that the IBM FORTRAN compiler would allow you to omit spaces. Having to read his code littered with statements like "DO10I=IBEGIN,IEND,IINCR" was a pure joy. On the other hand, I've long avoided diving into Python because I cannot see why anyone would want to consider whitespace as a language element.

    --
    CUR ALLOC 20195.....5804M
  117. Olson database by Todd+Knarr · · Score: 1

    Check me, but Java uses the Olson tzdata files as it's base. So is there enough documentation on the format of the files in Java's lib/zi directory tree to create a tool for converting the current tzdata package to something Java can use? That'd be the route I'd take, possibly looking at the OpenJDK source code to see if there's useful information there.

    The ideal route would be to replace the standard Java classes with ones that used the Olson database directly, but the way the JRE packages classes that's probably infeasible.

    1. Re:Olson database by Todd+Knarr · · Score: 2

      Hmm. Oh, look, OpenJDK 7 jdk\make\tools\src\build\tools\javazic has source code for a tool to... compile Olson tzdata into Java zi format. Well then. Problem solved, it looks like.

    2. Re:Olson database by c0lo · · Score: 1

      Hmm. Oh, look, OpenJDK 7 jdk\make\tools\src\build\tools\javazic has source code for a tool to... compile Olson tzdata into Java zi format. Well then. Problem solved, it looks like.

      As long as you don't forget to restart any JVM started before the new tzi is compiled.

      --
      Questions raise, answers kill. Raise questions to stay alive.
  118. Re:How about distributing timezone info through DN by pe1chl · · Score: 1

    You query for a location+timestamp and you get a timezone rule back that includes a timestamp range it is valid for.
    This information you cache locally, and before making more DNS queries you check of you have locally cached info for that location for which the requested timestamp is within a previously returned timestamp range.
    That does not sound too difficult. It is much like the operation of the existing library, which uses a static table instead of DNS queries but still needs to have
    separate information for different timestamp ranges.

  119. Obvious solution... by jonwil · · Score: 1

    The obvious solution is for someone to come up with a drop-in replacement for the stock timezone APIs and then use whatever method Java has for overriding stock functions (not sure what it has, I haven't written any Java code in years) to make the JRE pick that up instead of the stock code.

  120. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0, Flamebait

    They're both poorly designed imperative languages with terrible type systems. On the spectrum of garbage they're close enough.

  121. OpenJDK is garbage by Anonymous Coward · · Score: 0

    Barely anything works right on it. Basic items (like scroll bars and generic fonts) don't work right and support of HTML formatting is not worlking. The JFileChooser SEGFAULTS every time you click anything (the native code is hiding the problem) and performance is poor.

    Why the hell you would you suggest that crap to anybody?? If you are not using the Oracle or the IBM JDK you have no idea of what you are doing.

  122. Partially correct by Anonymous Coward · · Score: 0

    Only a subset of Oracle Java is in OpenJDK. But features like Swing don't work right on OpenJDK.

  123. Re:ORACLE = One Raging Asshole Called Larry Elliso by Richy_T · · Score: 2

    Presumably it was supposed to be stripped out and that was the reason for leaving it unindented.

  124. Re:How about distributing timezone info through DN by Richy_T · · Score: 1

    There is a "maximum caching time in case of failed lookups" which might play to that.

  125. Re:ORACLE = One Raging Asshole Called Larry Elliso by Daniel+Dvorkin · · Score: 1

    I used to work with a guy -- years and years ago -- that discovered that the IBM FORTRAN compiler would allow you to omit spaces. Having to read his code littered with statements like "DO10I=IBEGIN,IEND,IINCR" was a pure joy

    Okay, that's just evil.

    On the other hand, I've long avoided diving into Python because I cannot see why anyone would want to consider whitespace as a language element.

    FWIW, I used to feel that way until I started using it. It took me about a day to get used to significant whitespace, and after that I decided it's a really nice, elegant language. Give it a shot, and you may be pleasantly surprised.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  126. Re:ORACLE = One Raging Asshole Called Larry Elliso by davester666 · · Score: 0

    Sure, Oracle are being dicks about this, but complaining because you don't want to pay for updates so your product continues to work properly is also lame.

    Not you, but the articles writer. Your company has been freeloading for 10 years...

    You can also code your own time zone support.

    --
    Sleep your way to a whiter smile...date a dentist!
  127. Re:The database is called "Olson", you find it her by NoelTrout · · Score: 1

    Yes, IBM provides free updates but only to IBM JDKs and JREs, not from other vendors (Oracle for example). Read the details in the link to ibm.com

  128. Dump Daylight Savings and standardize timezones by mattb47 · · Score: 1

    How about government stop f*cking around with timezones? Studies have now shown that the energy savings from Daylight Savings was illusory. Any benefits of doing plus or minus an hour here and there seem to forget the support costs. And Java's problems here are a great example.

    I was managing my company's Outlook/Exchange environment when the US govt last expanded Daylight Savings. What an incredible, and entirely unnecessary, pain in the ass. (Especially as way too many patches/routines were issued only just before the changeover, and were generally poorly documented.)

    The world needs 24 timezones, and that's it. (Yes, Newfoundland -- quit trying to be stupid different with your 30 minute time differences.)

    If governments want something to show and drum up support/campaign money, just keep passing your local equivalents of Elvis Day. Something harmless.

    1. Re:Dump Daylight Savings and standardize timezones by Anonymous Coward · · Score: 0

      How about government stop f*cking around with timezones? Studies have now shown that the energy savings from Daylight Savings was illusory. Any benefits of doing plus or minus an hour here and there seem to forget the support costs. And Java's problems here are a great example.

      Loss of money is not the scariest side effect. Farmers inject cows with hormones to make them deliver milk an hour earlier because the milktruck arrives an hour earlier. People sleep one hour less one night and the number of traffic accident in the morning rush hour is higher for a week (including fatal ones). Wildlife learned when rush hour takes place and avoids the roads at those hours. Starting rush hour one hour earlier kills quite a lot of them.

      Then there are stories of stupidity like "all nighttrains stops for an hour in order not to drive ahead of schedule". Arrives at 2:58 and departs at 3:01 is an hours wait when you go from 3:00 to 2:00.

      After that is all the financial issues and issues like the one mentioned here.

      All this for saving energy... oh wait the power company actually released a press release telling that they can't tell the difference in power usage. Power used on lights is too minor to really make a difference (think about that one for a moment when you consider how they banned proper lightings. CFLs are not only toxic, but they also flicker enough to cause epileptic seizures and the colors are worse, specially for old people or other with impaired vision)

  129. Re:ORACLE = One Raging Asshole Called Larry Elliso by phantomfive · · Score: 4, Interesting

    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.

    --
    "First they came for the slanderers and i said nothing."
  130. Re:ORACLE = One Raging Asshole Called Larry Elliso by gadzook33 · · Score: 1

    I met one of the guys that worked on the original Python spec and asked why they wrote Python when there were so many other languages already to choose from and he said, oh, I don't know, it's another language. And your sarcasm not withstanding, you can eliminate spaces like that as long as you replace them with another deliminator, which is actually the whole point.

    Try C# if you want to be really pleasantly surprised.

  131. Re:ORACLE = One Raging Asshole Called Larry Elliso by RulerOf · · Score: 2

    Sorry if you don't like pointers. But the coddling of CS students with Java courses these days is just laughable.

    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?

    If you're not learning the premise of CPU registers, memory allocation, jumping, returning, and all that happy crap that I honestly wish I understood better, what in the hell is the actual science behind modern computing then? Doesn't it make sense to start with the raw assembler involved in the top three (or so) CPU architectures and then move up from there, learning the foundation that they all compile down to in the end anyway, so that you can see the impact that your compiled code will have as you're writing it?

    Primarily I'm just agreeing with your notion that Java is likely an inappropriate medium for conveying the concepts behind the magic that we interact with every day in the millions of CPU cycles that can transpire during a single keystroke; the processes occurring in Windows alone that take privileged, direct hardware access for something like USB communication and keyboard/mouse interaction and lock it right-the-hell down to the point where the operating system can extend these things into User mode without allowing them to compromise the kernel is a titanic feat of engineering... and I've known people with Bachelors' degrees in computer science that seem basically oblivious to the nature of how that even works. It's entirely possible that they didn't care, but I digress.

    Granted, my work with interpreted scripting languages causes me to find the concept of pointers and type casting and memory allocation and garbage collection to be inane, silly chores that I shouldn't have to worry about to Get Things Done.... but someone should, and their credentials should reflect that. The fundamental principles underlying modern computer systems and their continuing evolution depend on it.

    --
    Boot Windows, Linux, and ESX over the network for free.
  132. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    > If the whitespace still bothers you - it means you haven't even spent 15m using it.

    Or it means that your editor is changing spaces to tabs and not displaying tab characters.

    Whitespace should _only_ be space characters and line feeds. Mixing tabs and spaces is bound to fail. Once you have configured your editor to never use a tab then all will work well.

  133. Re:ORACLE = One Raging Asshole Called Larry Elliso by ebno-10db · · Score: 2

    In fact, the idea that you would use whitespace to denote ANYTHING is ludicrous.

    Yesyou'reabsolutelyright.Weshouldjustgetridofitentirely.Itsavessomuchtimetypingwhenyoudon'thavetousethespacebaratall.

    CLOSEBUTYOUHAVETOGETRIDOFTHEPUNCTUATIONMARKSTOOITSCALLEDSCRIPTUMCONTINUUM

  134. Re:ORACLE = One Raging Asshole Called Larry Elliso by ebno-10db · · Score: 1

    In the Wars of the Programming Languages, no episode was more vicious than the Whitespace Battles.

  135. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Then why not just write in c? Or at least use Lua instead of Python since Lua plays better with C/C++

  136. Re:ORACLE = One Raging Asshole Called Larry Elliso by julesh · · Score: 2, Interesting

    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)
    PERL
    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)
    Prolog

    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.

  137. Re:ORACLE = One Raging Asshole Called Larry Elliso by blade8086 · · Score: 1

    Google is not legally required to have data integrity, to care about your data, or to have any concern for a system or application crash,
    and their applications, when crashing, don't affect anyone in a 'real' way (e.g. losing peoples entire savings, having them die, etc)
    other than whiny users until they can fix the issue or spin the loss of user data in the press.

    Just because Teh Googz is doing it, doesn't mean it's the right technology for all applications.

  138. Re:ORACLE = One Raging Asshole Called Larry Elliso by the+eric+conspiracy · · Score: 1

    The low level details of the CPU implementation are a very small corner of computer science. It's mostly about the applied mathematics of computing which is completely language agnostic.

    From Wikipedia:

    The IEEE Computer Society â" identifies four areas that it considers crucial to the discipline of computer science: theory of computation, algorithms and data structures, programming methodology and languages, and computer elements and architecture. In addition to these four areas, CSAB also identifies fields such as software engineering, artificial intelligence, computer networking and communication, database systems, parallel computation, distributed computation, computer-human interaction, computer graphics, operating systems, and numerical and symbolic computation as being important areas of computer science.

  139. Re:ORACLE = One Raging Asshole Called Larry Elliso by blade8086 · · Score: 1

    riight.. because all software test cases cover all scenarios every time

  140. Re:ORACLE = One Raging Asshole Called Larry Elliso by julesh · · Score: 1

    if you are doing intensive calculations and they slow down execution you can write those parts in c

    If you're working in C# or Java you're much less likely to need to, and if you need to be productive you should avoid working in C or C++ at any cost -- Java programmers have been shown to be up to 200% more productive than C++ programmers working on the same task, and C++ is a somewhat more productive environment than C. C/C++ solutions also have significantly more bugs in them (up to 50% more, depending on the type of task).

    The ability to drop to C is fine, but if you're planning on using it for more than occasional small functions you'd probably be much better off finding an environment with performance that's good enough that you don't need to.

  141. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Sigh. I am a ten year python guy, and... it really does pain me to admit the truth of your statement.

    To be clear -- there /are/ ways a competent architect can work around the GIL. Many of them even catching on in typical design. But the lack of true multi threading is still a real and legitimate concern/problem/flaw.

    Given that I have not been able to recommend Java while feeling like a honest professional since the moment Oracle bought Sun... what I'm saying should be taken with...a palmful of salt.

    http://www.jython.org/jythonbook/en/1.0/Concurrency.html#no-global-interpreter-lock

    Running Python with Java is a way to get the best of both worlds. And it does work just fine as long as you have a developer that is competent to handle the juxtaposition.

    But sadly, I can of course not recommend Java to any professional these days without advising a lot of 'due diligence'

    I do want to pitch a few things your way though WRT high performance apps.

    1) Much like Java, python bytecode is smaller.

    For a well structured application, in which you can fit your VM, or a stripped down VM entirely in memory or better yet l3 cache....

    The effective 'smaller' JIT can have cache localization benefits that will blow your typical C/C++ performance away (and most Java guys are such fools with memory management I have only once seen an application written in a manner that comparison was fair).

    Yeah, we won't be beating Fortran any time soon though.

    2) If you're threading your high performance applicaiton, I hope it really is an application that needs threading, and not /just/
      - running on windows
      - need 'lighter' or 'faster to create' processes
    - GUI updating
    - Some sort of glorified network FIFO

    I know there's real reasons to use threads. But in truth, (working in Python or not) -- every single time I've worked with someone who suggested them, they did so for the wrong reason. The only 'right' part of it was that they knew the API pretty well.

    3) Most engineers and scientists I have had the intense displeasure of working with are better working in Python than Fortran, Java, whatever. But really, that's the language design -- and I wouldn't advocate COBOL just because it's more readable or writeable. I will advocate a tool for making jobs accessible though.

    They are unfortunately utterly incompetent as software engineers and debuggers in either language, but usually they can manipulate a custom API in a subset of python if you give them a template to work from.

    But if they get it running well in Python, it's usually pretty portable to a faster language.

    Unless they're a genuine stack-overflow-copy-pasta-idiot.

    Those... really can't be helped.

  142. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    It significantly reduces the potential harm. For instance, you are going to be hard pressed to find a spot in Java where I can change scope on a line of code by only editing a single consecutive set of characters. It doesn't solve all problems, but if somebody could kindly describe what the fuck more important interest python is serving by using whitespace as syntax, maybe I'll believe it was a reasonable decision. Which seems more important to you: having to yell at people slightly less frequently for not following your company's style guidelines (you do have style guidelines besides just indentation rules, right?), or watching for somebody screwing up a merge in such a way that makes your code do something entirely different without changing anything besides indentation? I think anybody who doesn't see how fucking stupid of a tradeoff that is has had way too much koolaid.

  143. Re:ORACLE = One Raging Asshole Called Larry Elliso by HiThere · · Score: 1

    Scrap the conditional. They *are* interpreted languages. So was BC-Algol. So are many versions of Lisp and Scheme.

    But do note that just because one implementation of a language is interpreted, doesn't mean that the language is inherently interpreted. UCSD Pascal was an interpreted language. FPC Pascal is not. Lisp 1.5 was an interpreted language. SBCL Lisp is not.

    It's true that I haven't heard of any compiled versions of Python, Ruby, or Smalltalk, but that's not proof that they are impossible. (Pyrex comes close WRT Python, as possibly does Cython...but IIUC it's WRT Python2, not Python3.)

    Currently my language of choice is D (Digital Mars D), but I sure envy Python it's collection of libraries. And most of the time I'll try to use Python first.

    I'm afraid that I consider C a nest of bug-prone constructs. And C++ isn't any better. (I really dislike the STL and boost isn't that much better. Dealing with unicode in either language is too much pain to bother with. (C *is* useful as a glue layer to foreign libraries. C++ doesn't even have that utility.) And pointers are one of the worse aspects, second only to non-range-checked arrays, with free casting of RAM locations in third only because it's rarer.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  144. Nothing to see here by Anonymous Coward · · Score: 0

    Why is this news? Why is everyone complaining? They are saying they'll no longer be updating Java 6. You want your TZ updates, move to Java 7!

    This just in: the Commodore 64 will no longer be supported by Atari.

  145. Re:ORACLE = One Raging Asshole Called Larry Elliso by HiThere · · Score: 1

    Given the history of MS, I would expect him to end up in a worse spot.

    Java has been GPLed, and Oracle has pretty much lost the law suit claiming copyright on the API documentation (IIUC). So Java just needs to be forked NOW. (I believe that this is in process.)

    MS has given no indication that they will ever release C#, and certainly they have refused to release certain parts of .NET. So I expect that C# will end up wholly proprietary. (After all, they *are* the copyright holders, so they can release new versions under any license they choose.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  146. Re: ORACLE = One Raging Asshole Called Larry Ellis by HiThere · · Score: 1

    IIUC, Ruby2 *is* thread-safe. It's just that its libraries aren't. So the native implementation maintains a GIL. OTOH, there are a couple or three implementations that DON'T have a GIL. One of which (JRuby?) runs on the JVM.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  147. For JDK6 by slack_justyb · · Score: 1

    Seriously did no one notice that this is for Java 6? Update to Java 7. Way to make a story out of nothing. I hate Slashdot editors.

    1. Re:For JDK6 by Todd+Knarr · · Score: 1

      The tzupdater's applicable to Java 7 as well. I'm interested in a replacement for two reasons:

      • So I can automatically sync my Java installations with my Unix tzdata, getting timezone updates sooner than new JRE/JDK releases.
      • So I can keep timezone information updated for Java 7 when it stops getting updates, as well as for Java 6. For some stuff I don't have the luxury of updating to Java 7 because Java 6 is mandated for it (corporate rules, I don't get to change them).
    2. Re:For JDK6 by Todd+Knarr · · Score: 1

      Oh, and I noticed that updating to Java 7 will not get you the current timezone data. The latest Java 7 packages are using tzdata from 2012i, current is 2013c. So even if you're using Java 7, you need to run tzupdater to bring you current or compile the javazic tool and build your own zoneinfo files.

    3. Re:For JDK6 by theschles · · Score: 1

      Son of a gun, Todd, you're right.

      http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html

      Timezone Tzdata Version
      Introduced in JRE Update Release
      TZUpdater Version
      Main Changes in this Timezone Data Release

      tzdata2013c
      1.3.56
      Palestine observed DST starting March 29, 2013.
      Changes in Paraguay's DST rules.

      tzdata2013b
      1.3.55
      Haiti uses US daylight-saving rules this year, and presumably future years.
      Paraguay will end DST on March 24 this year.
      Morocco does not observe DST during Ramadan;try to predict Ramadan in Morocco as best we can.

      tzdata2013a
      1.3.54
      Chile's 2013 rules, and we guess rules for 2014 and later, will be the same as 2012, namely Apr Sun>=23 03:00 UTC to Sep Sun>=2 04:00 UTC.
      New Zones Asia/Khandyga, Asia/Ust-Nera, Europe/Busingen.

      tzdata2012j
      1.3.53
      Libya moved to CET on Nov 10th weekend, but with DST planned next year.

      tzdata2012i
        6u38
        7u10
      1.3.52
      DST changes in Cuba to first Sun of Nov.

  148. Re:ORACLE = One Raging Asshole Called Larry Elliso by HiThere · · Score: 1

    Sorry to correct you, but it bothered me, in decreasing amounts, for the first 6 months that I used Python. (OTOH, I was also bothered by Ruby's @, @@, and $ annotations. That bothers me for a day or so every time I come back to the language, whereas Python's whitespace no longer bothers me...but I do use tabs rather than spaces, despite opposition on the mailing list. It's perfectly safe and grammatical as long as you don't mix spaces and tabs in the initial whitespace.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  149. Re:ORACLE = One Raging Asshole Called Larry Elliso by smellotron · · Score: 2

    The low level details of the CPU implementation are a very small corner of computer science.

    Your own quotation doesn't seem to support your assertion:

    The IEEE Computer Society identifies four areas that it considers crucial to the discipline of computer science: theory of computation, algorithms and data structures, programming methodology and languages, and computer elements and architecture.

    Emphasis mine. One of the four "crucial areas" is the CPU implementation.

  150. Re:ORACLE = One Raging Asshole Called Larry Elliso by rnturn · · Score: 1

    Okay, that's just evil.

    It may have seemed evil -- especially for those of us who worked with that guy and had to read his code -- but there was actually a purpose for his coding style: it was supposed to save disk space. Really. Unfortunately, the savings were miniscule compared to other things one could do to save space. Like instruct the XEDIT editor (this was back in my VM/CMS days) to not add the sequence numbers to columns 73-80 while working with the file. There were file compression utiliities that worked much better when they didn't encounter those useless numbers. If memory serves (and I'm pretty fuzzy on this not having used it since the early '80s), there was even a CMS filemode number that caused files to be saved on disk in a compressed format and I recall writing macros to remove the sequence numbers from files that had them inserted by an editor user who didn't know the trick to disable them. Ah, the weird crap we had to do back then.

    --
    CUR ALLOC 20195.....5804M
  151. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    GP was right...Java (and C#) is a compiled languages. The bytecode is interpreted by the virtual machine just as the machine code would be interpreted by an actual machine. The important thing is that there is a compilation step that will do type checking and variable name checking to ensure that you don't have fat-finger bugs.

  152. Re:ORACLE = One Raging Asshole Called Larry Elliso by hedwards · · Score: 2

    Spoken like somebody who hasn't ever coded. You've got ( ) { } [ ] and arguably "" and '' with which to surround things you want enclosed. Now, it is debatable as to whether the current consensus as to which to allocate to what is correct, but the fact of the matter is that if you enclose something with those pairs of characters that people will naturally get the hint that something has been enclosed.

    Whereas using tabs and newlines in this fashion conveys no such thing.

    What's more, because the newline terminates the line, it means that you can't do things like split regexes onto multiple lines to enhance legibility as those would be executed as if they were intended to be different lines of code.

    Just because you don't understand why the convention is typically to use curly braces like that instead of white space, does not mean that it's an arbitrary decision. It just means that you need to read up a bit before you speak up.

  153. Re:ORACLE = One Raging Asshole Called Larry Elliso by Em+Adespoton · · Score: 1

    I turned on "show hidden characters" after the first hour of using Python... I now keep it enabled in all editors all the time. Keeps you from messing up pretty much all documents (although tab stops can do crazy things to layout still).

    Character 0x20 is just a character on screen; nobody said it always had to be a blank.

  154. Re:ORACLE = One Raging Asshole Called Larry Elliso by hedwards · · Score: 1

    You've sort of just proven the GP's point. The Romans didn't have spaces or punctuation in Latin, and they could read and write just fine, the reason why English and most modern languages do have whitespace is that it makes it easier to read in a more efficient fashion. The language itself would function just fine without the white space, it's just that you would need to know a much larger number of words before you could start reading.

  155. Re:ORACLE = One Raging Asshole Called Larry Elliso by mhotchin · · Score: 1

    Computer Science is about Computers exactly as much as Astronomy is 'about' telescopes. Means, not an End.

    * Attribution lost in the mists of time. No, it's not Edsger Dijkstra.

  156. Java 6? by Anonymous Coward · · Score: 0

    The linked page says that Java 6 has reached end of life, and that further patches will cost money. So, is the problem in fact that you (the poster) run your application on outdated software? Would it still be an issue if you ran a current version?

  157. Read IBM's license BEFORE using their utility ! by Anonymous Coward · · Score: 0

    License here: http://www.ibm.com/developerworks/java/jdk/dst/license/en.html

    Read it first !!

  158. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Python bytecode is not machine code, and the Python VM isn't very fast. All .pyc files do is speed up loading of the application. Python is ridiculously slow. Even proper Python JITs like PyPy aren't as fast as, say, Lua or JavaScript, just because Python's semantics are so convoluted (although JavaScript's semantics are convoluted _and_ useless, so...)

    That said, it hardly matters. The big different between Java and Python is that with Python you'd also need to choose an operating system so your application would work reliably, whereas with Java you can get closer to the "run anywhere". Case in point, Java handles all of its time and data internally, whereas Python would use the operating system facilities for timezone data.

  159. Patching JVM and JodaTime Simultaineously by Anonymous Coward · · Score: 0

    Time-zone updates are often released after time-zone changes have taken effect which is not useful for airlines selling tickets for future travel. In fact sometimes even the Olson DB release is after the fact and so we must manually update it ourselves before hand.

    We create a single patch jar loaded on the bootclasspath to override the JVM and JodaTime time-zone data in a single step such that to update production JVM's, we just have to replace that single jar and restart the JVM.

    We use the javazic compiler from OpenJDK7 to process the latest (patched if need be) Olson DB. The patch jar overrides the standard class “sun.util.calendar.ZoneInfoFile” such that standard JDK classes (Date/Calendar) use time-zone data from that patch jar. The patch when loaded also sets the system property “org.joda.time.DateTimeZone.Provider” to our own provider such that the patch is also the source for time-zone data for JodaTime.

    All this is wrapped up in a simple ant build complete with unit testing to cross check that JodaTime and Calendar make time-zone transitions at the same time in each time-zone for the next 365 days. We also mandate use of JodaTime over Calendar but sometimes Calendar can't be avoided so ensuring the time-zone info is in sync between them is a must.

    Haven't looked yet at how this might be affected by JDK8 and JSR310, but am sure the process can be updated to cover them.

  160. Re:ORACLE = One Raging Asshole Called Larry Elliso by tepples · · Score: 1

    CPython "compiles" a Python program to bytecode, but that's just a pickling of the parse tree. Does this bytecode get further compiled to native code nowadays, or does it get interpreted like CPython has always done?

  161. Re:ORACLE = One Raging Asshole Called Larry Elliso by sjames · · Score: 1

    So I guess you only use purely RISC processors?

  162. Re:ORACLE = One Raging Asshole Called Larry Elliso by sjames · · Score: 2

    Ican'tagreewithyoumore.Whitespacehasnoplaceinsyntaxatall.Let'sdumpitall.

  163. So you already have the source code? by miroku000 · · Score: 1

    If you have the source code for the patch for this version of java, then can't you just make your own version of this API?

  164. Re:ORACLE = One Raging Asshole Called Larry Elliso by gbjbaanb · · Score: 1

    to be fair to Microsoft, they never even suggested that programming in .NET would be anything other than quite expensive for the tooling.

    Unless you count the Express versions.... in which case, yeah... they're just as bad as Oracle. But at least you still have Java, unlike Silverlight and XNA and VB6 :-)

  165. Re:ORACLE = One Raging Asshole Called Larry Elliso by gbjbaanb · · Score: 1

    good for you, tabs were invented for one reason - and that is indentation. So it bothers me that the recommendation is to use spaces - which are a PiTA. If Python only used tabs for indents, I'd be ok with it, though I still think braces to enclose code blocks is a sensible idea.

  166. Re:ORACLE = One Raging Asshole Called Larry Elliso by gutnor · · Score: 1

    Professional ? I have not really seen any discussion about low level styling issue like this one in at least a decade. In practice, nowadays, you have to actively fight against your editor to have a mismatch between indentation and blocks, professional developers have moved on to nitpick about other stuff.

    The fact that there are people that feel strongly about something that even the shittiest editor on the market will handle flawlessly instead of, I don't know, the difference in basically everything between java and python, is what makes feel slashdot readership has turned in a bunch of script kiddies arguing with a bunch of older developers turned project manager a decade ago.

  167. Java is dead! Long live java! by woboyle · · Score: 1

    I think that Oracle has just killed their golden goose! Gee, I wonder just how long before some one else addresses this issue? 10...9...8...

    --
    Sometimes, real fast is almost as good as real-time.
  168. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 0

    Right...for some definition of "terribly slow" that includes "fast enough to run 'thousands of real-world business applications around the world, including many large and mission critical systems'" http://www.python.org/about/quotes/

  169. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    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.

    We already knew python is bad for high performance, but that goes for all bytecode languages, including java. If speed is important you should think of C/C++ or similar.

    My experience is that C/C++ isn't even harder to port than Java as I have a history of strange java issues. It's not even that hard to write portable C++ if you know what you are doing. Portability might not be an issue for the original poster, but if it isn't, then why pick java in the first place?

  170. OP Reading Comprehension Fail by Anonymous Coward · · Score: 0

    The linked page clearly states:

    "The current Time Zone information is included with every update release of Java SE.

    As of February 2013, Java 6 is at End of Public Updates. Developers and end-users are encouraged to update to more recent Java SE versions that remain available for public download. For users who need continued access to critical bug fixes and security fixes as well as general maintenance, such as the TZUpdater, for not publicly updated versions, long term support is available through the Oracle Java SE Support Program."

    So either use a current Java release, or if you must use an EOL/EOS version of Java and need TZ updates find another way or pay for support.

    This does NOT equal Oracle no longer providing free TZ updates for Java.

  171. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    The bottom line is that while in every language there's probably some number of places you could hit backspace a couple of times and still end up with correct syntax but disastrous behavior, in Python, you have orders of magnitude more, and most of them are a lot harder to spot.

    I have had to deal with the aftermath of one incidence of that sort. But it was not Python code, it was C++ code. One * character was missing from the code. By the time the problem was discovered, that one missing character in the source code had resulted in the accidental deletion of 100000 email accounts.

  172. Re:ORACLE = One Raging Asshole Called Larry Elliso by the+eric+conspiracy · · Score: 1

    Yes, and CPU implementation is a further subdivision of computer elements and architecture.

    Then the details of register use are an even further subdivision.

    I've done work in the field since the 70's. The last time I had to worry about CPU architecture was as a junior in college in 1971 when I was porting Spacewar from a PDP-1 to a PDP-8. Mostly these days it's all about algorithms in high level languages.

  173. Re:ORACLE = One Raging Asshole Called Larry Elliso by aled · · Score: 1

    There is an ongoing project for development of a python front end for GCC. I don't know its current status but it most be experimental.
    Also there is the Java implementation of Python, JPython. By virtue of running over the JVM Just In Time compiler Python code gets compiled to native code in runtime eventually.
    I can understand your point about C but the lastest C++ compilers are looking real good for the same job, even if you limit yourself to a subset of C++. I have been converting some old libraries and small apps from C to more modern C++ using mostly strings and maps and I can report that is much safer and readable than C. Just using std::string to replace char*s have been a pleasure in security gained, even if std::string is not very nice.
    Practically hadn't needed pointers in most cases.

    --

    "I think this line is mostly filler"
  174. Re:ORACLE = One Raging Asshole Called Larry Elliso by flargleblarg · · Score: 1

    I do that as well — for very short-term insertions of debugging code.

    Of course, it's imperative to remove it or, at the very least, properly indent it, before checking it in.

    As a side note, every source code version control system should have a customizable pass/no-pass filter that can reject the checking in of improperly formatted code.

  175. Screw all these high level languanges by fustakrakich · · Score: 1

    If you can't code in binary, you ain't worth shit.

    --
    “He’s not deformed, he’s just drunk!”
  176. Re:ORACLE = One Raging Asshole Called Larry Elliso by Nimey · · Score: 1

    Hmm... the Defenestration of Prague started the wars, and defenestration involves being pushed through a window... C# started it!

    --
    Hail Eris, full of mischief...

    E pluribus sanguinem
  177. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Yet Python is perfectly fine without curly braces and never leads to oversights due to faulty indentation. And not having to type the bloody curlies is heaven.
    Maybe you need to code a bit more (in Python) before you speak up?

  178. I know this may sound blasphemous ... by argoff · · Score: 1

    ... but does anybody else think the whole world should just move to 24 hr GMT, and get it over with.

    1. Re:I know this may sound blasphemous ... by Anonymous Coward · · Score: 0

      ... but does anybody else think the whole world should just move to 24 hr GMT, and get it over with.

      Plenty of people think that, though they call it UTC, which happens to be the same during the winter. It solves one problem and causes another. All of a sudden people don't know if the sun raises at am or pm and what about Australia? They get a new date around lunchtime.

      Btw I'm told Iceland is the only country to use true Greenwich time all year. However Iceland is geographically two timezones to the west of London, meaning they get midnight sun even though they are south of the polar circle. 70 meters south of it to be precise. Yes meters. It's a tourist spot to see the polar circle (which looks just like water elsewhere)

    2. Re:I know this may sound blasphemous ... by Prof.Phreak · · Score: 1

      I'd vote for that. Would simplify things quite a bit.

      --

      "If anything can go wrong, it will." - Murphy

  179. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    perhaps you missed the tokenization section of parser class
    a non-word character is required to seperate tokens (words).
    this is true in python as well. and it's been this way since we
    got enough paper to not mind wasting space on vowels and spaces,
    many kyears ago.

  180. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Yeach, because Python is a replacement for Java.

  181. Re:ORACLE = One Raging Asshole Called Larry Elliso by Waccoon · · Score: 1

    It's easy to find a mistake with brackets by using a code reformatter. Not so much when you rely only on indentation -- unless your IDE is really smart.

    What would really be nice is if people would stop treating quirks and oddities as big advantages. Sometimes, something is just plain different, and that's it.

    With that said, I really, really wish other languages would start supporting quotes like Perl does. I'm really sick of having to escape quotes when doing some quick-n-dirty scripting with HTML.

  182. Re:ORACLE = One Raging Asshole Called Larry Elliso by RulerOf · · Score: 1

    While that isn't the most precise analog I've ever read, when combined with the sibling posts, it makes quite a bit of sense!

    Thanks :)

    --
    Boot Windows, Linux, and ESX over the network for free.
  183. Java, what a waste by mlwmohawk · · Score: 1

    I never really liked Java, I liked the idea of java. I *really* liked the idea of optimized bytecodes that could be JITed. Java was full of promise. It may well have gotten a C++ interface.

    I wanted java to do well. It could have been a great thing. Richard Stallman was right, I suspected he was right all along, but I was optimistic that Sun would do well. When Ass Hole Ellison (AHE for short) bought sun, I knew it would get worse.

    The last two reasons for using Java are tomcat and Android, and Android "java" doesn't matter much because it isn't even java byte codes. I guess tomcat could be replaced by PHP.

  184. Stop using Java? by Anonymous Coward · · Score: 0

    What kind of fucking moron uses Java these days. Sheesh, get with the time grandpa.

  185. Re:ORACLE = One Raging Asshole Called Larry Elliso by RulerOf · · Score: 2

    Yes, and CPU implementation is a further subdivision of computer elements and architecture.

    Then the details of register use are an even further subdivision.

    I've done work in the field since the 70's. The last time I had to worry about CPU architecture was as a junior in college in 1971 when I was porting Spacewar from a PDP-1 to a PDP-8. Mostly these days it's all about algorithms in high level languages.

    Aren't these details important to understand for what might be non-obvious reasons?

    To give an example, take a look at gaming consoles. Performance and graphics get better over time because programmers write "to the hardware" with increasing precision as the product ages, and this provides a benefit that's almost completely unseen in modern general purpose computing.

    The technique of "expanding the loop" to increase performance is a common tactic taken by programmers, no? I know I've done it with scripts before. Are modern compilers simply so good at optimizing binary code that extending this from a high-level language to the assembler it compiles to is simply not a reasonable thing to expect a programmer to be able to do?

    I know I'm showing my ignorance on the subject, but of all the things I've ever researched for my own enrichment, C/C++ types of languages constantly fail to make sense to me... and I'd like to know more about the interplay between them and what actually goes on at the level of the CPU assembler-type code itself, but it seems like even getting partially fluent enough to understand what's going on in a dozen lines of ASM is an impossible dream. :P

    --
    Boot Windows, Linux, and ESX over the network for free.
  186. Re:ORACLE = One Raging Asshole Called Larry Elliso by Berfert · · Score: 0

    Having spent about 2 months programming in Python and walked away disliking the whitespace constraint, I can flat out say you are mistaken.

    Don't get me wrong, I like Python a lot... but I consider the whitespace for block notation to be one of it's worst features, and the root cause of other misfeatures.

  187. Copyright issues? by Anonymous Coward · · Score: 0

    Is this left over from copyright issues on the Olson database? There was a book publisher that complained that the tzdata was taken from their book and so they had a copyright on it and they wanted cash. It was settled but that doesn't mean they didn't hip of Oracle for a bit of their pile of cash.

    https://en.wikipedia.org/wiki/Tz_database#2011_lawsuit

  188. Re:How about distributing timezone info through DN by ls671 · · Score: 1

    The NTP protocol knows nothing about time zones. You would need to extend the protocol.

    "NTP provides Coordinated Universal Time (UTC) including scheduled leap second adjustments. No information about time zones or daylight saving time is transmitted; this information is outside its scope and must be obtained separately."

    https://en.wikipedia.org/wiki/Network_Time_Protocol

    --
    Everything I write is lies, read between the lines.
  189. Re:How about distributing timezone info through DN by ls671 · · Score: 1

    We could also use DNS to cache malling addresses so I can do a look up when I forget my postal code. Caching phone numbers so I can lookup my own phone number would be great too. We could also feed our agendas into DNS so, when I do a lookup for Sat.Jun.8.10.00.00.EDT.2013.mydomain.com, I get the coordinates of my 10 o'clock meeting, that took place this morning.

    I think that we are really in the Stone Age with regard to DNS. We haven't even started to realize the mighty power that DNS possesses and we haven't discovered even 0.0000001% of use cases where DNS could be used to help save humanity.

    --
    Everything I write is lies, read between the lines.
  190. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    By themselves, neither high-level bytecode or a lack of fine-grained threading preclude high-performance apps. It's more a lack of engineering talent being thrown at optimizing the interpreter.

    Javascript is an excellent example. It doesn't have strong types and operates at a similarly high level of abstraction. Unlike Python, the language is not thread-safe at all and relies on the interpreter to start isolated instances of itself to be able do multiprocessing safely. Yet, many existing Javascript implementations are now fast (Google's V8 is within spitting distance of native C/C++) and many high-performance, highly-concurrent server-side applications are implemented with node.js.

    So, it's not impossible to eventually get similarly good performance with Python in general; it will just take the right kind of incentives and funding.

  191. You know, flinging more shit doesn't help. by Anonymous Coward · · Score: 0

    Everybody has been shitting on us since the beginning, and, to be quite honest, I don't know who you spoke with, but I've found the ruby community to be more helpful than the java, perl, and bash communities combined. I don't know, but flinging more shit doesn't help end the flame war.

    Stop generalizing. Fucking anonymous coward.

  192. Re:ORACLE = One Raging Asshole Called Larry Elliso by arth1 · · Score: 4, Insightful

    It's not like Oracle is the provider of the time zones. Java uses the standard and open Arthur Olson zone info ones, and only modify the zone files to fit within the java framework.
    What it boils down to is that Oracle wants money for what they themselves are freeloading.

    What's needed is for java to be able to use unmodified zoneinfo files, or an open source zone info compiler that can convert them for use by any java installation.

  193. " I'm trying to be less rude. " by Anonymous Coward · · Score: 0

    About damn time.

    1. Re:" I'm trying to be less rude. " by phantomfive · · Score: 1

      About damn time.

      Thanks

      --
      "First they came for the slanderers and i said nothing."
  194. huh? by Anonymous Coward · · Score: 0

    although IIRC Oracle tends to use a lot of code from this project as part of the stock JVM.

    Isn't that a violation of IP of some sort? What is openJDK licensed under?

  195. No more plugins by jmactacular · · Score: 1

    I never cared for Java, or Silverlight, or any other language that requires plug-ins.

    It's turning into a nightmare at our enterprise. Some teams have projects that are only compatible with older versions of Java, and the GPO keeps pushing out new versions of Java to keep up with the security updates, and then it breaks the older projects.

    So it's a scramble for the support team to figure out all which versions you can use for which project.

    And then on top of that, we can't use Chrome because for some reason it disables Java if it's not the newest version, and even after downloading and installing the latest Java, Chrome still doesn't recognize it. I think it has something to do with 32-bit vs. 64-bit. So basically my app that runs amazing on Chrome, can't be used because I have to link out to these other older projects that still use Java.

    Such a PITA.

  196. Re:ORACLE = One Raging Asshole Called Larry Elliso by arth1 · · Score: 1

    UCSD Pascal was an interpreted language.

    It also had (for at least a couple of architectures) a p-code to native compiler, making bytecode interpretation optional, or only used during debugging.

  197. Re:ORACLE = One Raging Asshole Called Larry Elliso by sjames · · Score: 1

    So, you did a merge and then immediatly entrusted important customer data to the newly modified program with no backups?

    I'd suggest that whitespace is the least of your problems.

  198. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Larry Ellison is the prince of Nigeria right?

  199. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    In python you sorta have to work with multiprocessing, using message queues.
    This will also allow you to offload non-trivial calculations to C.
    Downside: more work, and it might be costly to transfer the dataset.
    Advantages: very flexible.

  200. Oracle's VM is not the only VM by Yvanhoe · · Score: 1

    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?

    The point of a free API is the ability to create independent implementation, exactly because this kind of scenario can and will happen everytime you depend on a library. There are open source implementations of the java runtime. They don't have all the latest features, but the reference implementation is complete. This may be worth investigating. If it costs less to make your software running on an OSS runtime than to buy an oracle license, go for it...

    --
    The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
  201. Re:ORACLE = One Raging Asshole Called Larry Elliso by smellotron · · Score: 1

    I've only done work in the field in this century—but the last time I had to worry about CPU architecture was probably 6 months ago, when my employer upgraded the chipset for some high-performance internal software. The importance of computer architecture to an individual developer simply varies based on workload: it matters for mine, it doesn't matter for yours, big whoop. However, the importance of computer architecture to the field as a whole should not be underestimated.

  202. Re:ORACLE = One Raging Asshole Called Larry Elliso by sodul · · Score: 2

    Well you could with implicit line joining:
    def square(x):
            print(
    'DEBUG: x=%x' % x)
            return x*x

    Note that the print starts indented but since a parenthesis is opened the rest of the statement can continue anywhere on the next line. Until the closing parenthesis whitespace rules are ignored.

    http://docs.python.org/3/reference/lexical_analysis.html#implicit-line-joining

    But really you should use the logging module and set log levels. Debuggers are good tools as well, but I usually rely on unit tests to track bugs (or rather, not have to track them down).

  203. Re:ORACLE = One Raging Asshole Called Larry Elliso by sjames · · Score: 1

    I didn't miss it, but GP apparently did. I just pointed out that white space is already significant in most languages.

  204. Thank you! by Anonymous Coward · · Score: 1

    If the whitespace still bothers you - it means you haven't even spent 15m using it.

    Thank you! you have made manifest my biggest beef with Python: "If xxx bothers you, you haven't Seen The Light(TM) yet". The beef with whitespace ranges fifth, take or give. Second to fourth all have to do with Community Attitude (the soul of the language, so-to-speak).

    I've coded a couple of thousand lines in Python (and it has taken me more that 15m, Im' not that fast).

    While I understand the design decisions (it's not the first language having taken that decision, after all), I don't agree with it: i write programs for others to read them (and for the parser/compiler to transform them). I do appreciate the freedom I have in this extra chennel.

  205. This begs the question by Anonymous Coward · · Score: 0

    No it doesn't.

  206. Re:ORACLE = One Raging Asshole Called Larry Elliso by K.+S.+Kyosuke · · Score: 1

    Code should be readable without knowing the language, and python fails that miserably with all the syntax hidden in the white space.

    If this is your chief concern, then I think you're barking up the wrong tree. If you actually don't know the language, there are many features of Python to make it poorly readable to any person without actual knowledge of the language to an extent much greater than could ever be the case with simple syntactic issues. (The existence of two distinct kinds of stack frames or the superclass chain linearization rules are two obvious things that come to mind.)

    Having said that, a language different from the ones you know is only comprehensible to you if it isn't actually all that much "different" - otherwise what would be the point of being different - so this isn't a Python-specific issue.

    --
    Ezekiel 23:20
  207. Re:ORACLE = One Raging Asshole Called Larry Elliso by Hognoxious · · Score: 1

    What's preventing you from writing one?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  208. Re:ORACLE = One Raging Asshole Called Larry Elliso by Hognoxious · · Score: 1

    Classical Latin used a raised dot between letters, at least on stone.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  209. Re:ORACLE = One Raging Asshole Called Larry Elliso by Hognoxious · · Score: 1

    Generally though the whitespace is either visible (albeit indirectly) as in the case of a CR/LF, or it doesn't matter syntactically whether it's a tab or three spaces (or four or five or a hundred).

    That isn't the case with Python.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  210. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    GP and you are insanely Wrong. C# is NOT a compiled language, never was, never will be and was Microsoft Answer to Java. I dare you to run anything you write in C# without all the runtime libraries and without windows OS.
    I can do that with C and C++ easily.

  211. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 0

    How about Erlang? It has been battle tested and runs decently fast. It seriously rivals anything in the server space. http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1

  212. Like living on free food samples at Costco. by Anonymous Coward · · Score: 0

    If something is mission critical for your business, why would you balk at paying for it? Do you pay for office space, electricity, insurance, computers, internet?

    Oracle is not your Mom or Dad. You have been living on Oracle's couch for free. Now it is time to pay rent, or move on and get your own place.

  213. Re:ORACLE = One Raging Asshole Called Larry Elliso by KZigurs · · Score: 1

    Blame your phone battery on it too then - your sim card is more likely to run java than not (I'm not kidding, embedded java is actually fairly mature thing).

  214. Update to Java 7? by Anonymous Coward · · Score: 0

    Java 6 updates are discontinued for free, Java 7 is not. Update Java on your machine.

  215. Bastards, now I need to switch langauges.. by WOOFYGOOFY · · Score: 1

    I can see it coming. This is the kind of shit people were afraid of with Oracle and now.... here it is. Jesus. I seriously didn't think they would do this.

    What other language has the same quality GUI toolkit graphical packages, an open source text indexer like Lucene, an immense set of 3rd party APIs for just everything , first class data structure s built in , runs on both Linux and Windows comes with a scene graph / browser widget and has great IDE support?

    I just read this back and it sounds like I am being sarcastic. I am not. This is a serious question because we absolutely need to have timezone support- no question and there's no way we're paying Oracle type prices to have it, so I guess my decades old investment in Java is about to go bankrupt.

    Great. Fucking ASSHOLES.

    Oracle reminds me of Matt Taibbi's great characterization of Goldman Sachs-

    Goldman Sachs is a great vampire squid , roaming the earth, poking its blood funnel into anything that smells like money"

  216. timezone exists in OS; java reinvents wheel by Anonymous Coward · · Score: 0

    It has to do with Java's obsession of being its own environment and avoiding any impure non-Java interaction. Every decent OS already has a timezone database and tools to query it; Java has to build its own. Same idiocy that makes it impossible for one to queue mail on a system locally (using fork/exec sendmail) - Java can't do exec so sending mail requires an SMTP server. And it goes on and on, where pretty much every OS advances or features that aren't in Java, are not available to use.

    1. Re:timezone exists in OS; java reinvents wheel by WOOFYGOOFY · · Score: 1
  217. Re:ORACLE = One Raging Asshole Called Larry Elliso by guruevi · · Score: 1

    LOL so you go from one proprietary controlled software to another proprietary controlled software? What's to say M$ won't pull the same shit they did in the past or that Oracle does right now with Java?

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  218. Re:ORACLE = One Raging Asshole Called Larry Elliso by sjames · · Score: 1

    If it bothers you that much, use tabs and tell your text editor to display them as something appropriate.

  219. Re:ORACLE = One Raging Asshole Called Larry Elliso by HiThere · · Score: 1

    Do note, however, that compiling rather than interpreting, code doesn't automatically make it faster. Most attempts to compile Python that I've seen, e.g., use the same PyObject routines that the interpreter does. This means that you can speed up things like for loops, but anything fancy, like generators, doesn't gaim much, as the interpreter already uses pretty much optimized methods.

    Thiis is something that is too often not understood. If what you're doing is mainly invoking things that are distant from assembler, you don't gain that much by using a compiler. ..it can even slow you down in some cases. (Still, it would be nice to see whether a compiler could actually speed up python much over, say, PyPy. Pyrex/Cython gets around some of the limitations by allowing variables to be declared as cints, but that's not really Python. And if you stick to straight Python, IIRC, you don't see much gain.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  220. End of public updates by Anonymous Coward · · Score: 0

    If I am reading the linked article at oracle.com correctly, this change only applies to Java6 which they say is at end of public updates. They call out the TZUpdater as an example of software that will no longer be updated but they are saying no more updates of any kind to Java6 unless you have a support contract. Java6 is approaching 7 years old now so I don't think it is unreasonable to ask people to upgrade Java7 or pay for continued updates.

  221. Re:ORACLE = One Raging Asshole Called Larry Elliso by arth1 · · Score: 1

    What's preventing you from writing one?

    Apart from Java not being one of the languages I write anything in because I don't like it any better than Visual Basic?
    It's answered; you just have to read it.
    .

  222. Re: ORACLE = One Raging Asshole Called Larry Ellis by Anonymous Coward · · Score: 0

    No standard library? Yup, you can add and subtract super fast. Good for you.

  223. Re:ORACLE = One Raging Asshole Called Larry Elliso by arth1 · · Score: 1

    Newlines are for breaking up long lines and indentation is for ease of readability (blocks or whatever your coding style standards dictate).

    Fixed layout languages date back to the 1950s (Fortran, for example).

    It's not so black and white.
    Some languages distinguish between statement separators and statement terminators. And what is considered whitespace too.
    Shell scripts, for example. Newline terminates except in buffered context, and is not considered part of whitespace. Which is why the following are different
    A=B
    C=D

    and
    A=B C=D
    And while whitespace itself isn't significant, well-meaning editors who seek to reduce redundant whitespace (like the slashdot editbox) don't always grok cases like
    cut -d\ -f 2 # TWO spaces after the backslash

    Yet, Bourne shell isn't considered a fixed layout language.

  224. Re:ORACLE = One Raging Asshole Called Larry Elliso by hedwards · · Score: 1

    Not consistently, there may have been some where they did that, but it was definitely not always the case.

  225. Java is no longer needed by Anonymous Coward · · Score: 0

    Some might argue that this is the first step in Java's death. I don't think so.

    Sure, with C# basically matching all features of Java, and with it coming by default on all windows boxes, and with it being available with Mono and pretty much all the same platforms as Java, Java is no longer the only run anywhere language.

    However, Java is used by so many products and it runs so many systems, it will be decades before it could die.

  226. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Dude, everyone knows Bohemia got what it deserved after it pushed those guys out of a window. FUCK Bohemia.

  227. Joda Time FTW by Anonymous Coward · · Score: 0

    The answer to this is simple. Nobody should be using the brain-dead Oracle date and time classes anyway. They are a terrible, bug-infested, convoluted mess. This is just the straw that broke the camel's back.

    The answer is Joda Time:

    http://joda-time.sourceforge.net/

    Works the way you expect it to, and can directly access the public tz database without any help from Oracle. Oh, and by the way, it is a fantastic API for dealing with dates and times.

  228. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 1

    What's needed is for java to be able to use unmodified zoneinfo files, or an open source zone info compiler that can convert them for use by any java installation.

    http://joda-time.sourceforge.net/tz_update.html

    How's that?

  229. Re:ORACLE = One Raging Asshole Called Larry Elliso by arth1 · · Score: 1

    http://joda-time.sourceforge.net/tz_update.html

    How's that?

    It won't do you any good if you aren't a developer shop. It's not a drop-in replacement, but requires code changes to use it.

  230. Use alternatives by Anonymous Coward · · Score: 0

    Just switch to Joda Time open source library. They provide tz updates as well: http://joda-time.sourceforge.net/tz_update.html.

  231. Re: ORACLE = One Raging Asshole Called Larry Ellis by Sxooter · · Score: 1

    Sadly they don't include php with any of the pre-compiling accelerators like Eaccelrator. It's pretty common to get 5 to 10x performance increase using this.

    --

    --- It is not the things we do which we regret the most, but the things which we don't do.
  232. Re:ORACLE = One Raging Asshole Called Larry Elliso by RabidReindeer · · Score: 1

    CPython "compiles" a Python program to bytecode, but that's just a pickling of the parse tree. Does this bytecode get further compiled to native code nowadays, or does it get interpreted like CPython has always done?

    Implementation details can vary, although the conversion of the raw source to bytecode form is one of the more expensive parts of the execution process, so any cached compilation can pay off.

    For serious optimization, go beyond straight native code to something like a JVM (jython) which can analyze run-time code usage and re-optimize on the fly.

  233. Re:ORACLE = One Raging Asshole Called Larry Elliso by godefroi · · Score: 1

    Is your Python implementation interpreted, or JIT-compiled?
    Is your Java implementation interpreted, or JIT-compiled?
    Is your C# implementation interpreted, or JIT-compiled?

    Of the three, at least two are almost certainly JITted. Can you guess which two?

    --
    Karma: Poor (Mostly affected by lame karma-joke sigs)
  234. Good. by Anonymous Coward · · Score: 0

    One more nail in the Java coffin.

  235. Re:ORACLE = One Raging Asshole Called Larry Elliso by Slashdot+Parent · · Score: 1

    In fact, the idea that you would use whitespace to denote ANYTHING is ludicrous.

    I agree with this in principle; and indeed, the whitespace thing kept me from learning Python for a number of years. However, I must note that every time I look at any C-syntax code that isn't indented properly, it irritates the ever loving fuck out of me. So maybe the whitespace thing isn't that bad.

    Anyhow, I still have no desire to learn Python, at least until they can figure out which version they're on. I don't really want to waste time learning Python 2 because Python 3 is the way forward, but at the same time, I don't want to learn Python 3, only to find out that a library that I need only runs on Python 2. Also, as of the last I checked, Django only runs on Python 2.

    So, yeah. Can't really justify learning Python right now, whitespace or not.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  236. Re:ORACLE = One Raging Asshole Called Larry Elliso by Slashdot+Parent · · Score: 1

    If the whitespace still bothers you - it means you haven't even spent 15m using it.

    Whitespace doesn't bother me at all. Improperly indented C-syntax code makes me want to vomit.

    For me, it's the fact that Python can't figure out what version it's on. Python 3 is clearly the way forward, but many important packages, including Django, are Python 2-only. I'm not going to waste my time learning Python 2, and neither am I going to learn Python 3 until, at the bare minimum, Django is stable under it.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  237. What is like a JVM but not a JVM? by tepples · · Score: 1

    For serious optimization, go beyond straight native code to something like a JVM (jython)

    But then you're back using Java and dealing with One Raging Asshole Called Larry Ellison.

    1. Re:What is like a JVM but not a JVM? by RabidReindeer · · Score: 1

      For serious optimization, go beyond straight native code to something like a JVM (jython)

      But then you're back using Java and dealing with One Raging Asshole Called Larry Ellison.

      Well, IBM plays pretty heavily in that space, too. Not that IBM doesn't have warts of its own.

  238. TZUpdater is available again by Donald+Smith+Oracle · · Score: 1

    FYI -- As per Henrik's blog [1], the TZUpdater tool will be made available, likely by EOB pacific today (June 10). Much thanks to all who provided constructive feedback and apologies for any inconvenience. - Don [1] - https://blogs.oracle.com/henrik/entry/tzupdater_for_jdk_7_available Disclaimer - I work for Oracle, and am on the Java SE PM team.

  239. Re:ORACLE = One Raging Asshole Called Larry Elliso by shutdown+-p+now · · Score: 1

    What's more, because the newline terminates the line, it means that you can't do things like split regexes onto multiple lines to enhance legibility as those would be executed as if they were intended to be different lines of code.

    You do know that you can escape newlines in Python with backslash, right? And that newlines are ignored inside parentheses?

  240. Re:ORACLE = One Raging Asshole Called Larry Elliso by shutdown+-p+now · · Score: 2

    Scrap the conditional. They *are* interpreted languages.

    They are JIT-compiled, not interpreted. Well, okay, Sun JVM does some bytecode interpreting alongside JIT-compilation, but .NET is a pure compiler.

    Just because compilation happens later doesn't make it an interpreter.

    It's true that I haven't heard of any compiled versions of Python

    PyPy is an implementation of Python based on a JIT-compiler.

  241. Re:ORACLE = One Raging Asshole Called Larry Elliso by shutdown+-p+now · · Score: 2

    MS is the copyright owner of one particular implementation of C#, but the spec is out there, and Mono has been following it very closely. So C# can be forked just the same.

    One other difference is that C# spec, and portions of .NET APis (in particular, all the fundamental classes - pretty much the kind of thing Oracle sued Google over) are covered by "open specification promise", which is basically a patent grant to anyone implementing that spec.

  242. Re:ORACLE = One Raging Asshole Called Larry Elliso by smash · · Score: 1

    That. At the end of the day it doesn't matter what programming language you use if your algorithm is shit.

    Get the algorithm right. If performance is not good enough, profile and optimize hot spot(s).

    CPU architecture can and will change. Unless you're a hardware guy or in a pretty specific niche field, trying to get too clever with low level optimizations is only going to be shooting yourself in the foot when the new architecture changes the rules on you next year. Also - if you picked the correct algorithm, the compiler/cpu instruction set will likely be optimized for it sooner or later.

    Unless you're in a very niche field, software is generally written to survive multiple generations of hardware advances.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  243. Re:ORACLE = One Raging Asshole Called Larry Elliso by smash · · Score: 1

    Consoles (and gaming in general) are an unusual niche. Most software that does real world stuff has to survive across multiple generations of hardware, where the low level details change. The compiler, OS scheduler, etc know better (and certainly will know better in future) than you with regards to what resources are available and how to use them for most of your program's lifetime.

    In a fairly counter-intuitive way - hardware evolves to run the software faster. This is why we're still running on x86 lookalike machines - because intel designs hardware to run existing software.

    Don't get me wrong - i'm not saying you won't get better performance in the short term. But over the long term, all that work you did will be invalidated next hardware cycle. And if you chose an intelligent algorithm in the first place, chances are the hardware will evolve to run it faster.

    Unless you're in a high performance critical niche industry - Spend your time making the lower level details of your code correct, safe and secure instead.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  244. Re:ORACLE = One Raging Asshole Called Larry Elliso by smash · · Score: 1

    So maybe you should learn java instead.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  245. Re:ORACLE = One Raging Asshole Called Larry Elliso by Slashdot+Parent · · Score: 1

    So maybe you should learn java instead.

    I'm already pretty decent in Java. Looking for something new to learn so I don't get bored.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  246. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    you might want to bench on a multicore server with J9 jvm

  247. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Thus untold man-years lost on debating silly stuff like how your code should be styled. At least Python places some constraints on that, so people have less silly shit to waste their time on.

  248. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Well, for one they don't use version control - instead, they use indentation and likely comments to mark the changes. Sigh.

  249. Re:ORACLE = One Raging Asshole Called Larry Elliso by Lehk228 · · Score: 1

    if you use pypy all three are

    --
    Snowden and Manning are heroes.
  250. Re:ORACLE = One Raging Asshole Called Larry Elliso by RulerOf · · Score: 1

    Consoles (and gaming in general) are an unusual niche. Most software that does real world stuff has to survive across multiple generations of hardware, where the low level details change. The compiler, OS scheduler, etc know better (and certainly will know better in future) than you with regards to what resources are available and how to use them for most of your program's lifetime.

    Thank you! That actually makes a lot of sense. "Trusting the scheduler to know better" is actually something I rely on a lot as an example with regard to hypervisors. I don't want to make the mistake of pinning VMs to certain CPUs or cores unless I know for a fact that it's a good idea, and I shouldn't have to! The scheduler should be smart enough to make that decision on its own, and if I can expect that, so should a programmer. Right? :D

    In a fairly counter-intuitive way - hardware evolves to run the software faster. This is why we're still running on x86 lookalike machines - because intel designs hardware to run existing software.

    It certainly does. The thing that makes me step back and raises the questions I've made is that "software bloat" is often attributed to "eating up" performance advancements in hardware. If proper computer science education's goal is to minimize this effect, what level of knowledge achieves this? Proper code construction? Is it more about knowing what type of loop to use than it is about the amount of memory you allocate or whether you thread properly?

    Don't waste too much time on that if I'm just completely off base; as I said, I have no proper CS education, but the concepts behind it are some of the most interesting things I've ever read about. It makes me wish I had gotten into using assembler back in the DOS days, when it mattered more :P

    Don't get me wrong - i'm not saying you won't get better performance in the short term. But over the long term, all that work you did will be invalidated next hardware cycle. And if you chose an intelligent algorithm in the first place, chances are the hardware will evolve to run it faster.

    Unless you're in a high performance critical niche industry - Spend your time making the lower level details of your code correct, safe and secure instead.

    That's the crux of my argument. Performance is basically the assembler-level expression of your code structure's higher-level construction. You do hit on a very important point. No one can learn everything, so it may indeed be a better idea to teach "safe" versus teaching "fast." Regarding the OP's point though, it's probably best to do that from the standpoint of several different coding languages. Start with something that's fully-managed code, and then work your way down to something more "raw," like C?

    The thing that gets me about Java is that it runs on top of the JVM. Perhaps the solution to that conundrum is to move the JVM into hardware, which is something that I recall Sun attempting and mostly failing at doing for mainstream x86 hardware. It'd be kind of funny if the ongoing lawsuit was between Oracle and Intel, but I digress.

    Thanks for your input, sir!

    --
    Boot Windows, Linux, and ESX over the network for free.
  251. Re:ORACLE = One Raging Asshole Called Larry Elliso by godefroi · · Score: 1

    The point was, if you use Java or C#, there is no "if you", they just are (in any implementation you're likely to be using, anyway).

    --
    Karma: Poor (Mostly affected by lame karma-joke sigs)
  252. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    No such thing as an interpreted languages. You can have a language that has an interpreted implementation, there are C interpreters.

    Both Ruby and Python are bytecode compiled, and Python actually saves the bytecode in a file, just like Java.

  253. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Depends.

    Long running programs usually run faster than equal C++ apps because of JIT. The JVM will have much more relevant information than a static compiler will ever have.

    If you have high performance mathematical needs, C or C++ is a worse choice than Fortran which will make it much easier to write and debug and will run faster.

    Most applications are not CPU bound in more than a few spots, at best. It is why slow shitty languages like PHP can perform decently in its little niche.

    Of course, that the Eve Online client is mainly Python(obviously not running the stock implementation, it runs stackless python) is lost on people. Which is too bad, because if they realized it, then they would stop confusing language with language implementation.

    Trust me, I could write an interpreter for C(C++ is essentially unparsable) and it would be beyond slow.

  254. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Because whitespace is supposed to be used to make it easier to read, not denote scope.

    The use of whitespace in Python makes it much weaker than it could be. That and they stupidly added statements into the language, everything should be an expression(ie evaluates to a value).

    Everyone(who has the slightest clue, uses whitespace to properly format their code anyway, why enforce it at the cost of a weaker language?

  255. Re:ORACLE = One Raging Asshole Called Larry Elliso by Anonymous Coward · · Score: 0

    Erlang, Ocaml, Haskell, Ruby(much cleaner and more powerful than Python), Scala, Go,Clojure...

  256. Re:ORACLE = One Raging Asshole Called Larry Elliso by bsane · · Score: 1

    My suggestion would be to skip Django. Besides the differences between 2 and 3 are _trivial_ compared to what you'll need to learn about Django.

  257. Re:ORACLE = One Raging Asshole Called Larry Elliso by Slashdot+Parent · · Score: 1

    My suggestion would be to skip Django.

    What is your suggestion for Python-based web applications, then?

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  258. Re:The database is called "Olson", you find it her by Anonymous Coward · · Score: 0

    If you had read a few more lines you might have understood that the IBM timezone updater tool only works on IBM JREs...