Java and system32



  • @another_sam said:

    Which also isn't a good solution, but I think the case of having multiple versions of Java installed and needing to choose a specific version to run isn't all that common. Just install one.

    For clients maybe not, but as a developer...

    The Java Developer Kit (JDK) installs itself and (by default) a "public" Java Runtime Environment (JRE).

    Now... which do you think is the default if you run java.exe / javaw.exe (which exist in both)?

    ...

    ...

    ...

    If you guessed JDK, you're wrong. The JRE is the default. Meaning that if you have any programs that require a JDK, you have to manually specify it either in the configuration for the program itself (Oracle SQLDeveloper as an example) or on the command line using set JAVA_HOME / changing whatever commands you're running to use the full path.

    To add to the confusion, the JDK doesn't auto-update. Those annoying Java Updater boxes you get? They only update the JRE. So, if you just always point it at the JDK, you're running whichever java version was current when you installed it.

    Of course, the JDK doesn't come with the Java browser plugin, so you have to have the JRE installed to even have that.



  • This post is deleted!

  • Discourse touched me in a no-no place

    @powerlord said:

    Of course, the JDK doesn't come with the Java browser plugin, so you have to have the JRE installed to even have that.

    I thought the JDK came with it's own JRE. It would certainly by Oracly if it did, but that JRE didn't have the plugin.



  • It comes with a copy of the public JRE... which just runs the (developer, non-ad version of the) JRE installer.

    However, you can opt out of it during the install process and just install the JDK. I do this for the relatively ancient JDK 6u27 that Oracle App Server 10 requires as I try to have a recent JRE installed for security reasons.

    ...and by "requires" I mean webapp redeploys fail on any newer version... I tested it at various version up through JDK 7u30 or so. Luckily, we're ditching App Server soon so I can upgrade to a relatively recent JDK soon.

    Side note: I'm not sure which is the bigger WTF: The Javascript version of Oracle Maps API or using an applet so we can use the Java version of the Oracle Maps API.



  • @Steve_The_Cynic said:

    It's not so much the writing style as the intensity of the channelled anger, and the influence that has on the vocabulary, but that's just being picky. But if you read more carefully (rare on the Internet, especially these days), you'll note that it was my reaction that amused me rather than your writing...

    No job and no woman makes @blakeyrat an angsty boy...



  • @powerlord said:

    Of course, the JDK doesn't come with the Java browser plugin, so you have to have the JRE installed to even have that recognize that, perhaps by accident, Oracle actually did something right.

    FTFY


  • Discourse touched me in a no-no place

    @powerlord said:

    Side note: I'm not sure which is the bigger WTF: The Javascript version of Oracle Maps API or using an applet so we can use the Java version of the Oracle Maps API.

    While I know nothing about the Oracle Maps API, it would take a massive quantity of WTF in the JS version to overcome the fundamental suck of the Java browser plugin. Just sayin'…



  • I also require several versions of the JDK, plus the JRE the system guys install for me. By default stuff uses the system guys JRE. I choose which JDK to use in each of my development tools. I'm a developer, I understand why it's necessary and it's not a difficult task nor does it need to be done all that often. The average user will never need to do so. I don't think it's really a big deal.



  • @another_sam said:

    I also require several versions of the JDK, plus the JRE the system guys install for me. By default stuff uses the system guys JRE. I choose which JDK to use in each of my development tools. I'm a developer, I understand why it's necessary and it's not a difficult task nor does it need to be done all that often. The average user will never need to do so. I don't think it's really a big deal.

    Until you come across development tools not meant for programmers but for technical users.(i.e. engineers that aren't software guys) Said technical users don't understand how any things like Java or the fuck work. And now you require the JDK for a tool that should only be JRE. And then you add a retarded check for the version of the JDK. Then you have to deal with the fact you have to reconfigure every fucking computer differently because we use JRE/JDK for other just as stupid tools. Wait, you suddenly require 64-bit JDK instead of 32-bit as previous releases? FUUUUUUUUUUUUUUUUUUUUUUUUUCK

    tl;dr FUCK JAVA SOFTWARE DEVELOPERS AND THEIR ILK.



  • That sounds like a shit situation. Of course it's completely Java's fault, nothing to do with the shitty tools being used. Software version compatibility problems never happen with software implemented in any other language or on any other platform.


  • FoxDev

    well.... in other scripting/bytecode languages it's usually impossible to have two different minor revisions installed at the same time because they install in such a way that all of version 4 of the language installs in the same place and it's last installed wins (usually)

    java is the only language i know that can have version 1.6.22 and 1.6.24 and 1.6.34 and 1.7.02 and 1.7.12 and 1.7.23 and 1.7.23_b installed at the same time and competing for which one is going to be the system default.l



  • This post is deleted!


  • @another_sam said:

    That sounds like a shit situation. Of course it's completely Java's fault, nothing to do with the shitty tools being used. Software version compatibility problems never happen with software implemented in any other language or on any other platform.

    But the problem is, this is extremely prevalent with Java apps. You never encounter this horseshit in .NET, it just works (tm)



  • .NET just hides the horseshit better.



  • And furthermore, isn't the whole point, the very design philosophy, of Java meant to be that you shouldn't have to worry about the Java version? Wasn't their excuse for generic type erasure, to pick just one of several hundred poor design decisions, that they didn't want to break backwards compatibility, that code compiled for older versions of the jvm should just work?



  • Most of the time it does just work. If you're a developer it's very different, but most end-users should just have the latest version of the JRE installed and updated. If you're a developer, you may need multiple versions which are usually easy enough to manage with your development tools. If you're using terrible non-developer tools that require specific versions of the platform to run, then you're using shitty tools. Stop it.

    The platform is far from perfect but the simultaneous multiple versions thing really isn't a big deal.



  • @trithne said:

    .NET just hides the horseshit better.

    In fact, it got special help from Windows in hiding the shit (specifically, that winsxs folder).



  • @another_sam said:

    If you're using terrible non-developer tools that require specific versions of the platform to run, then you're using shitty tools. Stop it.

    Sure, just tell Texas Instruments and many other shitty hardware vendors to open up their protocol APIs which they won't because their lawyers made it "proprietary", ignoring the half their internal docs can be found on fucking Baidu because China.



  • @Onyx said:

    And a sad one for the devs that probably lost their hair building their application in it.

    I'm kinda interested in what he has to say about Linux, but I think bot abuse went far enough now.

    <br><br><br><br><br>

    Screw it, let's hear it @Zoidberg!

    Edit: Ok, as soon as @Arantor is back, I'm asking for my knight title as "The breaker of bots"

    APPLICATION_NOT_FOUND



  • @blakeyrat said:

    Wow, it's so amusing that people who aren't boring idiots have a unique writing style. Stop the presses.

    It was amusing that occasionally interesting people have a distinctive writing style but it all sort of blends together in a festering hellstew of angst and insufficient waaaambulance calls.



  • @trithne said:

    .NET just hides the horseshit better.

    @riking said:

    In fact, it got special help from Windows in hiding the shit (specifically, that winsxs folder).

    WinSxS is a very clever way to marry the ideas of the strongly named & versioned references of .NET with the idea of how *nix stores *.so libraries on disk.

    The winsxs directory is somewhat like usr/lib in *nix; a collection of installed system files bound together in a forest of hard links. However, where it diverges from *nix is how applications link into the libraries: where *nix generally uses (or rather; assumes) a known install directory name, applications compiled with SxS support look for a manifest embedded in the executable (or DLL) which is used to call into the SxS system to create what is called an activation context, i.e. , a logical mapping of the DLL versions in the manifest to the on-disk locations in the winsxs directory.

    However, WinSxS has nothing to do with .NET itself, which uses a wholy separate mechanism for storing its globally installed libraries; called the Global Assembly Cache (GAC). By default the GAC can be found in the %windir%\Microsoft.NET\assembly\ location.

    (If you want to shit on .NET, atleast try and get things straight...)


  • FoxDev

    @Ragnax said:

    Global Assembly Cache (GAC)

    EEEEEEVIL!


  • Discourse touched me in a no-no place

    @Ragnax said:

    The winsxs directory is somewhat like usr/lib in *nix; a collection of installed system files bound together in a forest of hard links. However, where it diverges from *nix is how applications link into the libraries: where *nix generally uses (or rather; assumes) a known install directory name, applications compiled with SxS support look for a manifest embedded in the executable (or DLL) which is used to call into the SxS system to create what is called an activation context, i.e. , a logical mapping of the DLL versions in the manifest to the on-disk locations in the winsxs directory.

    It sounds a bit more like HP-UX, which had the “interesting” feature of making /usr/lib point to different things based on some sort of configuration setting. (My memory says “environment variable” but I could be wrong as I never used it; this is stuff I know of by reputation only.)

    The linking of library references to actual implementations is rather complicated on modern Unix. Fortunately it mostly Just Works™!



  • I, for one, think that the GAC is awesome.


  • ♿ (Parody)

    @chubertdev said:

    I, for one, think that the GAC is awesome.

    Oh, yeah!


  • FoxDev



  • The GAC will solve all of your problems


  • FoxDev

    I'd trust Galactus to solve all my problems before i'd trust the GAC.



  • Galactus will make your problems go away...


  • FoxDev

    unlike the GAC.

    :-P



  • But the GAC won't make you go away with your problems.


  • FoxDev

    A trade off i'm prepared to live (and apparently die) with given the hell the GAC has caused me in the past



  • I once noticed that our build server was having trouble due to infragistics references. We'd all installed the whole thing on our dev machines, so if we messed up, it wouldn't fail locally because it could pick up the GAC reference, so I learned exactly enough powershell to gacutil away all the IG dlls. That was a fun day, actually.



  • With how awesome some of your bots and other code has been, I'm happy that I can feel better about being a master of this one thing.



  • Uhhhh! Is that time of the year already? 💓 💓 💓



  • ¿Que?



  • Hardware companies have a long history of producing shitty software. They really fail the whole "outsource everything except core competencies" thing. They insist on implementing stuff they're not competent enough to succeed with. I'm sorry you're stuck with shitty software, but I would prefer not to be tarred with the same brush.


  • FoxDev

    ...

    is that a compliment?

    of my JS code?

    😊

    stop*. i'll turn as red as a ripe tomato!

    * don't really stop.



  • Anything that messes with this forum should be applauded.


  • FoxDev

    well yes, but quality counts too!



  • Your bots are of quality. 😄


  • FoxDev

    😊
    <hidden>



  • @Zoidberg, what's wrong with accalia? She's red as a ripe tomato!



  • It's good cholesterol, but it spreads like bad cholesterol.


Log in to reply