More Java installer crap



  • Well, I guess I should be pleased that we're not being forced to install the ask.com crapware.

    Now we get the opportunity to slow our machines to a crawl by installing Mcafee crapware;

    (by the way, that magnificent job of overlaying white background labels on top of a grey dialog is Oracle's all the way - it's not an artefact of the screen-grab)

    And just when you thought you were out of the woods by unticking the "No, I don't want shitty Mcafee, when I install Java" box, the installer helpfully points out that you must close the following zero applications;

    How much money does Oracle make? Why do they have to be sponsored by the likes of ask.com and Mcafee? Why do they need to prostitute themselves? Why do they need to employ chimpanzees as installer developers?



  •  they likely haven't touched the installer since 1.1 or something



  • @skotl said:

    (by the way, that magnificent job of overlaying white background labels on top of a grey dialog is Oracle's all the way - it's not an artefact of the screen-grab)

    It looks like you have your DPI set larger than normal. It's amazing how many companies don't bother testing for that. Or do it in a half-assed way (like Chrome's "we only do 100% or 200% DPI, so if you set it to 150% we'll make it fucking huge!"*) Or go out of their way to break it entirely, like Steam used to do. (You still can't fucking change the font size in Steam IM windows!!!!! It's been a DECADE NOW!)

    *) To be fair to Chrome, they did fix it in a reasonable amount of time once 13" 1080p laptops like mine hit the market. It still brings out the, "you mean you didn't have DPI scaling at all from fucking version ONE!?!?!" shock and surprise, though. Do people writing software even USE computers? How could you be a web browser programmer and not know that the DPI can change? Fuck, CSS pretty much RELIES on that! /rant

    @skotl said:

    Why do they need to prostitute themselves?

    The only people who would possibly take a job at Oracle are people interested only in money. That's true for me, you, and everybody you know, right? If Oracle wanted to hire me, it'd require at least a 33% raise over what I'm currently making. At least.

    So take that to its logical conclusion: why does Oracle need to prostitute themselves? Because they're nothing but prostitutes. It's what they do.



  • Rule one with java, always get the installer from this page <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html>get the installer from this page.

    (by the way, that magnificent job of overlaying white background labels on top of a grey dialog is Oracle's all the way - it's not an artefact of the screen-grab) It looks like you have your DPI set larger than normal. It's amazing how many companies don't bother testing for that. Or do it in a half-assed way (like Chrome's "we only do 100% or 200% DPI, so if you set it to 150% we'll make it fucking huge!"*) Or go out of their way to break it entirely, like Steam used to do. (You still can't fucking change the font size in Steam IM windows!!!!! It's been a DECADE NOW!) *) To be fair to Chrome, they did fix it in a reasonable amount of time once 13" 1080p laptops like mine hit the market. It still brings out the, "you mean you didn't have DPI scaling at all from fucking version ONE!?!?!" shock and surprise, though. Do people writing software even USE computers? How could you be a web browser programmer and not know that the DPI can change? Fuck, CSS pretty much RELIES on that! /rant

    I cannot agree more with this rant with the addition of buttons and options getting cut off because my DPI is at 125%.



  •  There is a registry setting (that I got from here, BTW) that eliminates the crapware installs for Java (there is not, so far as I can tell, one for Flash).

    Far more annoying is that since upate 51, they've changed the default security settings such that Oracle's own "verify Java" page on java.com doesn't work right any more.

    It's like they're deliberately trying to kill Java or something. I wish them well in that. 



  • What I find annoying is the silent install option pretty much looks for any excuse to fail. As part of our software deployment we need Java installed, so the Management program has it added as a program entry. Fair enough. It installs it silently- and it has to pass a capitalized /S rather than the lowercase /s that every other installer in the database takes so yay special case logic. Then... the Java installer fails for whatever reason it decides.

     A corrupted installation actually prevents a silent install, since the installer exits with exit code 1602, and working around it required finding and deleting specific registry keys for the version trying to be installed.

     Naturally they could have done something sane and just- I don't know, just installed and allowed people trying to deploy Java to install it silently to fix corrupted installations.

     Another favourite is  that their 32-bit stub executable apparently fails if run silently on 64-bit systems, so if you want to hae that work you need to actually dig into the Temp directory and find the extracted MSI (because thankfully the stub executable decides not to delete it when it exits for no reason) and run it manually, including a seemingly arbitrary set of arguments... and this time make sure to include a lowercase /s switch...

     

     


  • Discourse touched me in a no-no place

    @blakeyrat said:

    DPI scaling
    Lots of apps are still completely fucked on that front. What's more fun is when they get it almost right, except the font metrics are not proportionate at the different scaling factors; what works on one display fails on another. I still have no idea how that could end up wrong like that. (Indeed, if I drag the app instance from one display to another it recalculates and you can see all the letters shift subtly. “Lovely.”)

    Hit that the other day when it got so bad that it caused the last letter of a label to get chopped off, changing the meaning substantially (and amusingly at the time, in a way that was very app specific).



  • @BC_Programmer said:

    What I find annoying is the silent install option pretty much looks for any excuse to fail. As part of our software deployment we need Java installed, so the Management program has it added as a program entry. Fair enough. It installs it silently- and it has to pass a capitalized /S rather than the lowercase /s that every other installer in the database takes so yay special case logic. Then... the Java installer fails for whatever reason it decides.

     A corrupted installation actually prevents a silent install, since the installer exits with exit code 1602, and working around it required finding and deleting specific registry keys for the version trying to be installed.

     Naturally they could have done something sane and just- I don't know, just installed and allowed people trying to deploy Java to install it silently to fix corrupted installations.

     Another favourite is  that their 32-bit stub executable apparently fails if run silently on 64-bit systems, so if you want to hae that work you need to actually dig into the Temp directory and find the extracted MSI (because thankfully the stub executable decides not to delete it when it exits for no reason) and run it manually, including a seemingly arbitrary set of arguments... and this time make sure to include a lowercase /s switch...

     

     

    Previously.

    I've since improved the forced Java uninstallation routine I was using when I posted that. My current snippet for that goes:

    title Uninstalling Java runtime environment %jreMin%...
    net stop "Java Quick Starter"
    taskkill /f /im jusched.exe
    if %jreMin%==6 set filter="^Java\(TM\) 6 |^J2SE Runtime "
    if %jreMin%==7 set filter="^Java 7 "
    for /f "tokens=2" %%G in ('%msiinfo% %filter%') do %msiexec% /x %%G
    for /f "tokens=1-3* delims=	" %%F in ('%msiinfo% %filter%') do @(
    	echo %%I
    	reg delete "HKCR\Installer\Products\%%F" /f
    	reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\%%F" /f
    	reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%G" /f
    	reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\%%G" /f
    	%del% "%%H"
    )
    %rmdir% "%bin32%\Java\jre1.*" "%bin32%\Java\jre%jreMin%" "%bin%\Java\jre1.*" "%bin%\Java\jre%jreMin%"

    Before reaching that, you need to have a few environment variables set up:

    set bin=%ProgramFiles%
    if "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
    	set "bin32=%ProgramFiles(x86)%"
    ) else (
    	set "bin32=%bin%"
    )
    set return=goto :eof
    set rmdir=@call :rmdir
    set run=start "Waiting..." /wait
    set msiexec=%run% msiexec /passive /norestart
    set msiinfo=cscript /nologo "%bin%\flabdablet\msi-info.js"
    set jreMin=7 or 6 (6 also kills 1.5, if that's still hanging about)

    Somewhere in the same batch script there needs to be a :rmdir subroutine:

    :rmdir
    @for /D %%D in (%*) do if exist "%%~D" rmdir /s /q "%%~D"
    @%return%

    And you also need to have msi-info.js available. If you don't want to stick that under %ProgramFiles% you might want to package it together with the Java removal script as a polyglot.



  • @delta534 said:

    Rule one with java, always get the installer from this page get the installer from this page.

    (by the way, that magnificent job of overlaying white background labels on top of a grey dialog is Oracle's all the way - it's not an artefact of the screen-grab) It looks like you have your DPI set larger than normal. It's amazing how many companies don't bother testing for that. Or do it in a half-assed way (like Chrome's "we only do 100% or 200% DPI, so if you set it to 150% we'll make it fucking huge!"*) Or go out of their way to break it entirely, like Steam used to do. (You still can't fucking change the font size in Steam IM windows!!!!! It's been a DECADE NOW!) *) To be fair to Chrome, they did fix it in a reasonable amount of time once 13" 1080p laptops like mine hit the market. It still brings out the, "you mean you didn't have DPI scaling at all from fucking version ONE!?!?!" shock and surprise, though. Do people writing software even USE computers? How could you be a web browser programmer and not know that the DPI can change? Fuck, CSS pretty much RELIES on that! /rant

    I cannot agree more with this rant with the addition of buttons and options getting cut off because my DPI is at 125%.

    I see what you did there. (I wonder what that says about my own DPI settings...)



  •  As well as the horriffic use of labels, we also have two different kinds of font rasterization in the same paragraph:

    Red text is anti-aliased and the black text is pixelated.

    It almost looks like the installer itself is written using an ancient version of AWT.



  • @LoremIpsumDolorSitAmet said:

     As well as the horriffic use of labels, we also have two different kinds of font rasterization in the same paragraph:


    It almost looks like the installer itself is written using an ancient version of AWT.

    it couldn't have been AWT because that needs java to run...

     



  • @ratchet freak said:

    @LoremIpsumDolorSitAmet said:

     As well as the horriffic use of labels, we also have two different kinds of font rasterization in the same paragraph:

    It almost looks like the installer itself is written using an ancient version of AWT.

    it couldn't have been AWT because that needs java to run...
    Ah, but the installer executable might spin up a JVM. Anyway, I doubt that's what's really happening, but just saying it's possible, and would explain why the GUI looks like Windows 95. You have to make a deliberate effort, or use a really rubbish library, to end up with 'classic' buttons on Windows XP and higher.

     



  • @LoremIpsumDolorSitAmet said:

    You have to make a deliberate effort, or use a really rubbish library, to end up with 'classic' buttons on Windows XP and higher.

     

    Classic buttons are the default, even in Windows 7. You have to add a special linker flag or #pragma if you want XP+-style buttons. If you believe Microsoft, it's because some applications were relying on the exact pixel colours of classic buttons.



  • @immibis said:

    @LoremIpsumDolorSitAmet said:
    You have to make a deliberate effort, or use a really rubbish library, to end up with 'classic' buttons on Windows XP and higher.

    Classic buttons are the default, even in Windows 7. You have to add a special linker flag or #pragma if you want XP+-style buttons. If you believe Microsoft, it's because some applications were relying on the exact pixel colours of classic buttons.

    Really? That sucks... and also if that's what MS are claiming, I don't believe them for a moment, since Windows Me had a different default background color for dialogs and buttons. They really should just default to the real native style, and revert back if the user chooses compatibility mode.

     



  • @LoremIpsumDolorSitAmet said:

    @immibis said:
    @LoremIpsumDolorSitAmet said:
    You have to make a deliberate effort, or use a really rubbish library, to end up with 'classic' buttons on Windows XP and higher.

    Classic buttons are the default, even in Windows 7. You have to add a special linker flag or #pragma if you want XP+-style buttons. If you believe Microsoft, it's because some applications were relying on the exact pixel colours of classic buttons.
    Really? That sucks... and also if that's what MS are claiming, I don't believe them for a moment, since Windows Me had a different default background color for dialogs and buttons. They really should just default to the real native style, and revert back if the user chooses compatibility mode.

    The way I've seen it done is that in order to get the classic style controls, you don't include a manifest, which can sit alongside your executable or be included inside it. You have to specify that you're using at least version 6 of the common controls library. I assume that MS's IDE automatically does that sort of thing for you (especially for .NET stuff), so for most people it just happens.



  •  @boomzilla said:

    The way I've seen it done is that in order to get the classic style controls, you don't include a manifest, which can sit alongside your executable or be included inside it. You have to specify that you're using at least version 6 of the common controls library. I assume that MS's IDE automatically does that sort of thing for you (especially for .NET stuff), so for most people it just happens.
    I guess that's simple enough... probably too complicated for Oracle, though. At least Java itself can use Windows visual effects just fine in Swing, with just one line of code (and to hell with you if you don't because we all know what the default Java GUI theme looks like...)

     


  • Discourse touched me in a no-no place

    @LoremIpsumDolorSitAmet said:

    At least Java itself can use Windows visual effects just fine in Swing, with just one line of code (and to hell with you if you don't because we all know what the default Java GUI theme looks like...)
    plz2share. I'm not a Java developer anymore, but I'd like to add this one-liner to my in-memory repository-of-stuff-to-condescend-to-crappy-Java-developers.



  • @Weng said:

    @LoremIpsumDolorSitAmet said:

    At least Java itself can use Windows visual effects just fine in Swing, with just one line of code (and to hell with you if you don't because we all know what the default Java GUI theme looks like...)
    plz2share. I'm not a Java developer anymore, but I'd like to add this one-liner to my in-memory repository-of-stuff-to-condescend-to-crappy-Java-developers.
    <font face="courier new,courier">UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); </font>

    Do this in the start of your main() method or in the UI thread before any windows or components are made, and you should be good to go. The added benefit is that it's cross-platform, provided your OS is well-known, but if not, you can just wrap it in a try/catch and carry on with the default look and feel. I haven't made a Java Swing app since Windows XP, but I assume it still works nicely. Even back then, it worked correctly with non-standard Windows themes such as Zune.

    Why doesn't Swing try to do this by default? Good question... guess they prefer consistency over aesthetics!



  • @flabdablet said:

    set bin=%ProgramFiles% if "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( set "bin32=%ProgramFiles(x86)%" ) else ( set "bin32=%bin%" )

     

    Careful with this. %PROCESSOR_ARCHITECTURE% doesn't work as you might expect if you're in the 32 bit version of cmd.exe, which you might be if you're say, deploying this via SCCM.

    I think you're ok in this one, as the folder redirection would put everything into the (x86) directory anyway.

    We use an Oracle account to download the MSI with Autoupdate disabled, the hard coded expiration date turned off, and no extra crap. Someone then edits it to fix some stupid typos where some extra backslashes are added that causes it to fail a passive install, and plugs it into our default wrapper that does stupid stuff like uninstall all old versions (because Oracle doesn't know how to use the upgrade table in an MSI properly) and delete a few letover registry entries from old versions, shortcuts, etc.

     We then still have the issue that, because Oracle doesn't know how to use the file table of an MSI properly, it drops an archive on the machine and then extracts the archive to provide the files. This causes any repair to fail pretty badly, of course. Honestly, we should probably start rewriting the MSI itself from scratch (and perhaps, putting it up on the webs in case other places want to use it- Then again, I wouldn't trust someone elses to a good job, so why would anyone trust me?)

    tl;dr Fuck you Oracle.

     

     



  • @LoremIpsumDolorSitAmet said:

    @Weng said:

    @LoremIpsumDolorSitAmet said:

    At least Java itself can use Windows visual effects just fine in Swing, with just one line of code (and to hell with you if you don't because we all know what the default Java GUI theme looks like...)
    plz2share. I'm not a Java developer anymore, but I'd like to add this one-liner to my in-memory repository-of-stuff-to-condescend-to-crappy-Java-developers.
    <font face="courier new,courier">UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); </font>

    Do this in the start of your main() method or in the UI thread before any windows or components are made, and you should be good to go. The added benefit is that it's cross-platform, provided your OS is well-known, but if not, you can just wrap it in a try/catch and carry on with the default look and feel. I haven't made a Java Swing app since Windows XP, but I assume it still works nicely. Even back then, it worked correctly with non-standard Windows themes such as Zune.

    Why doesn't Swing try to do this by default? Good question... guess they prefer consistency over aesthetics!

    That's just a Swing lookalike of the Windows theme... and the version of Windows it tries to look like depends on the Java version: Java 7 will always try to look like Windows 7 regardless of which version of Windows you're running it on, for instance.  Unfortunately, it's quirky and doesn't act exactly like Windows does.

    To actually use Windows widgets in Java GUIs, the application needs to be written against SWT instead of Swing.

     



  • The correct advice here is: if you need a GUI, do not use Java.



  • @immibis said:

    If you believe Microsoft, it's because some applications were relying on the exact pixel colours of classic buttons.
     

     

    Version 5 of comctl32.dll is the default that is loaded for application, unless they basically say "yes, I work with Version 6" in their manifest, in which case they get version 6. This is not related to applications using exact pixel colours, this is related to the fact that it completely changes an entire loaded module and all the code associated with it. The Common Controls are subclassed a helluva lot and going from version 5 to 6, adding new features (such as ListViewGroups, column reordering, gridlines, etc) and stillworking with code that is designed to work with Version 5 is simply not possible.

     

    Turns out the way it ended up being implemented in Windows XP [url=http://blogs.msdn.com/b/oldnewthing/archive/2008/01/29/7294949.aspx]was Plan C[/url].



  • @powerlord said:

    That's just a Swing lookalike of the Windows theme... and the version of Windows it tries to look like depends on the Java version: Java 7 will always try to look like Windows 7 regardless of which version of Windows you're running it on, for instance.  Unfortunately, it's quirky and doesn't act exactly like Windows does.

    To actually use Windows widgets in Java GUIs, the application needs to be written against SWT instead of Swing.

    Ah yes, now it's all coming back to me... Never got the chance to use SWT myself, but I would like to. I must say, Swing's lookalike is a very, very good lookalike, although if Java 7 tries to look like Windows 7 on XP, then that's a bit of a shame. Personally, I still prefer the old Windows XP buttons - the subtle glow of Win7 default/active buttons are so subtle I usually miss them. On XP, the buttons had a nice blue/orange inset highlight.

    @BC_Programmer said:

    Turns out the way it ended up being implemented in Windows XP was Plan C.
    Poor developers.

    @blakeyrat said:

    The correct advice here is: if you need a GUI, do not use Java.
    I was waiting for you to show up. ;) Seriously though, just like crappy Windows GUIs can be made in C++, decent Windows GUIs can be made in Swing and SWT. They look and feel right, and can do pretty much anything you would reasonably want them to... provided the developer knows what they're doing. Want hotkeys for a specific window, or the whole app? You can do it. Want standard model dialogs with all the usual button combinations? It's already there, and you can use it in one line of code. I wish I could show you the software I used to write for a certain big financial company.

     



  • @LoremIpsumDolorSitAmet said:

    decent Windows GUIs can be made in Swing and SWT.

    Prove it. Show me one.

    @LoremIpsumDolorSitAmet said:

    I wish I could show you the software I used to write for a certain big financial company.

    Because obviously big financial companies are experts at good GUIs.



  • @cdosrun said:

    Careful with this. %PROCESSOR_ARCHITECTURE% doesn't work as you might expect if you're in the 32 bit version of cmd.exe

    Good point. Let me fire up a 32-bit cmd.exe on 64-bit Windows 7 and see what it does...

    CMD screenshot

    So it looks like my intended semantics (%bin% is the containing folder for native binaries, %bin32% is the containing folder for 32-bit binaries) will in fact end up applying in that environment the same way as in a native 32-bit environment missing %ProgramFiles(x86)% entirely, which is good, and that this is so because of completely visible environment variable settings rather than the WOW64 folder redirection mechanism, which is pleasing.

    I'd not previously noticed the existence of %ProgramW6432% either - now I know what to look in if I end up needing %bin64% at some point

    I'm still quite happy about having chosen eight years ago to do the whole code deployment thing with my own scripts and not worry about needing to learn anybody else's framework and fix anybody else's fuckups. My stuff doesn't do, and doesn't need to do, anything particularly complicated; everything on offer even then looked like total overkill, and none of it supported Windows 98 which was still a requirement for me at the time. The guts of what I still have is just one big fat cmd (was once BAT) script I keep adding stanzas to, so it can basically do whatever it takes to Make It Work - I don't have irritating restrictions imposed on me by other people's asssumptions about which bits of the deployment task should be made super-easy at the expense of making other parts bloody near impossible. But of course I understand that most admins won't be that lucky, which is why I present these things as tested but pared-back snippets rather than whole polished finished scripts.



  • @blakeyrat said:

    @LoremIpsumDolorSitAmet said:
    decent Windows GUIs can be made in Swing and SWT.

    Prove it. Show me one.

    @LoremIpsumDolorSitAmet said:

    I wish I could show you the software I used to write for a certain big financial company.

    Because obviously big financial companies are experts at good GUIs.

    At the moment, the only SWT application I know of is Eclipse. A lot of what Eclipse does cannot be reproduced with native components, but dialogs, wizards and other subcomponents work fine. I wish I knew of some more apps... Maybe someone can point a few out. Regardless, I said decent Windows GUIs can be made in Swing and SWT.

    Indeed, financial companies aren't great at GUIs in general, but I did help spruce up the small area I worked in! People were very happy with the improvements and new features I put in. The oiginal app had been written in the early 00s, which meant that a lot of common standard stuff had to be invented in-house. Doing simple things like binding Enter and Esc to do the right thing makes a world of difference.



  • @LoremIpsumDolorSitAmet said:

    decent Windows GUIs

    Eclipse

    Wow...

    A lot of what Eclipse does cannot be reproduced with native components

    Such as?


     



  • @BC_Programmer said:

    A lot of what Eclipse does cannot be reproduced with native components

    Such as?

     

    Not looking like native components. That cannot be done by native components.

     



  • @BC_Programmer said:

    Such as?

    Breaking accessibility tools! Duh. Native controls always work flawlessly with pen input, voice recognition, etc.



  • @blakeyrat said:

    Breaking accessibility tools! Duh. Native controls always work flawlessly with pen input, voice recognition, etc.
    Sounds like an excellent reason for using non-native controls.



  • @blakeyrat said:

    The correct advice here is: if you need a GUI, do not use Java.

    I think you can make that a bit more succinct. Just: "Do not use Java." :-P



  • @Ragnax said:

    @blakeyrat said:
    The correct advice here is: if you need a GUI, do not use Java.

    I think you can make that a bit more succinct. Just: "Do not use Java." :-P

    I can make that even shorter.



  • @BC_Programmer said:

    @immibis said:

    If you believe Microsoft, it's because some applications were relying on the exact pixel colours of classic buttons.
     

     

    Version 5 of comctl32.dll is the default that is loaded for application, unless they basically say "yes, I work with Version 6" in their manifest, in which case they get version 6. This is not related to applications using exact pixel colours, this is related to the fact that it completely changes an entire loaded module and all the code associated with it. The Common Controls are subclassed a helluva lot and going from version 5 to 6, adding new features (such as ListViewGroups, column reordering, gridlines, etc) and stillworking with code that is designed to work with Version 5 is simply not possible.

     

    Turns out the way it ended up being implemented in Windows XP was Plan C.


    I refuse to believe all that compatibility was actually easier than adding the new features to the existing version 5 code.



  • @LoremIpsumDolorSitAmet said:

    @immibis said:

    @LoremIpsumDolorSitAmet said:
    You have to make a deliberate effort, or use a really rubbish library, to end up with 'classic' buttons on Windows XP and higher.

    Classic buttons are the default, even in Windows 7. You have to add a special linker flag or #pragma if you want XP+-style buttons. If you believe Microsoft, it's because some applications were relying on the exact pixel colours of classic buttons.

    Really? That sucks... and also if that's what MS are claiming, I don't believe them for a moment, since Windows Me had a different default background color for dialogs and buttons. They really should just default to the real native style, and revert back if the user chooses compatibility mode.

     


    You know it will never be changed now, because all their development effort will go into WinForms or WPF or something - whatever's the latest API redesign.


  • Discourse touched me in a no-no place

    @LoremIpsumDolorSitAmet said:

    two different kinds of font rasterization in the same paragraph
    In different fonts with different hinting.



  • OK, so accessibility is a pretty tough job for any non-native library, but it can be done. The biggest issue is that programmers tend to have to implement it manually as it doesn't come for free, and since most don't think about it, it doesn't happen. That's sad, but it's not really any different in the native world either.

    Fact of the matter is, if you need accessibility tools to use your computer, you're probably not going to be a developer, so Eclipse isn't for you. Despite that, it has plenty of keyboard shortcuts that you can customize, and a few different themes. And it's still better than Visual Studio, which only just introduced 'refactor renaming' for C++... something that's been in Eclipse's Java toolset since the beginning of time. Sorry guys... you might hate Oracle all you want, but Java and JVM technologies are pretty rock solid, which is why medium to large-scale businesses use them... along with the fact that you don't need Windows Server licences everywhere to use it.



  • @LoremIpsumDolorSitAmet said:

    And it's still better than Visual Studio, which only just introduced 'refactor renaming' for C++... something that's been in Eclipse's Java toolset since the beginning of time.

    You mean something that's been in Visual Studio like since the beginning of time for C# ?



  • @Quinnum said:

    @LoremIpsumDolorSitAmet said:
    And it's still better than Visual Studio, which only just introduced 'refactor renaming' for C++... something that's been in Eclipse's Java toolset since the beginning of time.

    You mean something that's been in Visual Studio like since the beginning of time for C# ?

    Both C++ and Visual studio go back far further than C#. It would certainly be embarassing if they didn't have refactoring tools for C#, which borrows most of the good stuff from Java. Still, its range of refactoring tools are tiny compared to Eclipse or IntelliJ.



  • @LoremIpsumDolorSitAmet said:

    you might hate Oracle all you want, but Java and JVM technologies are pretty rock solid

    The JVM I'll grant you, but I refuse to accept the description "rock solid" for Java as a language. It is convenient in many ways for many companies, and it has a perception of being Serious Business that appeals to many corporate sensibilities, but it's an obnoxious language in too many ways for me to consider it solid as a rock. Dumb as one, perhaps...

    Of course, this raises the question of whether any language is truly rock solid. I don't know that any of them fit the bill. Which is why we have so many of them. Oh,wait! II forgot about VB5, which is able to handle the power of the greatest search engine on the planet. That's pretty rock solid.



  • @bstorer said:

    Oh,wait! II forgot about VB5, which is able to handle the power of the greatest search engine on the planet. That's pretty rock solid.

    No, I'm pretty sure it's important that those rocks have holes in them.



  • @bstorer said:

    The JVM I'll grant you, but I refuse to accept the description "rock solid" for Java as a language. It is convenient in many ways for many companies, and it has a perception of being Serious Business that appeals to many corporate sensibilities, but it's an obnoxious language in too many ways for me to consider it solid as a rock. Dumb as one, perhaps...

    Of course, this raises the question of whether any language is truly rock solid. I don't know that any of them fit the bill. Which is why we have so many of them. Oh,wait! II forgot about VB5, which is able to handle the power of the greatest search engine on the planet. That's pretty rock solid.

    Obnoxious language? How does a programming language do that. If I were to consider language features that were obnoxious, I'd probably go with C++ preprocessor macros. That's probably why rename refactoring took so long to invent in VS.

    So, what makes a truly 'rock solid' language? I accept no programming language will ever be perfect, because they are created by humans, for humans. What's better than Java or C#?

    VB5?

     



  • @LoremIpsumDolorSitAmet said:

    That's sad, but it's not really any different in the native world either.

    In the native world, unless you really fuck up somehow, you get all of those handy input methods for free. They work even if you have no clue they exist. And if a new one is added 3 months from now? It'll work too.

    @LoremIpsumDolorSitAmet said:

    Fact of the matter is, if you need accessibility tools to use your computer, you're probably not going to be a developer, so Eclipse isn't for you.

    Oh hey look, it's that lovely open source philosophy: "if you're disabled, FUCK YOU!!!"

    @LoremIpsumDolorSitAmet said:

    And it's still better than Visual Studio, which only just introduced 'refactor renaming' for C++... something that's been in Eclipse's Java toolset since the beginning of time.

    I wager the difference is that the Eclipse version is capable of breaking your code in annoying subtle ways, while Microsoft waited until they quashed all bugs before releasing the feature. In any case, who gives a shit about C++? Anybody choosing C++ is already a masochist, not having refactoring tools plays right into their weird fetish.

    @LoremIpsumDolorSitAmet said:

    Sorry guys... you might hate Oracle all you want, but Java and JVM technologies are pretty rock solid, which is why medium to large-scale businesses use them...

    Yeah, I have a lot of trust for a rock-solid enterprise technology that tricks me into installing the Ask toolbar every upgrade. That is the sign of true professional software!

    @LoremIpsumDolorSitAmet said:

    along with the fact that you don't need Windows Server licences everywhere to use it.

    Well if you moved away from C++, maybe you'd realize that you could use Mono to run your C# code without ever touching a copy of Windows Server.



  • From the withered imagination of the forum idiot...

    @blakeyrat said:

    Oh hey look, it's that lovely open source philosophy: "if you're disabled, FUCK YOU!!!"

    @blakeyrat said:

    ...while Microsoft waited until they quashed all bugs before releasing the feature.

    Oh, sorry, I thought you were serious.


  • Discourse touched me in a no-no place

    @bstorer said:

    "rock solid"
    Would you accept “solid as a blocked soil pipe”?



  • I'm gonna need a userscript to handle multiquoting soon...

    @blakeyrat said:

    In the native world, unless you really fuck up somehow, you get all of those handy input methods for free. They work even if you have no clue they exist. And if a new one is added 3 months from now? It'll work too.
    If using native controls 'just works' then SWT works too! Hold that thought...

    @blakeyrat said:

    Oh hey look, it's that lovely open source philosophy: "if you're disabled, FUCK YOU!!!"
    I present evidence!

    Eclipse can't be that bad if blind people actually choose to use it. He mentions specifically that SWT is much better than Swing, which makes sense.

    @blakeyrat said:

    I wager the difference is that the Eclipse version is capable of breaking your code in annoying subtle ways, while Microsoft waited until they quashed all bugs before releasing the feature. In any case, who gives a shit about C++? Anybody choosing C++ is already a masochist, not having refactoring tools plays right into their weird fetish.
    Eclipse will only do things that are provably correct and don't change the semantics of the code. If you want to do more heavy-handed refactoring like moving classes and packages around, or sorting members in Enums, it'll warn you first. 

    @blakeyrat said:

    Yeah, I have a lot of trust for a rock-solid enterprise technology that tricks me into installing the Ask toolbar every upgrade. That is the sign of true professional software!
    There's a difference between the Java SE end-user installer and the JDK. This thread is mainly about the former. True enough, Oracle are still TRWTF.

    @blakeyrat said:

    Well if you moved away from C++, maybe you'd realize that you could use Mono to run your C# code without ever touching a copy of Windows Server.
    I bet there are all kinds of things mono can't do with C# on a non-Windows machine... such as... native controls? OK, that was an easy shot, but in reality, if C# is being used, the 'Microsoft way' is probably already instilled in the company and you'll be depending on things that cannot feasibly be ported elsewhere, such as Active Directory. And why would you want to change? You're paying them for ongoing support, after all.



  • @LoremIpsumDolorSitAmet said:

    If using native controls 'just works' then SWT works too! Hold that thought...

    Right; but you said Eclipse doesn't use it because it needs some widgets that aren't provided by the OS, to which people rightfully asked: "like what?" Which you ignored.

    @LoremIpsumDolorSitAmet said:

    Eclipse can't be that bad if blind people actually choose to use it. He mentions specifically that SWT is much better than Swing, which makes sense.

    Ok, but that doesn't change the fact that your first, default, position was, "fuck the disabled!!!" and you're only changing your tune now because I called you on it. I was never talking about Eclipse's feature-set, I was expressing my disgust at the sheer uncaring open source developers show towards their users. That Eclipse happens to be accessible is coincidental.

    @LoremIpsumDolorSitAmet said:

    There's a difference between the Java SE end-user installer and the JDK. This thread is mainly about the former. True enough, Oracle are still TRWTF.

    The trick of branding is that if you piss off people with your brand in one circumstance, they still remain pissed-off in another circumstance.

    @LoremIpsumDolorSitAmet said:

    OK, that was an easy shot, but in reality, if C# is being used, the 'Microsoft way' is probably already instilled in the company and you'll be depending on things that cannot feasibly be ported elsewhere, such as Active Directory.

    So Mono is a non-entity because if C# is being used therefore the entire company can only ever use Microsoft products ever in history. Even though you can code a Mono app from start to finish and never touch anything from Microsoft.

    I see no flaws in your logic. My eyes have been opened. You are not the biggest moron on this forum. This paragraph is not sarcasm.

    @LoremIpsumDolorSitAmet said:

    You're paying them for ongoing support, after all.

    Right; straight from the horse's mouth: if you use MonoDevelop on Linux, you're paying Microsoft for ongoing support. Of course you are.



  • @blakeyrat said:

    @LoremIpsumDolorSitAmet said:
    If using native controls 'just works' then SWT works too! Hold that thought...

    Right; but you said Eclipse doesn't use it because it needs some widgets that aren't provided by the OS, to which people rightfully asked: "like what?" Which you ignored.

    Is there any GUI-based IDE that uses all native controls? Are there even any flagship MS applications that do this (e.g., anything in Office)?

    @blakeyrat said:

    That Eclipse happens to be accessible is coincidental an inconvenient contradiction that I'll pretend doesn't have anything to do with my point.

    FTFY

    @blakeyrat said:

    @LoremIpsumDolorSitAmet said:
    OK, that was an easy shot, but in reality, if C# is being used, the 'Microsoft way' is probably already instilled in the company and you'll be depending on things that cannot feasibly be ported elsewhere, such as Active Directory.

    So Mono is a non-entity because if C# is being used therefore the entire company can only ever use Microsoft products ever in history. Even though you can code a Mono app from start to finish and never touch anything from Microsoft.

    Is it funny or sad to consider the contrast of how you defend unrealistic things you say by pointing out you used the word "ideally" (or similar) and how Lorem said "probably" about something that any knowledgeable person would agree is probably true.



  • @blakeyrat said:

    Right; but you said Eclipse doesn't use it because it needs some widgets that aren't provided by the OS, to which people rightfully asked: "like what?" Which you ignored.
    OK, I thought this was clear enough:
    @LoremIpsumDolorSitAmet said:
    A lot of what Eclipse does cannot be reproduced with native components, but dialogs, wizards and other subcomponents work fine.
    By that, I mean the main Eclipse interface which has its own multi-tab-panel layout similar to VS. Non-standard, of course, but the components inside the panels are SWT, so using shortcut keys to focus the panels will work. And all dialog boxes are pretty standard.

    @blakeyrat said:

    Ok, but that doesn't change the fact that your first, default, position was, "fuck the disabled!!!"
    Definitely not my intention. I worked with a mostly-blind student at university. He did Java in notepad. I assumed Eclipse just didn't cut it for him... However that was a while ago, and things have progressed.

    @blakeyrat said:

    I see no flaws in your logic. My eyes have been opened. You are not the biggest moron on this forum. This paragraph is not sarcasm.
    What Boomzilla said. 

     


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.