Slashdot Mirror


Possible Reason Behind Version Hop to Windows 10: Compatibility

First time accepted submitter ndykman (659315) writes The Independent reports that a MS developer has suggested a real reason behind the Windows 10 name: old code. More specifically, code that looks for "Windows 9" to determine the Windows version. Fine for Windows 95 or Windows 98, but not so great for a new operating system. The article includes a link that shows that yes, this would be a problem.

349 comments

  1. Windows 9X by The+New+Guy+2.0 · · Score: 1

    It would get really confusing if they released a Windows 9.5 or Windows 9.8....

    1. Re:Windows 9X by ArcadeMan · · Score: 5, Funny

      Windows 9.8, Secure Edition

    2. Re:Windows 9X by Anonymous Coward · · Score: 0

      Windows 31, Secure Edition

    3. Re:Windows 9X by smittyoneeach · · Score: 0
      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    4. Re:Windows 9X by JustOK · · Score: 2, Funny

      not without patch KB41592653589793238462643383279502884197169399375105820974944592307816

      --
      rewriting history since 2109
    5. Re:Windows 9X by donaldm · · Score: 5, Interesting

      The whole article is Bull since MS Windows uses the NT kernel and their so called Windows 10 has an NT 6.4 kernel (see here ). For those that won't read the article the following is a list of NT versions from MS Windows Vista.

      NT6.0 - MS Windows Vista, Server 2008
      NT6.1 - MS Windows 7, Server 2008 R2, Home Server 2011
      NT6.2 - MS Windows 8
      NT6.3 - MS Windows 8.1
      NT6.4 - MS Windows 10

      Sure some of the apps my be different (slightly :)) but the basic kernel is only a minor increment. If the developers find difficulty in writing software that can't determine revision difference then I suggest they go back to school. Basically the whole reason to go to version 10 is IMHO marketing hype of which the Microsoft PR department excels (pun intended).

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    6. Re:Windows 9X by Darinbob · · Score: 0

      These are Windows developers. Of course that have difficulty in writing software that can't figure out revision differences.

    7. Re: Windows 9X by Anonymous Coward · · Score: 1

      It isn't today's developers, it's yesterday's developers. Most of whom likely thought that code they wrote on windows 98 would be replaced by now.

    8. Re:Windows 9X by chuckugly · · Score: 2

      Actually the code I saw doing this was Java .....

      Win32 guys know which API to call to get version info properly, and it's not a string comparison.

    9. Re:Windows 9X by jones_supa · · Score: 0

      I am running Windows 9.8 Secure Edition Update 1 HotFix 4 Pizza 2 with KB41592653589793238462643383279502884197169399375105820974944592307816 (an off-band critical security update).

    10. Re:Windows 9X by Anonymous Coward · · Score: 0

      The whole article is Bull since MS Windows uses the NT kernel and their so called Windows 10 has an NT 6.4 kernel (see here ).

      Windows 9.x was not based on NT.

    11. Re: Windows 9X by chentiangemalc · · Score: 1

      An incredible Number of windows developers do not know how to check versions. I.e if major>=5 AND minor>=1. In this case there are apps that check version by retrieving the OS name string I.e Windows 7. This was a popular but incorrect way to check if running on Windows 9x

    12. Re:Windows 9X by Megol · · Score: 1

      A bunch of idiotic drivel. What have the NT kernel have to do with software that looks for a "Windows 9" substring in the product name? You guessed it - not a thing.

      The differences between kernels are greater than the "small"* increase seems to indicate** which you would be aware of if you'd known anything about the NT kernel...

      Bah! I get pissed off when someone on a technical website posts such uninformed bullshit...

      * version numbers are increasing - the significance of the increase varies greatly between products
      ** to anybody that are completely clueless

    13. Re:Windows 9X by _Shad0w_ · · Score: 2

      We also know not to rely on the kernel version number to work out what the given version of Windows we're running on is capable of - you ask it if has the capability.

      I was actually moderately surprised by the fact that people were using the product name to work out the version - it's not even that easy to get that string. I think there's a WMI object that contains it, but it was only added in Vista. I can only assume it's generally developers using some form of helper library that maps the version number to friendly names for them.

      --

      Yeah, I had a sig once; I got bored of it.

    14. Re: Windows 9X by kenh · · Score: 2

      These are Windows developers. Of course that (sic)have difficulty in writing software that can't figure out revision differences.

      Your double-negative and decision to break up one complete sentence into two incomplete sentences with typo really undercuts your argument...

      --
      Ken
    15. Re:Windows 9X by Anonymous Coward · · Score: 0

      Windows 311 for Workgroups.

    16. Re:Windows 9X by thieh · · Score: 1

      31, 70-79, 80-89, 90-99, 100-199, ..... that's going to make a whole lot of holes. Idiot version numbering will haunt them again and again.

    17. Re:Windows 9X by chuckugly · · Score: 1

      Yeah, I'm actually unsure where you'd get that string from a Win32 API but it's probably somewhere. It's certainly NOT how we see what version of the OS we are running on. The sad thing is that the correct API returns a platform ID (IIRC) that tells what these jokers were trying to determine explicitly.

    18. Re:Windows 9X by Midnight+Thunder · · Score: 1

      The Kernel is only part of the operating system. There are other things that go into an operating system, such as libraries, application and services. You will find most application are relying on OS version to find out about those , rather than about the underlying kernel. Sure they should probably not make assumption about the operating system as a whole, but developers make assumptions.

      --
      Jumpstart the tartan drive.
    19. Re:Windows 9X by donaldm · · Score: 1

      The Kernel is only part of the operating system.

      Correct, but without a kernel (we are talking about MS Windows NT here) nothing works so it is the most important part of the OS hence all applications, libraries and services are dependent, although not necessarily directly on the kernel and what version it is.

      Basically any program or service should have enough smarts built in to determine if the libraries it is going to use will allow it to run properly and those libraries should be updated to work (if appropriate) with the kernel. Looking for "Windows" anything in a library is IMHO stupid since the only thing a program should care about is the minimum and sometimes in rare cases the maximum version number of those libraries it is going to use. Basically Unix, Linux and even VMS on which MS Windows NT is based uses the above concepts and those OS's don't seem to have any issues.

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    20. Re:Windows 9X by Midnight+Thunder · · Score: 1

      While I won't argue how important the Kernel is, if the kernel changes, then applications can continue working if libraries are binary compatible and the system architecture hasn't changed.

      --
      Jumpstart the tartan drive.
    21. Re:Windows 9X by Bigjeff5 · · Score: 2

      It's how Java exposes the OS name to its users. If you look in that list, that os.name property is a native Java function. The Java library itself probably goes through all the BS required to get that, instead of the version number or some other more reliable method to see if your stuff will run.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    22. Re: Windows 9X by Bigjeff5 · · Score: 1

      It's 3 year old Java code that's the problem, not any Windows code.

      If 3 years ago doesn't count as "today's developers", well, you're setting the bar pretty insanely high for replacing code.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    23. Re: Windows 9X by jisatsusha · · Score: 1

      Your code would fail to detect Vista which is 6.0. The major version is greater than 5 but the minor version is not greater than 1.

    24. Re:Windows 9X by TemporalBeing · · Score: 1

      It's how Java exposes the OS name to its users. If you look in that list, that os.name property is a native Java function. The Java library itself probably goes through all the BS required to get that, instead of the version number or some other more reliable method to see if your stuff will run.

      If they actually tried to do the proper Windows version lookup then they would have not used taht java interface. Instead, they took the chean, easy way out and now it's biting them.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    25. Re: Windows 9X by TemporalBeing · · Score: 1

      An incredible Number of windows developers do not know how to check versions. I.e if major>=5 AND minor>=1. In this case there are apps that check version by retrieving the OS name string I.e Windows 7. This was a popular but incorrect way to check if running on Windows 9x

      Neither do you apparently because Windows does not split them apart. It uses a 16-bit hex value - 0x0601 is version 6.1. So the check is simply "version > 0x0600" to detect anything newer than Widnows Vista.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    26. Re: Windows 9X by Anonymous Coward · · Score: 0

      The 0x0Mmm hex number is used by the SDK at compile time. GetVersionEx() gives you the numbers in separate dwords. The older GetVersion() function packs it all in a single dword but the packing scheme was implemented by a moron so you cannot use > nor >=...

    27. Re:Windows 9X by pthisis · · Score: 1

      It's how Java exposes the OS name to its users. If you look in that list, that os.name property is a native Java function. The Java library itself probably goes through all the BS required to get that, instead of the version number or some other more reliable method to see if your stuff will run.

      Java actually does the right thing. System.getProperty("os.version") returns the version number ("4.0", "4.1", etc). System.getProperty("os.name") returns the human-readable name ("Windows 95", "Windows 98", etc).

      It's some third-party Java developers who are too dumb to use the right property (or to look up capabilities directly rather than attempting to infer them from version numbers).

      --
      rage, rage against the dying of the light
    28. Re:Windows 9X by ignavus · · Score: 1

      Really they should just take a leaf from Ubuntu, and tell everyone that they have replaced Windows Bellowing Ballmer with Windows Nifty Nadella.

      --
      I am anarch of all I survey.
    29. Re:Windows 9X by The+New+Guy+2.0 · · Score: 1

      Whole + Point Number = Brand

      What a formula.

    30. Re:Windows 9X by Anonymous Coward · · Score: 0

      We also know not to rely on the kernel version number to work out what the given version of Windows we're running on is capable of - you ask it if has the capability.

      On Windows, the OS version is fine for most things. MS typically waits for new versions to introduce most new APIs. In cases where an application depends on APIs introduced with a new OS version, the programmer delay-loads any potentially problematic DLLs to avoid unfriendly errors issued by the OS loader, then checks the OS version in the startup code so that a friendlier "Sorry, FooBaz cannot run on systems prior to Windows XP" message can be shown.

      Sometimes MS introduces a few new API functions with a service pack, or with an update to some subsystem. In those cases the recommended practice is to test for the individual functions on an as-needed basis. I believe this is the practice to which you are referring. Both approaches have their place.

      I was actually moderately surprised by the fact that people were using the product name to work out the version - it's not even that easy to get that string. I think there's a WMI object that contains it, but it was only added in Vista. I can only assume it's generally developers using some form of helper library that maps the version number to friendly names for them.

      No, the basic OS display name is trivially available by calling GetVersionEx() , the same function used to get the binary OS version numbers, and is returned in the szCSDVersion member of the OSVERSIONINFOEX struct (and the older OSVERSIONINFO struct). However, getting detailed OS info like "Data Center Edition" or "Small Business Server" is more complicated.

      I wish I had come across this discussion earlier. There are a lot of posters here under the misapprehension that retrieving the Windows version name requires non-trivial coding.

      - T

  2. 11 by Jamu · · Score: 5, Funny

    It would have been better if they'd gone with Windows 11. One better.

    --
    Who ordered that?
    1. Re:11 by Anonymous Coward · · Score: 1

      Exactly. What we do is, if we need that extra push over the cliff, you know what we do?

    2. Re:11 by geekmux · · Score: 1

      It would have been better if they'd gone with Windows 11. One better.

      They tried.

      Nigel Tufnel sued. And won.

      Cheeky bastard.

    3. Re:11 by Anonymous Coward · · Score: 1

      Well, next summer, you'll be able to purchase Windows 11: Spinal Tap Edition.

      No noticeable differences between it and Windows 10, but this one goes to 11.

    4. Re:11 by JustOK · · Score: 5, Funny

      +11 Spinal Tap

      --
      rewriting history since 2109
    5. Re:11 by Anonymous Coward · · Score: 0

      Mine still has it's tag on it. Don't touch it, in fact don't even look at it.

    6. Still wouldn't solve the problem, StartsWith 'Windows 1". God help us when that legacy activates.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  3. How badly coded are Windows applications? by ArcadeMan · · Score: 5, Insightful

    If something as stupid as the name of the operating system can trip up some applications, what about the rest of the code?

    Instead of giving programmers dozens of ways of checking and doing things, they should be forced into doing it one way. Easier to prevent mistakes, check for errors, etc.

    1. Re:How badly coded are Windows applications? by CaptainDork · · Score: 5, Funny

      Ah ... grasshopper ...

      You will learn as, you progress in your journey, that convenience is a forever code.

      I give you, Y2K.

      --
      It little behooves the best of us to comment on the rest of us.
    2. Re:How badly coded are Windows applications? by thegarbz · · Score: 5, Insightful

      Major fallacy right there. This has nothing to do with windows applications, and nothing to do with giving programmers ways of checking things.

      This has everything to do with bad programming, and no Mac and Linux are most definitely not immune from this either. Windows has an API to determine the version number, just like Linux has a way of determining it too. The problem is when programmers don't know or understand the API that things break. It's not even a case of giving programmers different ways of checking things. Different APIs are there for different reasons, the problem is idiot programmers who use the response of one API to infer information they should otherwise have gotten from another.

    3. Re:How badly coded are Windows applications? by K.+S.+Kyosuke · · Score: 5, Interesting

      Microsoft has a history of treating broken apps very gracefully; this explanation seems perfectly plausible and very much in line with what Raymond Chen writes about on his Old New Thing blog.

      --
      Ezekiel 23:20
    4. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 5, Informative

      The search in the article shows mainly Java applications.

      But the coding problem isn't specific to Windows. Opera suffers from this problem and so does every web browser that had a "version 10" that browser strings looked only for "1" or version 20 that looked for a "2" like Firefox.

      Opera still by default says its Opera 9.8

      But ultimately, garbage code needs to be thrown away and programmers need to stop doing stupid things like this.

    5. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      This reminded me of the time a Java update broke a bunch of applications that depended on some (maybe) questionable version checking.........

      http://it.slashdot.org/story/10/07/28/2121259/oracles-java-company-change-breaks-eclipse

    6. Re:How badly coded are Windows applications? by steelfood · · Score: 5, Interesting

      It's also rather short-sighted, not to mention lazy, to look for "Windows 9.*". I mean, Windows began with version numbers (Windows 1.0, Windows 2.0, Windows 3.0). There's no reason to think that Microsoft wouldn't go back to version numbers.

      At the very least, look for the string "Windows 95" and "Windows 98", since there are really only two versions of Windows relevant to the "Windows 9.*" search string. I know hindsight is 20/20, but this one really was avoidable by the simple principle of not being lazy (even if ignorant).

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    7. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 1

      This has everything to do with bad programming, and no Mac and Linux are most definitely not immune from this either.

      True. The difference is one of philosophy: Microsoft believes that if an application incorrectly relies on behavior that appeared in a release of Windows, then it's the OS's responsibility to support that application. Mac and Linux work on the philosophy that it's the application's responsibility to correct the bug.

    8. Re:How badly coded are Windows applications? by pz · · Score: 1

      I agree, but replace the words "bad programming" with "lazy programmers".

      It is really no different than instances of "you have 1 message(s) waiting". Back in the day, when bytes and cycles really counted, saving the execution of a statement, and the program code space associated with checking for 1 or more-than-1 was understandable, maybe even desirable, but now? The only reason is a lazy programmer.

      The disturbing part of this is that you see status text like this all the time, even in decidedly new code; there are lazy programmers everywhere.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    9. Re:How badly coded are Windows applications? by PPH · · Score: 5, Funny

      Leave it to the software industry to call the Year 2000 problem 'Y2K'. That's how they got into trouble in the first place.

      --
      Have gnu, will travel.
    10. Re:How badly coded are Windows applications? by gewalker · · Score: 1

      The has actually been intentionally. As the user see the error message they say to themselves, "stupid computer" -- Having salved the human's need for feeling superior, the software can continue about its business without the human resisting the computer's penchant for literalness.

      I've actually read this, not just something I made up.

    11. Re:How badly coded are Windows applications? by Your.Master · · Score: 1, Insightful

      Well, even that is stated with a Linux-centric perspective. The Windows perspective on that would be:

      Mac and Linux take the philosophy that the user's poor experience is not the OS's problem because the bug is not in the OS.

      Windows takes the philosophy that the user's poor experience is always the OS's problem, regardless of who wrote the bug; and therefore, all compatibility bugs in some sense *are* OS bugs.

    12. Re:How badly coded are Windows applications? by zippthorne · · Score: 1

      Maybe, but that kind of thing only ever needed to be done in a tight loop. If you're looking for the OS version by string and you're deciding between "Windows 9" or "Windows 95" there's not much difference between a nine character string and a ten character string. Plus, who is checking the windows version by string in a tight loop? Surely you would branch before or set a flag before the loop.

      Also, doesn't windows provide more reliable version numbers via api?
      --quick google search--
      Apparently, it used to, but as of 8.1, that api has been deliberately broken?

      --
      Can you be Even More Awesome?!
    13. Re:How badly coded are Windows applications? by Your.Master · · Score: 1

      Even in the Windows 95 days this was both unacceptable and probably less performant than using the API that was already built in.

      I would say that this is not just lazy programming, it really is bad programming. Laziness can be bad and it can be good. This laziness is bad.

    14. Re:How badly coded are Windows applications? by CaptainDork · · Score: 1

      I don't know about that. Though I lived through it, I don't know who first coined the phrase, "Y2K."

      It could have been the software industry or it could have been the hardware industry, or it could have been IT or a blogger.

      --
      It little behooves the best of us to comment on the rest of us.
    15. Re:How badly coded are Windows applications? by davester666 · · Score: 1

      Well, the database only had space for 3 bytes. You want that the whole internet has to go down for several hours just to recreate a single table?

      --
      Sleep your way to a whiter smile...date a dentist!
    16. Re:How badly coded are Windows applications? by Farmer+Tim · · Score: 3, Informative

      It’s long been used as shorthand in electronics so circuit diagrams don’t get cluttered up with zeros, i.e. a 2,200 Ohm resistor is often shortened to 2K2 Ohms, 1,500,000 Ohms is 1M5.

      --
      Blank until /. makes another boneheaded UI decision.
    17. Re:How badly coded are Windows applications? by Dynedain · · Score: 2

      There was a Windows 97 as well (service pack + enhancements really), but it set the example of MS using year numbers to indicate versions.

      That fell apart with Windows ME and XP, but not Win2k. (I had uniformed people swear to me that they were on Win2K because they were running WinME)

      And back in 1999, who would have thought that Microsoft would return to major release numbers instead of using the year? If they stuck with the year nomenclature it wouldn't have been a problem for another 90 years.

      No.... this really comes down to not knowing, and not using, the API provided to you by the OS for handling version detection. Relying on string (or worse, numeric) comparison to do your detection is a recipe for disaster. This is exactly why all modern Javascript libraries do feature detection instead of relying on User-Agent strings.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    18. Re:How badly coded are Windows applications? by gcnaddict · · Score: 1

      We also have similar forms of notation in the English language as well. Case in point:

      i18n

      They're called numeronyms, and they include Y2K as an example.

      --
      Viable Slashdot alternatives: https://pipedot.org/ and http://soylentnews.org/
    19. Re:How badly coded are Windows applications? by armanox · · Score: 1

      They ran into another problem with version numbers when Windows Vista came out. Because Windows XP lived so long (Windows 5.1, .2, .3, and .4) quite a few programers just checked the minor version, and saw Vista's minor as .0 and assumed it was Windows 2000, and said you must install XP to run this program.... It boils down to Microsoft having to cater to lazy developers whose programs make them look bad.

      --
      I'm starting to think GNU is the problem with "GNU/Linux" these days.
    20. Re:How badly coded are Windows applications? by armanox · · Score: 1

      Yes and no. It's been broken, as a result of lazy programmers, since Windows 7 came out. With the release of Vista (NT 6.0) Microsoft took a lot of complaints from users due to programs only really checking the minor number (if $MAJOR is >=5 AND $MINOR > 0 since 5.0 was Windows 2000) and installers as a result declared people to not have a recent enough Windows version to run $APPLICATION.

      --
      I'm starting to think GNU is the problem with "GNU/Linux" these days.
    21. Re:How badly coded are Windows applications? by CaptainDork · · Score: 2

      I am an electronics technician and have been one since 1964 and I've never heard of that nomenclature.

      It's 2.2 K, and 1.5 M.

      Period.

      But I'm America-centric which often bites me in the butt. :)

      --
      It little behooves the best of us to comment on the rest of us.
    22. Re:How badly coded are Windows applications? by Farmer+Tim · · Score: 3, Informative

      I’m also an electronic technician, I have reprints of articles going back to the 1930s from Europe, the UK and Australia which use the notation I described, and you can even find it stamped on components from those regions. Either is acceptable as far as I’m concerned, as long as the nomenclature is consistent.

      --
      Blank until /. makes another boneheaded UI decision.
    23. Re:How badly coded are Windows applications? by Ol+Olsoc · · Score: 1

      Well, even that is stated with a Linux-centric perspective. The Windows perspective on that would be:

      Mac and Linux take the philosophy that the user's poor experience is not the OS's problem because the bug is not in the OS.

      Windows takes the philosophy that the user's poor experience is always the OS's problem, regardless of who wrote the bug; and therefore, all compatibility bugs in some sense *are* OS bugs.

      Where on earth did you get that idea. Post in here that you have a problem in Windows, and the fanbois will descend like locusts to call you a dumfuk and that it isn't Windows, but 100 percent your fault.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    24. Re:How badly coded are Windows applications? by fluffy99 · · Score: 4, Insightful

      I am an electronics technician and have been one since 1964 and I've never heard of that nomenclature.

      It's 2.2 K, and 1.5 M.

      Period.

      But I'm America-centric which often bites me in the butt. :)

      I'm very surprised you haven't seen this, or the similar notation on ceramic caps. It's used simply because a decimal is easy to miss when printing on small components.
      http://www.electronicsandyou.c...

    25. Re:How badly coded are Windows applications? by FatdogHaiku · · Score: 2

      To be fair, one link cited this:
      String os = System.getProperty("os.name");
      if (os.startsWith("Windows 9") || os.equals("Windows Me")) {
      throw new RuntimeException(

      For my money, anytime Windows Me is detected you should throw an exception, a flag, and maybe a fit...

      --
      You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
    26. Re:How badly coded are Windows applications? by donaldm · · Score: 1

      Mac and Linux take the philosophy that the user's poor experience is not the OS's problem because the bug is not in the OS.

      Normally a user's poor experience on any OS is usually a result of them not being able to utilise properly one of the most powerful analogue computers on this planet, their brain. No one here would deny that some software has bugs which should be fixed and in the Unix/Linux environment bugs, when they are found are usually fixed fairly quickly.

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    27. Re:How badly coded are Windows applications? by Darinbob · · Score: 1

      This seems plausible to me, it's very common with a lot of quick and dirty software to ship/deploy if the boss pushes a button and then something seems to happen correctly. Going back and making sure it is bullet proof is done on a developer's own personal time.

      I suspect a lot of the problem is that Windows programmers grew up without much exposure to portability problems. As long as they could distinguish NT from 95/98 they were usually happy. And the idea that a problem might actually last a long time was not something they worry about much. Compare to unix programmers who had to get used to the same program and script working on aix, hpux, solaris/sunos, ultrix, bsd, sysv, etc, while dealing with big versus little endian, sockets vs streams, and the occasional port to mainframes.

    28. Re:How badly coded are Windows applications? by Darinbob · · Score: 1

      It's a case of unimportant code being written by the neophyte, intern, or the CEOs cousin who didn't have an actual interview. It may seem important today when things break, but back in the 90s no one cared as long as things shipped before funding dried up.

      Especially when your code is something without easy access to APIs, like a scripting language, a spreadsheet macro, or you're a solitary programmer who never gets to talk to the people in the development department who know how things work. Maybe there's a little twinge that says something is not right, but they have specifications from the IT boss to "work with 98, 2000, and xp, which are the machines we have deployed" so that absolves them from delaying the deployment.

      It's the Visual Basic problem. Market it as something so easy an idiot or manager can use and it results in idiots and managers writing code like this.

    29. Re:How badly coded are Windows applications? by distilate · · Score: 1

      Yep it solves the was it a fly shit or a decimal problem!

    30. Re:How badly coded are Windows applications? by cavreader · · Score: 1

      I think you would be hard pressed to find "idiot programmers" working in the MS kernel space. The same goes for Apple, Linux, Google, and the other top OS developers. You can hate the companies all you want but the developer talent they have collected is impressive. About the only other place you may find better talent is at the NSA. If you want to see some real "idiot programmers" you should look at the vast number of application developers.

    31. Re:How badly coded are Windows applications? by Retron · · Score: 1

      There was not a Windows 97, unless you could the things cobbled together by wannabe-hacker kids.

    32. Re: How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      I think it is a Europe thing.
      But I have Seen resistors labeled that way.

    33. Re:How badly coded are Windows applications? by thegarbz · · Score: 1

      Lazy, ignorant, maybe some software developers really thought their software wouldn't still be in use a few years later.

      I wouldn't be surprised if a lot of this legacy code is from programs where the company no longer exists, which was hoping to make it's fortune and ride on forever releasing version updates.

    34. Re:How badly coded are Windows applications? by thegarbz · · Score: 1

      Stupid part is Microsoft have published code specifically about how to check version numbers on MSDN. In many cases a "lazy" programmer may copy and paste and then be the one who actually gets it right.

      If MAJOR > 5 || (MAJOR == 5 && MAJOR > 0)

    35. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      Applications are badly coded regardless of OS. However, having read "The Old New Thing", a blog (and book!) written by Raymond Chen, who's been around at Microsoft since the Windows 95 days, it absolutely boggles the mind as to how lazy some programmers are.

    36. Re:How badly coded are Windows applications? by dbIII · · Score: 5, Interesting

      I had a Y2K bug introduced in 2008 in Macrovison's piece of shit "protection" software, flexlm, which stopped me running the software I had paid for because a perpetual licence was dated "00" and so was the year 2000.
      The phone support guy had never heard of the Y2K bug!
      It took a week and a half to sort out and meanwhile three people in the office had to work around it instead of using the software that was "protected". And people wonder why I prefer open source software.

    37. Re:How badly coded are Windows applications? by julesh · · Score: 1

      No.... this really comes down to not knowing, and not using, the API provided to you by the OS for handling version detection.

      Almost all of the results in the search are Java applications. Java doesn't provide access to the specified API. The only way you can do it is with System.getProperty("os.name") and System.getProperty("os.version") which both return strings.

      This is exactly why all modern Javascript libraries do feature detection instead of relying on User-Agent strings.

      The code that turns up in most of the search results is trying to determine the correct executable and arguments to execute a command line (i.e. it picks the right one of "sh -c", "command.com /c", or "cmd.exe /c"). How would you propose doing this without determining what operating system you're running on?

    38. Re:How badly coded are Windows applications? by AK+Marc · · Score: 2

      Nope, there was never a Windows 97. There was a Windows 95 pirated version with an edited splash screen, and there was a Windows 98 version released in 97 (Win98 alpha), but Microsoft never released or badged anything as Windows 97, and no version ever identified as that internally.

    39. Re:How badly coded are Windows applications? by AK+Marc · · Score: 1

      Post in here that you have a problem in Windows, and the fanbois will descend like locusts to call you a dumfuk and that it isn't Windows, but 100 percent your fault.

      I think you fail Poe's law.

    40. Re:How badly coded are Windows applications? by inflex · · Score: 1

      Not as long-beardered here ('88) but the 1M5, 2u2 and similar numbering system has been around for quite some time over here in Australia. Very useful for avoiding those "Is that a bit of dust or a decimal-point" ambigious situations, particularly when photocopiers and/or leaky screen-printing was used for generating the output.

    41. Re:How badly coded are Windows applications? by chuckugly · · Score: 3, Funny

      I'm not sure an OS that makes Java fail to run is completely bad.

    42. Re:How badly coded are Windows applications? by chuckugly · · Score: 1

      Actually most of it is code written using the shitty Java API.

    43. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      I am from the Netherlands and I learned in school to use 2k2 & 1M5, because the dot is too small to notice.
      Also it is used on small electronic components all the time.

    44. Re:How badly coded are Windows applications? by behrooz0az · · Score: 1

      Me too have seen the notion in GP hundreds of times in books from russia, germany, UK and a few other countries. It's out there you just havn't seen it.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion. -- Spazmania (174582)
    45. Re:How badly coded are Windows applications? by shutdown+-p+now · · Score: 4, Interesting

      The search in the article shows mainly Java applications.

      It's worse than that, actually. It's Java Standard Library. In JDK 7, at that, which is, what, three years old?

    46. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      He is at least a bit right about the behaviour of the developers (not the fan boys). Windows has a history of including bug fixes for software that is too big to fail (which at some points included things like loading a different memory allocator for SimCity 2000), in contrast Linus is very vocal about people pushing software specific code into the kernel and quite a few user land library devs. simply don't care about your bugs (note: some do however, afaik a valid 'optimization' to the standard C method memcpy got reverted since too many applications use it wrong).

    47. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      I'm not sure an OS that makes Java fail to run is completely bad.

      Agree, but just a few days ago we had a story here where a lot of posters thought an Android app runtime for desktop OS's would be the second coming and make Windows irrelevant. As this is basically Java, it would be going back to the Java we are trying to get away from, just with another name.

    48. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      if major is equal to 5 and major is greater than 0... are there another 5 that is less than 0 somewhere?

    49. Re:How badly coded are Windows applications? by 91degrees · · Score: 1

      It is really no different than instances of "you have 1 message(s) waiting". Back in the day, when bytes and cycles really counted, saving the execution of a statement, and the program code space associated with checking for 1 or more-than-1 was understandable, maybe even desirable, but now? The only reason is a lazy programmer.

      I really think even then it was programmer laziness. It's still only a few bytes to do the check, and programmers didn't need to be that frugal. The only time when this would have made a difference was when memory was in such short supply that you'd consider rephrasing the message itself to take up fewer bytes.

    50. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      Like I you I was coursing developers for their incompetence because of badly used API only to having to take it back after it was proven to me that deducing answers from 'wrong' API was often the only way to get the answer at all as the 'right' API did not work properly.

    51. Re: How badly coded are Windows applications? by kenh · · Score: 1

      No, the problem wasn't that they referred to it as "Y2K", the problem was the mass media got hold of a 'possible' problem that 'might' affect 'some' computers and spun the issue to be so large as to throw civilization back to the dark ages - water utilities were goingt o stop pumping water, planes would fall out of the sky, the phone system would fail, etc.

      --
      Ken
    52. Re: How badly coded are Windows applications? by ArcadeMan · · Score: 3, Funny

      the problem was the mass media got hold of a 'possible' problem that 'might' affect 'some' computers and spun the issue to be so large as to throw civilization back to the dark ages

      Which is silly, really. The worst that could have happened is to throw civilization back to 1900.

    53. Re:How badly coded are Windows applications? by Khyber · · Score: 1

      "I am an electronics technician and have been one since 1964 and I've never heard of that nomenclature.

      It's 2.2 K, and 1.5 M."

      WRONG! Example, Ceramic caps. SMD resistors (because they don't have a color code discernible on a 2mm x 1m package.)

      You're saying you've never used a single ceramic cap or SMD resistor, EVER?

      I think it more likely you're lying your ass off given your UID.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    54. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      yerk?

    55. Re:How badly coded are Windows applications? by CaptainDork · · Score: 1

      I had a feeling this unfamiliar numbering scheme was probably not local to me.

      --
      It little behooves the best of us to comment on the rest of us.
    56. Re:How badly coded are Windows applications? by CaptainDork · · Score: 2

      I forgot about this but ...

      I read about people hardening systems against Y2K and then testing by changing system clocks forward to "see what would happen."

      What would happen sometimes is that their license would expire and they would have to explain what they did and ask to be forgiven.

      --
      It little behooves the best of us to comment on the rest of us.
    57. Re:How badly coded are Windows applications? by CaptainDork · · Score: 1

      Well, fry me for an oyster!!!

      Very informative. This is the first I've heard of it. I had a feeling it was a labeling convention outside my scope.

      Thank you.

      --
      It little behooves the best of us to comment on the rest of us.
    58. Re:How badly coded are Windows applications? by CaptainDork · · Score: 1

      This is interesting. I have never worked with a diagram like that.

      Thanks.

      --
      It little behooves the best of us to comment on the rest of us.
    59. Re:How badly coded are Windows applications? by TapeCutter · · Score: 1

      The has actually been intentionally.

      The psychology of error messages is interesting. - I worked on an early Australia wide mobile job dispatch system in the mid 90's that ran on GSM and served ~6000 field workers. The proprietary comms driver on the laptop was a piece of shit that just died silently and often. We replaced it with a much more robust tcp/ip driver that told the user about comms problems.

      You guessed it, we were flooded with complaints. Previously the users had just restarted the app and most times the mystery problem would go away, as soon as they saw error messages they had someone to blame. Most of them insisted that the old driver was better, even though our back end logs clearly demonstrated it wasn't. And no it's not because the users were ignorant, the users were telco technicians and linesmen who you would expect to have some idea about mountains disrupting GSM signals..

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    60. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      Ah ... grasshopper ...

      You will learn as, you progress in your journey, that convenience is a forever code.

      I give you, Y2K.

      Your first comma is in the wrong place.

    61. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      dont you old timers rem that the media hyped this to epic heights I proffer it was a tv "journalist" you uttered it 1st

    62. Re:How badly coded are Windows applications? by Bigjeff5 · · Score: 2

      I thought the whole point of Java was that it was supposed to be platform independent.

      Why the hell should a Java developer ever need to find the OS name and version? I can understand needing certain features to run properly, but who cares if it's Linux or OSX or Windows that has the feature you need? They should only need the Java version, and the feature available. If the same OS feature exposed by Java works differently on different platforms, that's a major failure of Java's.

      If you're writing Java software that is only intended to work in Windows, you're using the wrong language.

      (Please note that, although this is only my personal opinion, if you disagree you're wrong.)

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    63. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      I work with 18-25 yo and am in my 40s NOTHING suprises me that the youth have somehow never heard of. Example I never saw Steel Magnolias but I know who the main actors and basic premise of the movie is. I can mention anything pop culture related from the 80s or even 90s and its like the words I speak are some tribal language 100 people still speak in some remote backwater of the planet.

      you are expecting the same thing -the tech "support person" probably cant build the pc he uses to read his scripts he is given to 'support' his customers with and Y2K didnt happen when he or she was in junior high and all into some boyband best forgotten

    64. Re:How badly coded are Windows applications? by Bigjeff5 · · Score: 2

      Obviously that last one is supposed to be MINOR.

      Hopefully he didn't actually copy this from an MSDN article.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    65. Re:How badly coded are Windows applications? by flopsquad · · Score: 1

      What really whips the llama's ass is that regular expressions have been around in one form or another since before Microsoft was even founded.

      If some half assed dev is going to check against a "Windows" text string rather than something sane like a kernel version number, the least they could do is grep Windows\s9[58] or (95)|(98) or 9\d.

      --
      Nothing posted to /. has ever been legal advice, including this.
    66. Re:How badly coded are Windows applications? by TemporalBeing · · Score: 1

      There was not a Windows 97, unless you could the things cobbled together by wannabe-hacker kids.

      Actually there was, but no released to US/Europe. I've seen it.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    67. Re:How badly coded are Windows applications? by TemporalBeing · · Score: 1

      (I had uniformed people swear to me that they were on Win2K because they were running WinME

      When they released Windows 2000 there was suppose to be a Consumer Edition (CE) version. However, it was drastically behind schedule and didn't make the cut when Windows 2000 (Profession, Server, etc) was released. Windows ME came from that; and most likely was just a release to get a release out; short-cutting much. I go from that due to all the changes in errors and other things - Windows ME was based on 9x, but it was also a heavy integration of the NT source into it. So there's truth both ways; and the mixed status of its integration is probably why it ended up with the reputation that it had - it wasn't really finished.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    68. Re:How badly coded are Windows applications? by TemporalBeing · · Score: 1

      Almost all of the results in the search are Java applications. Java doesn't provide access to the specified API. The only way you can do it is with System.getProperty("os.name") and System.getProperty("os.version") which both return strings.

      Well, the only way you can do it without adding C-bindings to utilize teh Win32 API from within Java. It's just the most lazy programmers - which Java probably tends to attract - that do that dumb method.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    69. Re:How badly coded are Windows applications? by TemporalBeing · · Score: 1

      This has everything to do with bad programming, and no Mac and Linux are most definitely not immune from this either.

      True. The difference is one of philosophy: Microsoft believes that if an application incorrectly relies on behavior that appeared in a release of Windows, then it's the OS's responsibility to support that application. Mac and Linux work on the philosophy that it's the application's responsibility to correct the bug.

      Wrong.

      Microsoft takes the appraoch that Developers are dumb so they do a lot of things to protect developers from themselves, developers. But once they release an API, they keep it written in stone, even if it is buggy. Developers have in turn relied on this and add work-arounds in the applications; which has further pushed Microsoft into maintaining those broken interfaces.

      In contrast, Mac/Linux/UNIX developers do not expect APIs to maintain compatibility between major versions of libraries or OS releases. They're more expected to report issues so that those issues can be resolved by the libraries that they appear in. So developers can rely more on the libraries to do the right thing, provide nicer interfaces that make it easier to do the applications. They also do not try to protect developers from themselves - developers can easily blow up the system.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    70. Re:How badly coded are Windows applications? by im_thatoneguy · · Score: 1

      Someone presented a great example of an OSX application failing because it thought 10.10 10.9. These sorts of problems crop up regardless if you use float numbers or strings. Someone will find a way to misinterpret it.

    71. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      That's an easy comment to make in hindsight, but back then, no one knew how long Microsoft would have stayed with the WIndows '9x' schtick.

    72. Re:How badly coded are Windows applications? by tqk · · Score: 1

      Instead of giving programmers dozens of ways of checking and doing things, they should be forced into doing it one way.

      Said the python junkie to the perl hacker, and the war was on.

      --
      "Tongue tied and twisted, just an Earth bound misfit ..." -- Pink Floyd.
    73. Re:How badly coded are Windows applications? by im_thatoneguy · · Score: 1

      * 10.10 less than 10.9 *

      Stupid HTML filter in Plain Text mode.

    74. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      It's also used on schematics because it remains more readable than a decimal point after photocopying/scaling.

    75. Re: How badly coded are Windows applications? by tqk · · Score: 2

      No, the problem wasn't that they referred to it as "Y2K", the problem was the mass media got hold of a 'possible' problem that 'might' affect 'some' computers and spun the issue to be so large as to throw civilization back to the dark ages ...

      Or, they were correct and it really was going to cause massive damage but we fixed it, or most of it that we could find. Years later, we were still finding remnants of it.

      --
      "Tongue tied and twisted, just an Earth bound misfit ..." -- Pink Floyd.
    76. Re:How badly coded are Windows applications? by kmoser · · Score: 1

      But ultimately, garbage code needs to be thrown away and programmers need to stop doing stupid things like this.

      Seriously. Any programmer who assumes numbers will always be single digits should be fired on the spot. In fact, all such OS version checks should go through function calls which contain the implementation details of the version check, rather than hard-coding a string search for "Windows X" every time you want code to check what version of Windows is running.

    77. Re:How badly coded are Windows applications? by Bigjeff5 · · Score: 1

      How badly coded are Java applications?

      There, fixed that for you.

      Seriously, it's Java apps and other poorly coded apps, and I'd wager all of them break because the code says "if os.name startswith("Windows 9") throw RuntimeException". It looks like all versions of OpenJDK have this as their version check before running. And there's no way for Oracle to fix it, because the problem is in each individual Java app written using OpenJDK. Which, of course, means MS can't fix it either. They normally just slap an exception on this kind of bullshit and move on, but it won't work this time. And really, I'm not even sure there is an incentive for Oracle to fix it anyway. They aren't the ones who will be losing sales because of their fuckup.

      Way to go Java!

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    78. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      hmmmm having trouble making my certificates valid on the 20th Jan 2038

    79. Re:How badly coded are Windows applications? by BillX · · Score: 1

      For a totally unsolicited datapoint, I'm an American EE with about a decade in the industry and see this notation semi-regularly. Still can't explain US distributors' hatred of nanofarads as a unit, though.

      --
      Caveat Emptor is not a business model.
    80. Re: How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      Or they can all create the same abomination

    81. Re:How badly coded are Windows applications? by Anonymous Coward · · Score: 0

      Any programmer who thinks that any so crude tests for whether someone should be fired are valid should be fired on the spot.

      Similarly, the only people subject to capital punishment should be those who believe in capital punishment.

      And so on.

      Do as you would be done by. Leave everyone else the fuck alone, to recognise and appreciate humanity for what it actually is.

    82. Re:How badly coded are Windows applications? by Retron · · Score: 1

      Actually there isn't and never has been. Let's see you post a link about it then, one that doesn't just point to speculation or to some hacked together fan version of Windows.

    83. Re:How badly coded are Windows applications? by zippthorne · · Score: 1

      Also, surely you won't actually check for MAJOR > anything, as any major version other than the one you coded for won't guarantee the presence of whatever feature your application requires.

      --
      Can you be Even More Awesome?!
    84. Re:How badly coded are Windows applications? by cwsumner · · Score: 1

      Well, fry me for an oyster!!!

      Very informative. This is the first I've heard of it. I had a feeling it was a labeling convention outside my scope.

      Thank you.

      I had not seen this either.
      Thanks for the info.

    85. Re: How badly coded are Windows applications? by cwsumner · · Score: 1

      No, the problem wasn't that they referred to it as "Y2K", the problem was the mass media got hold of a 'possible' problem that 'might' affect 'some' computers and spun the issue to be so large as to throw civilization back to the dark ages ...

      Or, they were correct and it really was going to cause massive damage but we fixed it, or most of it that we could find. Years later, we were still finding remnants of it.

      This ^

      The reason the essential systems didn't crash, was that several thousand programmers and engineers worked their butts off to fix it in time!

      And then the "wise" people claimed it was a false alarm.

      Like the fire alarm goes off, the building is evacuated, the fire department comes and puts out the fire... and the news reports that it was a false alarm because the building didn't burn down!
      8-P

    86. Re:How badly coded are Windows applications? by TemporalBeing · · Score: 1

      Actually there isn't and never has been. Let's see you post a link about it then, one that doesn't just point to speculation or to some hacked together fan version of Windows.

      No link; and I no longer have access to the CD.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    87. Re:How badly coded are Windows applications? by mdielmann · · Score: 1

      I once worked with a "programmer" who stored all dates as text, would break them down into day/month/year, and use crappy functions to add parts back and forth. I just couldn't get him to understand that more modern languages stored dates as decimals, with the time as the decimal portion and the date as the integer portion, and that simple math could get you the number of days between two dates. Needless to say, I avoided working on projects with him.

      It always pays to know the tools you're working with.

      --
      Sure I'm paranoid, but am I paranoid enough?
    88. Re:How badly coded are Windows applications? by tlhIngan · · Score: 1

      If something as stupid as the name of the operating system can trip up some applications, what about the rest of the code?

      Instead of giving programmers dozens of ways of checking and doing things, they should be forced into doing it one way. Easier to prevent mistakes, check for errors, etc.

      There ARE APIs to check the Windows versions.

      It matters naught if developers don't use them.

      Most developers ARE stupid, and they take shortcuts "to get it to work" that shouldn't be done because they didn't take the 5 minutes to actually figure it out.

      Things like assuming:
      * Windows is always in "C:\Windows". (It can be put in another directory, say \WINNT, or a different drive).
      * Programs are installed in "C:\Program Files" (well, on 64-bit Windows, 32 bit apps are under \Program Files (x86), that directory can be localized on non-English versions of Windows, it can be on another drive)
      * You can open a window to the full screen dimensions (breaks multi-monitors, especially if the geometry isn't rectangular)
      * Screen coordinates will never go negative
      * The root window is called "Program Manager" (check it out - Windows explorer creates a Program Manager window because there are still apps that assume that)
      * If a library function isn't documented, just use its ordinal value (guess what - they change! And now many DLLs have hardcoded ordinal values because devs did tis to get an API that's not public)

      etc. etc. etc.

      Now, most of these aren't in applications you can buy (because a developer that does these things rapidly finds out they have to do it properly or it breaks and have unhappy paying customers). No, most applications would be the bespoke ones that companies use internally - because things are very controlled, bad coding habits and mechanisms get ingrained and you don't find out about the problem until years later when you upgrade.

      And half of Windows consists of shims and adjustments to keep behaviors the same for these badly written apps. (And it's not limited to Windows, either, Linux is just as bad in the enterprise. Like calling os.system() in scripts to list files in a directory rather than native APIs, or "rewriting" shell scripts into Python that do nothing but call os.system() or other way of executing a command in a shell).

    89. Re:How badly coded are Windows applications? by baka_toroi · · Score: 1

      Windows 97 was the nickname for Windows 95 OSR2

    90. Re:How badly coded are Windows applications? by Dynedain · · Score: 1

      The code that turns up in most of the search results is trying to determine the correct executable and arguments to execute a command line (i.e. it picks the right one of "sh -c", "command.com /c", or "cmd.exe /c"). How would you propose doing this without determining what operating system you're running on?

      In a parallel to Javascript approach, you do a quick check to both in a user-invisible way at initiation of runtime. If one (or both) errors out, then you set a flag indicating whether the call is available or not.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    91. Re:How badly coded are Windows applications? by Dynedain · · Score: 1

      I think you're right... my coffee-addled brain was thinking of Windows 98SE

      --
      I'm out of my mind right now, but feel free to leave a message.....
    92. Re:How badly coded are Windows applications? by Agent0013 · · Score: 1

      I also have not heard of people still using software on Linux and Mac that is as old as stuff that people depend on with a Windows system. It probably stemmed from Microsoft's strong stance on keeping backward compatibility for as long as they can and not breaking old software. Now people out there rely on some unique and old piece of code that doesn't have a modern equivalent and will become upset with Microsoft if it breaks.

      --

      -- ssoorrrryy,, dduupplleexx sswwiittcchh oonn.. -Quote found on actual fortune cookie.
    93. Re:How badly coded are Windows applications? by TemporalBeing · · Score: 1

      I also have not heard of people still using software on Linux and Mac that is as old as stuff that people depend on with a Windows system. It probably stemmed from Microsoft's strong stance on keeping backward compatibility for as long as they can and not breaking old software. Now people out there rely on some unique and old piece of code that doesn't have a modern equivalent and will become upset with Microsoft if it breaks.

      Some truth. In part...

      ...for Linux you can typically get the source so someone keeps it up to date/forks/etc, or you have a vendor and you know it's the vendor's issue, not your distro's. So people don't complain about Linux and the distros that way, they'll complain about the vendor.

      ...for Mac, they just really don't keep APIs around terribly long. So Apple users are use to having to get new software or updated software on every change to the OS since its inception.

      But that goes exactly to what I was saying - the developers for Linux just expect that the system will do the right thing or be fixed; so they continue to the APIs available, and keep them up to date. Same generally goes for Mac.

      Where as Windows devs don't expect MS to fix anything, and MS tries to protect the Windows devs from everything; so bugs get baked in and then relied upon - what at one time could have been fixed, no longer can be. If you recall the "Compatibility Modes" that MS started with Windows XP, this was in large part why. It wasn't a simple "present X version of the APIs"; it was a "present X version of APIs and apply patches A, B and C to achieve behaviour D that was in API version X-1 and fixed in API version X+1". How did MS discover this info? Windows Error Reporting - where they fix bugs for you.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  4. Let Me Fix That by coop247 · · Score: 1, Funny

    if (os.startsWith("Windows 9") || os.equals("Windows Me")) {
    ShootYourself();
    }

    --
    //TODO: Insert catchy phrase
  5. And Java fail again by tuxrulz · · Score: 2

    And looking at the code examples like 90% of the cases where in the Java sources.

    1. Re:And Java fail again by thegarbz · · Score: 4, Insightful

      Because only Java attracts bad programmers? Or is it simply observation bias? Certainly Java is not the only language which can give you the OS name.

    2. Re:And Java fail again by binarylarry · · Score: 2

      or C# which looks almost identical to java in most cases.

      --
      Mod me down, my New Earth Global Warmingist friends!
    3. Re:And Java fail again by rudy_wayne · · Score: 4, Insightful

      And looking at the code examples like 90% of the cases where in the Java sources.

      Exactly.

      The problem isn't Windows, the problem is incompetent programmers. Instead of calling the proper API to get the version number, morons are doing things like

      if (os.startsWith("Windows 9")

    4. Re:And Java fail again by oobayly · · Score: 1

      I noticed the abundance of java files too, searchcode.com seems to match a whole load of Python files which don't even match the search string - go figure. However I wouldn't really call it observational bias - you run a search for a piece of text and you see a correlation in the results. The code fragment being searched for is "fairly" language neutral - it would match most CLR languages in addition to java, javascript, python etc. What's more interesting is why the OS detection is being done in the first place - the cynic in me says it's probably because they're using the OS version to make assumptions about file system locations.

      On the plus side, some of the java files are checking the version number as well as the OS name, so at least that's something.

    5. Re:And Java fail again by Anonymous Coward · · Score: 5, Funny

      The problem isn't Windows, the problem is incompetent programmers. Instead of calling the proper API to get the version number, morons are doing things like

      if (os.startsWith("Windows 9")

      You're right. Failing to close your parens is a sign of an incompetent programmer.

    6. Re:And Java fail again by squiggleslash · · Score: 2

      Well yes, because they're using a search string that happens to be the way it would be done in Java.

      --
      You are not alone. This is not normal. None of this is normal.
    7. Re:And Java fail again by jdschulteis · · Score: 1

      Because only Java attracts bad programmers? Or is it simply observation bias? Certainly Java is not the only language which can give you the OS name.

      Probably one bad programmer made the mistake of checking against "Windows 9" and assuming a match meant Windows 95 or 98, published the code, and then a bunch of other bad programmers copied the mistake.

    8. Re:And Java fail again by matthekc83 · · Score: 1

      And a lot of junior programmers just starting out who are taught Java in college.

    9. Re:And Java fail again by NJRoadfan · · Score: 1

      This shouldn't be a problem with native applications. The relevant Win32 functions (GetVersionEx and the now deprecated GetVersion) for retrieving the running Windows version doesn't use the strings to begin with.

      Looking at the github code strings, its likely something that can be patched/worked around in the JVM.

    10. Re:And Java fail again by julesh · · Score: 1

      What's more interesting is why the OS detection is being done in the first place - the cynic in me says it's probably because they're using the OS version to make assumptions about file system locations.

      Most of them are trying to choose between "sh -c", "command.com /c" and "cmd.exe /c" as a way to parse & execute command lines.

    11. Re:And Java fail again by julesh · · Score: 2

      Because only Java attracts bad programmers?

      Because only Java was designed to discourage operating-system-version-dependent code and therefore intentionally lacks a way of checking the operating system version except through a string; most other languages provide an API that gives you major & minor version numbers in integers, which is much more convenient.

    12. Re:And Java fail again by julesh · · Score: 1

      And looking at the code examples like 90% of the cases where in the Java sources.

      Exactly.

      The problem isn't Windows, the problem is incompetent programmers. Instead of calling the proper API to get the version number, morons are doing things like

      if (os.startsWith("Windows 9")

      Right. And what is that proper API in Java?

    13. Re:And Java fail again by chuckugly · · Score: 4, Funny

      C++

    14. Re:And Java fail again by Vlad_the_Inhaler · · Score: 1

      The search string was 9" which is why it came up with all those false positives. The obvious string to test would have been "Windows 9 but who are we to reason why?

      --
      Mielipiteet omiani - Opinions personal, facts suspect.
    15. Re:And Java fail again by Anonymous Coward · · Score: 0

      And looking at the code examples like 90% of the cases where in the Java sources.

      Exactly.

      The problem isn't Windows, the problem is incompetent programmers. Instead of calling the proper API to get the version number, morons are doing things like

      if (os.startsWith("Windows 9")

      No, the problem is that the Java platform these apps where targeting didn't allow you to do proper OS API version number checking.

    16. Re:And Java fail again by HyperQuantum · · Score: 1

      The whole point of Java is that it is supposed to be platform independent. So you shouldn't need to get the OS version at all.

      I know, I know, reality is different. But that might explain the apparent lack of such an API.

      --
      I am not really here right now.
    17. Re:And Java fail again by oobayly · · Score: 1

      No, the search string was:

      if(version,startswith("windows 9")

      I'm guessing the person who ran the search made the assumption the search engine query is comma delimited, but was in fact space delimited.

    18. Re:And Java fail again by Anonymous Coward · · Score: 0

      And now users of new Windows releases are held hostage by Microsoft (who in turn let themself be held hostage mere application programmers without a clue) who are encouraging bad code to stay around for even longer. fix the issue in the OS and let the application programmers fix their mistakes. This is a sickening "backwards compatible" attitude and I worry where else they have ignored correctness/security over this-breaks-horrible-shouldnt-exist-code.

    19. Re:And Java fail again by Anonymous Coward · · Score: 0

      The problem is with MS, since they are the only ones in a position to end this - by ignoring stupid people and going with 9. let bad programmers fix their bad programs.

    20. Re: And Java fail again by kenh · · Score: 1

      Wasn't the goal of Java to be able to run anywhere inside a JVM that insulated the underlying computer system from anything Java might want to do, creating code that was 'safe' to download and run from the Internet since it couldn't harm your computer?

      --
      Ken
    21. Re: And Java fail again by Bigjeff5 · · Score: 2

      Can't be, since Java programs have plenty of access to harm your computer.

      The stated purpose of Java (actually, one of 5) was platform independence - write once, run everywhere code that you can run on Windows, Linux, Mac, or any other spinoff that has a JVM. Java makes the independent VMs for each OS, so that programmers don't have to rewrite their software to run on multiple OS's. Any sandboxing for security came later. Sandboxing wasn't a specific goal, though one of the goals was that the language be robust and secure, as any language should be. There is no mention of protecting the system from malicious code, and really even running in a VM Java has way too much access to the system to do that.

      What's scary is some of these issues are in the JDK libraries, or at least appear to be. First one on the list is an OpenJDK fork, but it looks like this exact same code shows up in earlier versions of OpenJDK. It's more reasonable that a JDK might need to look at the OS version than Joe Schmoe's Java app, but really even then it shouldn't need to. And even if you really, really, super duper need to know the OS version, what's wrong with something like "if os.name startswith("Windows") && os.version 5 then throw new RuntimeException"? That catches everything earlier than XP, which is obviously what they want, and is far less likely to run into problems with a later version of Windows. A lot of other Java devs did it that way (though some still did a search for "Windows 9" instead of just "Windows"), which you can find by searching for ("Windows 9").

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    22. Re:And Java fail again by Anonymous Coward · · Score: 0

      Maybe because it's Java syntax and Java library calls?
      That would be a quite easy explanation, wouldn't it?

    23. Re:And Java fail again by Anonymous Coward · · Score: 0

      Yes, but C# allows for full strings in case statements, so the shortcuts programmers must take to avoid ugly chains of if/else statements for string parsing is minimized. It was added to Java 1.7, but I guess a lot of old code still exists, which is, of course, the entire point of this article.

  6. Isn't there a more specific property that doesn't rely on location specific strings?

    I mean the whole friggen world isn't English.

    1. Re:Doh! by Anonymous Coward · · Score: 1

      Windows is a name. They don't call it "Microsoft Ventanas" in Argentina.

    2. Re:Doh! by John+Bokma · · Score: 4, Funny

      Of course not, they call it Microsuave Ventanas

    3. Re:Doh! by ihtoit · · Score: 1

      programming languages are lexicon agnostic. What uses human readable commands in Business English (ie pick a 4GL, any 4GL) in America uses the exact same commands in the same programming language using the same character set in China. Apart from that, as "Microsoft Windows" is a collective trademark http://www.microsoft.com/en-us... refer to recent and not-so-recent decisions across the planet in which Microsoft lost cases claiming sole TM rights on the generic term "Windows" as it describes a plurality of glass panels in a frame, it's (as in name, logo/device, etc) protected intellectual property. Makes it easier than coding for two hundred languages for every little thing: code once, translate the output if you need to using the common interface.

      --
      Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
    4. Re:Doh! by jellomizer · · Score: 5, Funny

      I figured it had to do with Roman numerals.
      They skipped Windows 4 (IV) and they are skipping version 9 (IX)
      I figured there is a bug in the roman numeral check for the numbers the need to subtract before the value.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    5. Re:Doh! by Dragonslicer · · Score: 1

      Of course not, they call it Microsuave Ventanas

      Is that for users who are too sexy for their computers?

    6. Re:Doh! by John+Bokma · · Score: 1

      Like I, you mean? Of course!

    7. Re:Doh! by Dynedain · · Score: 1

      Yes. Microsoft provided an API for version detection.

      Developers were too lazy (or uniformed) to use it.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    8. Re:Doh! by Anonymous Coward · · Score: 0

      What do the developers' uniforms have to do with it?

    9. Re:Doh! by the+eric+conspiracy · · Score: 0

      He must be using a Microsoft spell checker.

  7. This is Java code by halfdan+the+black · · Score: 1

    Does anybody seriously write any platform specific desktop code in Java that needs to check the Windows version??

    What's the standard Windows API, or .net function to get the Windows version string? Doesn't this return actual version numbers and not a string that you have to parse?

    1. Re:This is Java code by Shados · · Score: 4, Informative

      Its the same thing as with the whole Document and settings vs C:\users. There's always been a good way to get it, but most developers suck balls and won't spend the 20 seconds it takes to figure it out.

    2. Re:This is Java code by Anonymous Coward · · Score: 0

      The code is less readable if you test for internal version numbers such as 4.00 or 4.10 instead of strings like "Windows 95" or "Windows 98" which everyone is familiar with.

    3. Re:This is Java code by thegarbz · · Score: 5, Informative

      GetVersionEx(Inout_ LPOSVERSIONINFO lpVersionInfo);
      Returns the major and minor versions, build number, platform id, service pack major and minor, and the product type.

      It basically spits out all the crap in that appears on the bottom right corner of windows when you boot up in safemode.
      Also unlike the stupid marketing names the OS versions actually make sense.

      Windows 8 returns version 6.2.

    4. Re:This is Java code by oobayly · · Score: 4, Insightful

      Shame there's not some method for inserting plain text into code that will explain what you're doing, but has no effect on the actual compiled application. Maybe we could call them comments or something.

      Or maybe there's some way of referencing a number, but with a name which describes what the number is so that it can be reused. It's be great if you could guarantee that the number couldn't be changed. Hmm, what could we call that?

    5. Re:This is Java code by halfdan+the+black · · Score: 1

      Right, I was expecting something exactly like this, and I'm pretty sure there's the equivalent in .net.

      I would say, probably 99% of Windows apps are written in either C++ or .net, they would just call either GetVersionEx, or whatever the .net version is, and they would have the exact major and minor version. So, it basically makes no sense using a Java example of getting the OS version string, as essentially nobody uses Java for any tightly integrated desktop app where you need to know exactly what version of Windows you're on.

      I do use a number of libraries in my code (C++), and all the ones I've seen give you standard major and minor versions which I check.

    6. Re: This is Java code by Anonymous Coward · · Score: 0

      That's why programming languages allow comments and user defined constants.

    7. Re:This is Java code by Nemyst · · Score: 1

      Which I've heard also created problems because (bad) programmers were testing for XP (ie. NT 5.1) and up by doing majorVersion >= 5 && minorVersion >= 1.

      Guess what happened when Vista (ie. NT 6.0) came along? It's rumored to be the reason for subsequent versions to stick to 6.x with x>0, though I'm also guessing the kernel hasn't changed that much since Vista, so it'd make sense to keep it at version 6.

    8. Re:This is Java code by PrismaticBooger · · Score: 1

      GetVersionEx(Inout_ LPOSVERSIONINFO lpVersionInfo);
      Returns the major and minor versions, build number, platform id, service pack major and minor, and the product type.

      Deprecated as of Windows 8.1. Unfortunately, what appears to be the only remotely adequate replacement for it requires resorting to WMI.

    9. Re:This is Java code by Anonymous Coward · · Score: 0

      That's the kernel version number. Windows XP actually used two kernels: 5.1 and 5.2. 8 runs 6.2 and 6.3. Windows 10 will likely use 6.3 or bump the build number if they need to make kernel changes against. I doubt they will, the kernel is pretty damn good in Windows 8, it's the OS sitting on top of it that sucks.

    10. Re:This is Java code by Anonymous Coward · · Score: 0

      Funny that you would say that because it actually doesn't do that since Windows 8.1

      Applications not manifested for Windows 8.1 will return the Windows 8 OS version value (6.2).

    11. Re:This is Java code by julesh · · Score: 1

      So, it basically makes no sense using a Java example of getting the OS version string, as essentially nobody uses Java for any tightly integrated desktop app where you need to know exactly what version of Windows you're on.

      The code I see in almost all of the search results isn't really trying to determine an exact version: it's trying to work out which basic operating system family is in use, i.e. distinguish between Windows-which-was-a-DPMI-DOS-Extender and Windows NT.

    12. Re:This is Java code by Anonymous Coward · · Score: 0

      How about "Variable"? Since the number can be used in varying ways and places.

    13. Re:This is Java code by shutdown+-p+now · · Score: 1

      No, that's the OS number. It just happens to be in sync with the kernel, usually but not always (as you noted, XP also used 5.2 - this was actually 2003 Server and XP 64-bit, with the latter being basically a rebadged 2003 Server). Win10 uses 6.4.

    14. Re:This is Java code by shutdown+-p+now · · Score: 1

      That's because you actually shouldn't be using it for anything other "greater than or equal to X" checks, so now it forces that model on you. If your manifest says that your app runs on 8.1, but doesn't specify any higher OS as supported, then GetVersion will never give you a number higher than 8.1 (but will give you smaller numbers if e.g. run on Win7). So you can reduce functionality or refuse to run on older OS, but you can't fuck up the version check and somehow render it unworkable on a newer OS.

    15. Re:This is Java code by Vlad_the_Inhaler · · Score: 1

      Just out of curiosity, when was that particular call (which is depreciated anyway) first implemented? Was it available under Windows 95?
      Depreciating it is also annoying - presumably whatever is replacing it has not been around forever so that will prevent it running on "legacy" systems.

      (I have never programmed under this environment so I don't know the specifics)

      --
      Mielipiteet omiani - Opinions personal, facts suspect.
    16. Re:This is Java code by Anonymous Coward · · Score: 0

      Fail. I think he meant constants. "Variables" doesn't fill this criteria: "It's be great if you could guarantee that the number couldn't be changed".

    17. Re:This is Java code by Anonymous Coward · · Score: 0

      Being old i would call them REMarks...

    18. Re:This is Java code by Anonymous Coward · · Score: 0

      And the only guaranteed constant numbers would be in ROM :-)

    19. Re:This is Java code by Anonymous Coward · · Score: 0

      Yep and windows 8 was the last version that that API call works reliably for.

      Starting with Windows 8.1, that API call will still return 6.2. Microsoft BROKE that API after 8.0.

      That API now returns whatever the manifest was set to during install of the product. This has been a major PAIN in MY Ass since MS did this. I have no f'in idea if Windows 10 propagates this or they fixed this.

      Don't believe me, go research it yourself. One now has to go through major code hoops to determine the actual minor version in Win 8.1.

      Running 8.1 Update 1?, good fucking luck trying to determine that...

      MS's "We know what's best for all developers' and their apps' " attitude is really starting to piss me off. I can only hope Win 10 fixed this, but I refuse to be an unpaid beta tester for MS and won't waste my time with Windows 10 until it's RTM, after they've finally made up their mind what it will actually be.

    20. Re:This is Java code by Anonymous Coward · · Score: 0

      The code is less readable if you test for internal version numbers such as 4.00 or 4.10 instead of strings like "Windows 95" or "Windows 98" which everyone is familiar with.

      I think you should stop using esoteric programming languages that don't support comments.

      Even BrainF**k and WhiteSpace support comments - as long as you don't include punctuation or spaces...

    21. Re:This is Java code by Anonymous Coward · · Score: 0

      I would apprecate it if you wouldn't call it depreciate.

  8. srly ? by mZHg · · Score: 2

    18 years as a developer, I've never used such a shitty test..

  9. Eughh by Anonymous Coward · · Score: 1

    Couldn't care less about Microsoft's reason for skipping a version number - can't stand the fact I've been reading about this for 2 days already. What's the point in reading Slashdot if it reports things days behind every other news source. I get there's the discussion element, but I used to trust Slashdot to keep me up to date - now I'm never interested or surprised in anything it runs. RIP...

    1. Re:Eughh by Anonymous Coward · · Score: 0

      lol, you trusted Slashdot.

    2. Re:Eughh by NoMaster · · Score: 1

      I commented on one the other day to say that the real purpose of Win10 was to keep everyone talking about it, and predicted we'd be seeing a post every day for a while.

      Somehow that got modded "-1, Troll" instead of "+1, Insightful".

      4 days. 4 posts about Win10 - the announcement story, the "will it cure cancer?" story, the "will it still love me?" story, and this one.

      Just saying...

      --
      What part of "a well regulated militia" do you not understand?
  10. I share the opinion of a Wikipedia IP editor by Lirodon · · Score: 1

    Mainstream media, please stop perpetuating this speculative misinformation. It is VERY unlikely, given that, according to an IP editor who removed my addition of this alleged, speculative information, "even if their assertion were correct, the confluence of events required to run on 95/98 *and* an unreleased Windows 9 without modifications is improbable. While that code exists in the wild (with modifications), none of it is remotely modern. They're using JDK6/7 internal test tools and code from a 13 year old version of jEdit as an example as to why "Windows 9" was skipped."

    1. Re:I share the opinion of a Wikipedia IP editor by smpoole7 · · Score: 4, Informative

      In fact, I can't speak for the latest versions of Windows (because it has been a while since I've programmed), but even as late as Windows XP, a call to "get version" returns something completely different from the marketing version number/name.

      For example, under Windows 95, GetVersion() would return "4.0." Under XP, it reports NT 5.1 or NT 5.2.

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

      --
      Cogito, igitur comedam pizza.
    2. Re:I share the opinion of a Wikipedia IP editor by Sowelu · · Score: 1

      With all the Java examples in there--I'm starting to wonder if Java, for some weird reason, doesn't do that. Don't ask me how. Maybe it has a lookup table in the JDK (fixable), maybe it calls a Windows SDK function that most people know better than to do. Either way I feel inclined to blame Java...which is always cathartic.

    3. Re:I share the opinion of a Wikipedia IP editor by _xeno_ · · Score: 1

      It doesn't. There's a set of three properties for the OS, and that's all you get. They're documented as follows:

      os.name Operating system name os.arch Operating system architecture os.version Operating system version

      Now you might be wondering, "well, OK, what sort of values does os.name contain?" And the answer is as you saw in the code shown "things like Windows 95, Windows 98, or Windows XP".

      os.arch contains things like x86 and amd64 but I forget exactly what it reports for which OSes. I think it's amd64 for all 64-bit x86 platforms, but I could be wrong.

      That final os.version reports the "real" Windows version, so it reports like "5.1" for XP and "6.0" for Vista. (Under Linux, it's apparently the kernel version.)

      Of course, the documentation doesn't provide any sort of "examples of what these values can contain" so the only way people would know is by trying out various VMs on various OSes. And even then the documentation is vague enough that I suspect a VM is OK in returning anything it pleases in those fields. Plus the user can override them by starting the JVM with -Dos.name=whatever.

      It's also worth noting that despite being an incredibly common thing, there's still no Java API for dealing with version numbers. There are on the other hand two UI toolkits (or maybe three, not sure what JavaFX counts as), at least three different ways of parsing XML I know of, two different "string buffer" classes, and two entirely different I/O libraries.

      (Although frequently the newer APIs use parts of the older APIs, so JavaFX is built on Swing is built on AWT and the "new" I/O library uses some (but not all) of the "old" I/O library. Welcome to Java.)

      --
      You are in a maze of twisty little relative jumps, all alike.
    4. Re:I share the opinion of a Wikipedia IP editor by Anonymous Coward · · Score: 0

      Everyone does version numbers differently. Is "00.01.05" before or after "v0.1.05a" and how do those compare to "r234859"?

      XML is a documented standard with an additional language that defines the structure of the particular document. Are you proposing a common version standard, similar to Ms, Ds, and Ys used for dates? If so, only new software may use it, you'd still want to support all the preexisting software.

    5. Re:I share the opinion of a Wikipedia IP editor by _xeno_ · · Score: 1

      There actually is a standard for Java version numbers, though, and in this hypothetical API, various OS versions would be represented using a common API, allowing consistent code that needs to ask for a version range.

      Of those numbers, none of them are valid Java version numbers.

      Then again, the current Java version (1.8.0_20) is also not valid by that spec. So, uh, yeah. Go Oracle.

      --
      You are in a maze of twisty little relative jumps, all alike.
    6. Re:I share the opinion of a Wikipedia IP editor by Dahan · · Score: 1

      While that code exists in the wild (with modifications), none of it is remotely modern. They're using JDK6/7 internal test tools and code from a 13 year old version of jEdit as an example as to why "Windows 9" was skipped."

      How do you figure the jEdit code is 13 years old? It may have been written 13 years ago, but if it's still doing the same bogus check today, that still counts. As of the time of this post, the current version of that file was last modified September 29, 2013 -- only a year ago -- and it's still doing the if(osName.contains("Windows 9")) check.

  11. Charms? by StonyCreekBare · · Score: 0

    If Windows 10 (or whatever they ultimately decide to call it) has that triple damned CHARMS screen, then NO THANKS! I am SOOOOO sick of that darn thing!

    1. Re:Charms? by Ravadill · · Score: 1

      Charms are gone in the preview version, such a small change, but it is a good one

    2. Re:Charms? by tehlinux · · Score: 1

      The charms bar isn't gone, but will be updated somehow; It is only for the touch version.

      --
      Most linux users don't know this, but the man pages were named after Chuck Norris. Chuck Norris fsck'ing hates noobs!
    3. Re:Charms? by zachdms · · Score: 1

      :'(

      --charms dev
      ps it's gone now are you happy
      pss <3

  12. I call hogwash by Excelcia · · Score: 5, Informative

    I call this hogwash. When you ask Windows what version it is in software, it doesn't return its marketing name (Windows 95, Windows 2000), it returns it's platform ID (1 for DOS based, 2 for NT based), and its version numbers in major, minor format. Windows 95 returned 4.0 (platform 1), Windows 98 returned 4.1 (platform 1). Windows 2000 returned 5.0 (platform 2).

    1. Re:I call hogwash by Anonymous Coward · · Score: 0

      Agreed. This is hogwash.
      What is Microsoft going to do next? Windows 12, Windows 13, etc., up through Windows 29, and then skip to Windows 40 because Windows 3.x apps checked for version 3?
      Any software old enough to care about Win9x is software that Microsoft does not care about supporting on Windows 9.

      No, what's really going on is that Microsoft decided they will make their next release a good release, and call it Windows 9. But then Microsoft is in such a hurry to cram a lousy Windows 10 down our throats, that they already started promoting Windows 10 before they officially acknowledged the good version that will come in between.

    2. Re:I call hogwash by Anonymous Coward · · Score: 1

      This is indeed hogwash. The string being checked in the java code is in fact hardcoded into the JVM. It calls the real Windows version API and then generates the string based on that. The code is here:

      http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/file/3562fc7500a4/src/windows/native/java/lang/java_props_md.c#l370

      Notice that a theoretical "Windows 9" would be identified as "Windows NT (Unknown)" or "Windows (Unknown)" which would not trigger the bug. If the java developers added Windows 9 support to java, they could make that function return any string they wanted. And they could also fix the one place in the JVM that actually does test it against "Windows 9*". Regardless, this is just a none issue, since nothing bad would happen even if they didn't fix it. All the other hits on the code search are false positives, many of them in software that doesn't even run on Windows.

    3. Re:I call hogwash by Pentium100 · · Score: 1

      Any software old enough to care about Win9x is software that Microsoft does not care about supporting on Windows 9.

      Without backward compatibility, Windows loses one of the major selling points.

      And the software might check for Windows 9x just so it can display an error that Windows 9x is not supported by said application.

      64 bit Windows do not support 16bit applications, so any software that runs on Windows 3x will not run on Windows 30, unless Microsoft goes back to supporting 16bit software on 64bit releases or still has a 32bit version of Windows 30.

    4. Re:I call hogwash by shutdown+-p+now · · Score: 3, Insightful

      You're assuming that people always ask Windows what version it is by using the appropriate API (i.e. GetVersion[Ex]). In practice, they do all kinds of creative things, especially when they realize that GetVersion can lie to them when run in compatibility mode or (starting with Win8.1) based on what they declared in their manifest, but they think that they really, really must know the actual version number (they never actually do need to know, and it inevitably leads to breakage in some future version, but people keep trying). And then you have people doing things like system("ver"), or trying to look up system DLLs and get their version info, or read resource strings from them etc.

    5. Re:I call hogwash by Anonymous Coward · · Score: 0

      Only Windows 95 returned "3.95" for the exactly same reasons as mentioned in TFA: http://blogs.msdn.com/b/oldnewthing/archive/2004/02/13/72476.aspx

    6. Re:I call hogwash by Anonymous Coward · · Score: 1

      You call hogwash after having perused to code already out there doing it the way you call hogwash? reality denier?

    7. Re: I call hogwash by Anonymous Coward · · Score: 0

      But can we really blame them? Getting the os version string in Windows is a real bitch, if you use the provided API then you would have to construct the string manually which also means that you have to update the function for every new Windows release since the scheme is not known in advance.

    8. Re:I call hogwash by Minupla · · Score: 1

      I did a bit of RTFAing and clicked through a link and found some examples:

      MaxPathLength.java in ManagedRuntimeInitiative (git://github.com/GregBowyer/ManagedRuntimeInitiative.git) Show 2 matches

                              isWindows = true;
                                if (osName.startsWith("Windows 9") ||
                                        osName.startsWith("Windows Me"))

      So there's at least some real world examples. Not totally hogwash methinks.

      Min

      --
      On the whole, I find that I prefer Slashdot posts to twitter ones because I don't get limited to 140 chars before
    9. Re:I call hogwash by mpe · · Score: 1

      What is Microsoft going to do next? Windows 12, Windows 13, etc., up through Windows 29, and then skip to Windows 40 because Windows 3.x apps checked for version 3?

      Though there's also "NT4" and "Windows 2000" to consider here.

      Any software old enough to care about Win9x is software that Microsoft does not care about supporting on Windows 9.

      Even if it does exist it would probably misidentity as "Windows 1".

    10. Re: I call hogwash by shutdown+-p+now · · Score: 1

      Why would you need an OS version string for anything?

      More importantly, assuming that you do, and you got it somehow, why the fuck would you use it for version checks?

  13. Windows 6 by bjackz0r · · Score: 1

    Windows 8 is really version 6.3. http://en.wikipedia.org/wiki/L...

  14. It's all those linux loving germans... by reg · · Score: 4, Funny

    Windows! Nein!

    Regards,
    -Jeremy

    1. Re:It's all those linux loving germans... by Anonymous Coward · · Score: 0

      Windows! Nein!

      In Finnish, "NT" sounds like a translation of "I don't work". Maybe that's why Linux took off there...

    2. Re:It's all those linux loving germans... by Overzeetop · · Score: 2

      Shame, too. NT was a fucking rock. Then they let the rifraf back in and it went to hell again.

      --
      Is it just my observation, or are there way too many stupid people in the world?
  15. navigator.userAgent by RyoShin · · Score: 3, Informative

    I'm reminded of checking for browser version in Javascript when you need to hack around a limitation or non-standard here or there (especially back in the IE6 days). Anyone worth their salt said "You don't ask the browser what it is, you ask what it can do" because the easy ways to check were also easy to spoof. So it was better to see if it threw an error when you did X, or if you could access property.Y, etc., then use those results to figure out which browser you were running in. I don't think it's done as often these days, partly because of engines catching up and partly because of frameworks doing it for you.

    Anyway, I don't know how trivial it would be to spoof the system information, but relying on the system to report its proper version doesn't seem like a good idea to me. Speaking of version, code like the last link is looking at the marketing name when looking at the actual version (i.e. Windows 6.1) would be better. Maybe Microsoft should just go with the internal version number: it will cause as much marketing confusion as Windows 10, avoid the "Windows 9" checks, and make the internal/marketing names more consistent.

    1. Re: navigator.userAgent by Anonymous Coward · · Score: 0

      Checking for feature support directly is a great sentiment... in theory. It's not practical for Web browsers. How is the Web server supposed to ask the browser what box model it uses? Or whether it supports certain CSS attributes? There is no API for querying this, and if there was, it would have to ask for so many different features, that most of the traffic would be feature detection rather than content.

    2. Re:navigator.userAgent by Anonymous Coward · · Score: 0

      Anyway, I don't know how trivial it would be to spoof the system information,

      ... which is what DOS 5.x and above could do outof the box.

      but relying on the system to report its proper version doesn't seem like a good idea to me

      Its moot anyway: when you are at a point that you actually can check that kind of data there is a good chance that the program already has been refused because (OS-version specific) staticaly-linked DLLs or functions therein are not found.

      As to that, I've wondered why the "only runs on XXX" check is not part of the OS-es process of loading the executable (using info outof the PE header?), so it can (optionally?) display an apropriate message about the mismatch itself.

    3. Re:navigator.userAgent by Bigjeff5 · · Score: 2

      Maybe Microsoft should just go with the internal version number: it will cause as much marketing confusion as Windows 10, avoid the "Windows 9" checks, and make the internal/marketing names more consistent.

      This is not any fault of Microsoft's. The first result is from a fork of OpenJDK 6, which was released just 3 years ago, when "Windows 7" was a thing, and other results indicate this bad code has been in OpenJDK since at least version 1.7, which would be around '06-'07. God only knows how much other software out there does it this poorly.

      These aren't legacy Microsoft apps that are having issues, these are modern, popular third party apps that have been coded very poorly, and Microsoft gets to deal with it. I imagine MS devs started installing third party apps to test compatibility, started seeing results like "Windows 9x is not supported", and just said "Oh shit!"

      Seriously, how is Microsoft supposed to detect and work around that behavior? It's software correctly calling MS API's and then doing utterly retarded things with them.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    4. Re:navigator.userAgent by RyoShin · · Score: 1

      I'm not saying it's Microsoft's fault, but if they're going to do "jump" a version in large part due to sloppy third parties I think they could do it in a different way. Of course, the way I suggested means they'd run into this same problem when they reach Windows 7.0...

      Personally I think they're hampered enough in the public with the Win8 debacle that they should just say "screw it" and do a proper Win9. All of this assumes that is the reason they're jumping to 10, though.

  16. This is the stupidest thing I've ever heard by NoNonAlphaCharsHere · · Score: 2

    So you're telling me that Microsoft decided/had to skip a version number because of existing Java code? Rly? Srsly?

    1. Re:This is the stupidest thing I've ever heard by BarbaraHudson · · Score: 1

      Seeing as the examples are for java, it's braindead before birth. Written by someone who doesn't even know that the System class has ways to get the os.name, os.arch, and os.version. Funny if they think that if the test fails, it defaults to Window 7, and they try to run it on a non-windows-hosted java runtime.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    2. Re:This is the stupidest thing I've ever heard by julesh · · Score: 1

      So you're telling me that Microsoft decided/had to skip a version number because of existing Java code? Rly? Srsly?

      Yes, I can believe it. Microsoft needs to sell the latest version of Windows to all of its big corporate clients, and almost all of them run custom Java applications. Java applications are quite likely to have bugs like this because Java doesn't provide an easy way to get the operating system version number.

    3. Re:This is the stupidest thing I've ever heard by Anonymous Coward · · Score: 0

      Just trying to find out what operating system a Java program is running on is a bug.

    4. Re:This is the stupidest thing I've ever heard by Overzeetop · · Score: 1

      Which is more expensive: changing a marketing number before marketing has even begun, or asking thousands of corporations to rewrite their custom software. Yeah, it really can be as simple as that.

      --
      Is it just my observation, or are there way too many stupid people in the world?
  17. better name by goombah99 · · Score: 5, Insightful

    they should have just changed the whole name from "windows" to "Balmers gone, and its safe to us windows again, please come back".

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:better name by Anonymous Coward · · Score: 1

      Only odd-numbered versions of windows were ever worth using. This would have been such a version, so either Microsoft is trying to break that trend and make even numbers the good ones now, or they have just doomed what would otherwise have been a solid release.

    2. Re:better name by Anonymous Coward · · Score: 1

      XP and Vista are numbers?

    3. Re:better name by Anonymous Coward · · Score: 0

      What about Windows NT 4?

    4. Re:better name by Anonymous Coward · · Score: 0

      they should have just changed the whole name from "windows" to "Balmers gone, and its safe to us windows again, please come back".

      Have you tried it?

      It's neither safe nor pleasant.

    5. Re:better name by The+Grim+Reefer · · Score: 1

      Only odd-numbered versions of windows were ever worth using.

      Windows 2000?

      Windows 98/98SE, especially in comparison to 95?

      NT 4.0?

      Server 2003 was the last decent server edition?

    6. Re:better name by Beck_Neard · · Score: 1

      All versions of windows have internal version numbers. XP's was 5.x I believe.

      --
      A fool and his hard drive are soon parted.
    7. Re: better name by Anonymous Coward · · Score: 5, Funny

      2008 is growing on me, but really after half a decade it's likely just Stockholm syndrome.

    8. Re:better name by Ol+Olsoc · · Score: 1

      XP and Vista are numbers?

      If Microsoft says so.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    9. Re:better name by chuckugly · · Score: 1

      Vista, 7, 8, 8.1, and 10 are all 6.x .....

    10. Re:better name by drkim · · Score: 1

      they should have just changed the whole name from "windows" to "Balmers gone, and its safe to us windows again, please come back".

      Have you tried it?

      It's neither safe nor pleasant.

      Win 7 was out under Balmer, and it was quite good.

    11. Re: better name by jaseuk · · Score: 1

      Nah

      r2 is fine.

      *2000 = workstation 2000
      2003 = windows XP server
      *2003 sr2 = windows xp sp2 server
      2008 = windows vista server
      *2008 R2 = windows 7 server
      Server 2012 = windows 8.0 server
      *Server 2012 r2 = windows 8.1 server

      * prefix are the ones I've generally been happy with. The others have been pretty looking turkeys (as you'd expect from desktop editions)

      Jason

    12. Re:better name by budgenator · · Score: 1

      I believe that would be Windows NT 5.1.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    13. Re:better name by ILongForDarkness · · Score: 1

      corporations = people, money = freedom of speech, MS has lots of money so if they say Vista is a number than most people agree.

    14. Re:better name by SkimTony · · Score: 1

      And Windows 10 is using NT kernel 6.4. 6+4=10. Windows 8 was 6.2 (6+2 = 8), and Windows "9" was actually Windows 8.1 (Kernel 6.3, 6+3 = 8+1 = 9). And if this sounds absurd, well, look around - it's not that implausible compared to the other craziness around here.

    15. Re:better name by The+New+Guy+2.0 · · Score: 1

      Windows isn't safer than Mac yet...

    16. Re: better name by Cramer · · Score: 1

      And everything beyond 2003 has been a bloated pig.

      and my definition of not bloated... NT 4.0 Server. Runs perfectly on my (now beyond ancient) dual pentium 200, with 64M (yes, MEG) RAM. Completely booted in under a minute, and there's dozens of services it runs. Through a few tricks, it can be run without a GUI at all. (or "did" as it hasn't been used in a decade.)

  18. 9.x?, Don't you mean 4.x? by Anonymous Coward · · Score: 0

    IIRC: Didn't Win9x/ME versions return 4.0x or something (seeing as how the version numbers internally were the next up from the 3.x line)

    I seem to remember this from back then and how some software as a result had to look for "NT" to try and determine whether it was Win95/98/ME or NT 4.0 because the number alone wasn't always clear.

    I could be remembering wrong, It's been a long time since I've seen or dealt with these versions.

  19. What happened to Bill Gates? by dibdublin · · Score: 0

    Something seems a little off here. First, wtf happened to win 9? The media has been discussing win 9 for sometime, and all of a sudden, the focus is on win 10, as if win 9 has been forgotten. Also, I recently watched a video of Bill Gates being interviewed about what he thought of the new Apple Pay, and the Bill G. I saw in the video didn’t look quite like the Bill G. I remember. And yes, I’m sober.

  20. Why not create a new API version function? by JoeyRox · · Score: 2, Funny

    Old function: GetVersion() and GetVersionEx() [for Windows 8 and older]
    New function: GetVersionEx2() [for Windows 9 and newer]

    Seems a less intrusive solution that jumping a whole major Windows revision.

    1. Re:Why not create a new API version function? by NoNonAlphaCharsHere · · Score: 4, Funny

      Fuckin' PHP programmers! You guys need to die off. How about a GetReallyFor ReallyHonestThisTimeIMeanItVersionNumber()? Or are we going to be using a GetVersionEx47() at some point?

    2. Re:Why not create a new API version function? by Nemyst · · Score: 1

      PHP? You do realize APIs like DirectX have stuff like CreateDXGIFactory, CreateDXGIFactory1 and CreateDXGIFactory2, all to support new variants of the API? It wouldn't be unheard of to add another new variant, though unlike in those cases it wouldn't be to add new functionality that wasn't integrated into the old interfaces.

    3. Re:Why not create a new API version function? by Dahan · · Score: 2

      MS already basically did that... In Windows 8.1 and later, GetVersionEx() lies about the version number (it returns Windows NT 6.2, aka. Windows 8.0) unless the developer has specifically marked the EXE as compatible with Win8.1: Operating system version changes in Windows 8.1 and Windows Server 2012 R2.

      But this probably won't help with broken Java code though, since I'm sure Oracle will mark java.exe as compatible with Windows 9/10, and had MS not decided to jump to Win10, it would've returned "Windows 9" for os.name.

    4. Re:Why not create a new API version function? by Anonymous Coward · · Score: 0

      Oh my, the obligatory PHP reference. You must be so cool and/or a great programmer since you don't program in PHP and talk shit about it. And stuff.

    5. Re:Why not create a new API version function? by radarskiy · · Score: 1

      What do you intend to pass as the result to the old functions? If you claim to still be Windows 8, then you can never deprecate any features that were in Windows 8. In that case you don't actually need to tell any calling program anything since the Windows 8 API will be present forever.

    6. Re:Why not create a new API version function? by Anonymous Coward · · Score: 0

      Wow, that's pretty amazing. Basically, they're saying, so many programmers screwed up checking for versions with this function that going forward, we're simply going to lie about what version the OS is. Here, we're giving you a set of new functions that are so absurdly simple to use that you can't possibly screw them up.

      Essentially, it's a set of functions that looks like this:

      IsWindowsXPOrGreater()
      IsWindowsXPSP2OrGreater()
      IsWindows7OrGreater()
      etc.

      Ok, I understand MS's position here. They're right - it would be really, really hard to incorrectly use these functions. There are a bunch of idiot programmers out there who, for whatever reason, would code against a specific major version instead of checking for versions *less than* a specific version. Or, they got the logic wrong when trying to check against both the major and minor versions - which would be admittedly easier to do.

      This problem was apparently so widespread that MS never dared advance Windows' major version number beyond 6, simply because a crapload of poorly written installers or applications would fail to run simply because of bad code, not because of compatibility issues, yet MS is the one who gets the blame for intentionally making apps incompatible.

      Of course, now the problem is that developers actually have no simple way of checking for actual version numbers going forward, say, for diagnostic purposes, without using the new APIs, and doing that is (purposefully) going to be very difficult to do.

    7. Re:Why not create a new API version function? by zyzko · · Score: 1

      The "real" functions people are joking about when talking about PHP mostly come directly from mysql API.

    8. Re:Why not create a new API version function? by Anonymous Coward · · Score: 0

      Why? What sense does it make to make people fuck with code, which could invoke the law of Unintended Consequences, instead of just upping a revision number which is, ultimately, meaningless?

  21. I look forward to the next time this is a problem by Anonymous Coward · · Score: 0

    ...with Windows 100.

  22. In other words... by Anonymous Coward · · Score: 0

    marketing substituting for crap programming.

  23. massive hole in this claim by ihtoit · · Score: 4, Insightful

    Considering the industry move to 64-bit (how long ago now?), how easy is it to get a 16-bit DOS or a 32-bit Windows app to run in a 64-bit *NT* environment?

    Between 16 and 32 bit, you had (for 9x) the fact that the kernel was actually 16-bit but could address a 32-bit address space, for 32-bit NT systems you have WOWExec (a DOS VM with a shared memory space) but for running 16-bit apps on 64-bit platforms you have to go one step further than a compatibility subsystem (ie WOWExec) and run the app in a third party sandbox - or virtual machine, if you will - such as VirtualBox running a dedicated DOS or 9x session in a segregated memory space. Other esoteric limitations particularly in 64-bit Windows versions prompted Microsoft to issue an update which included zero-length root files (AUTOEXEC.BAT and CONFIG.SYS among others) in August 2010.

    Long story short, if you're running into problems with "Windows 9" it's nothing to do with pulling a version number, you're trying to make a 64-bit system do a 16-bit thing which it was clearly not meant to do and will fail spectacularly anyway.

    --
    Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
    1. Re:massive hole in this claim by Anonymous Coward · · Score: 0

      You are now to be made painfully aware that the majority of work done at microsoft in the windows division does NOTHING but make sure old programs work.

    2. Re:massive hole in this claim by Anonymous Coward · · Score: 0

      >Considering the industry move to 64-bit
      Ahahaha, how uninformed are you?
      If you are talking about enterprise Java crap sure...

      The number of companies still shipping 32 bit binaries is huge, for example most Windows games still are distributed as 32-bit binaries.
      Lots of older code bases had lots of hacks that would break the code if compiled for 64 bits targets, especially those in C++.
      Also 64 bit systems run 32 bit apps natively.

    3. Re:massive hole in this claim by ihtoit · · Score: 1

      and the prize for reading comprehension failure goes to pretty much every AC who responded to Parent. Read the last paragraph again. It deals with the inability of NT64 to run 16-bit DOS code natively. Read the meat again. That deals with adding a compatibility layer on NT32 to run 16 bit and 32 bit DOS code. Fuck me, the selective blindness demonstrated by the nerd community is astonishing.

      --
      Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
  24. Re:How bad is the Microsoft API? by Anonymous Coward · · Score: 0

    if (os.MajorVersion >= 5 && os.MinorVersion >= 1){ //win xp, not 2000, new versions of things rock! //oh yeah, vista is 6.0. crap.
    }

  25. Windows Nine? by BringsApples · · Score: 1

    Why not just go with "Windows Nine".

    --
    Politics; n. : A religion whereby man is god.
    1. Re:Windows Nine? by ruir · · Score: 1

      I really prefer much Windows None.

    2. Re:Windows Nine? by BringsApples · · Score: 1

      You mean "Windows Nein"?

      --
      Politics; n. : A religion whereby man is god.
  26. Re:How bad is the Microsoft API? by Anonymous Coward · · Score: 0

    There is such a function, but as a Windows programmer it's hard to guess even the existence of a hidden sensible versioning system when all we see are strings like "Vista" and "XP" on marketing material.

  27. Re:How bad is the Microsoft API? by Dahan · · Score: 1

    Windows does return integers. See the dwMajorVersion and dwMinorVersion members of the OSVERSIONINFOEX struct. This seems to be a Java-specific issue, or at least specific to Java programmers--for whatever reason, a lot of Java code checks the "os.name" property to determine the OS version instead of "os.version".

  28. No Windows 11 then... by RaccoonBandit · · Score: 1

    ... because, you know, it might get confused with Windows 3.11 ?

  29. Bullcrap by Dan+East · · Score: 2, Informative

    That's a load of BS. Is there even an API that returns the "marketing" version of the OS name? I know of no way to programmatically get the text "Windows 95" or "Windows 98", etc, in the Windows API, unless I build that string myself. The APIs that return the OS version use a completely different versioning convention (one that actually makes sense and is consistent). Maybe there is some way to dig through the registry and find that, but any app doing that deserves to be broken anyway.

    Further, the example and "proof" in that second link is also a load of crap. That is only via some Java API, which does exactly what I said above, which is turn the actual internal version into some higher-level OS name. Trust me, MS doesn't give the slightest concern about any broken Java apps.

    They named it Windows 10 for marketing reasons. End of story. Quit being retarded.

    --
    Better known as 318230.
    1. Re:Bullcrap by Your.Master · · Score: 5, Informative

      Type this into powershell:

      (Get-WmiObject Win32_OperatingSystem).Caption

      There's your marketing name.

      Took about 60 seconds of Googling to not only find this, but to find it in code that was making the same sort of error we're talking about (not literally the number 9). See this: http://ss64.com/ps/get-wmiobje... -- that's using the -match operator which is a regex comparison, and thus inferring whether it's a server build by a mismatch between the marketing name and the build name..

      Granted, I don't think powershell existed on Windows 95. I expect it's just wrapping an API that did exist. If it comes right down to it, the registry itself has the versioning information available to anybody who can use ctrl+f in regedit to find the key, and people do indeed do that.

      Trust me, MS doesn't give the slightest concern about any broken Java apps.

      No, I don't trust that statement in the slightest. Why would you think that? It's very contrary to Microsoft's behaviour in the past.

      I have no idea why they chose to name Windows "Windows 10", and I'm not convinced of this, but this is not so implausible as you seem to think.

    2. Re:Bullcrap by Dynedain · · Score: 1

      Apparently the JVM takes the OS reported info and constructs marketing-friendly variables.

      So, blame Oracle as well! Between them and Microsoft, I'm sure there isn't anything they couldn't screw up.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    3. Re:Bullcrap by BitZtream · · Score: 1

      Exec command.com or cmd.exe, using a pipe to read the output, parse it.

      Or you use some shitty language/library that doesn't give you access to the standard API calls.
      A perfect example would be someone using code which depending on other code like this:

      http://stackoverflow.com/quest...

      Rather than properly handling the response directly and correctly, some apps provide wrappers like this to scripting languages rather than exposing the proper version information.

      Bad code is what it comes down to in every case, but in the real world you have to take into account that most users are not recompiling programs to fix bugs due to shitty developers that stopped developing the app 12 years ago and there is no source available. This is something that people have to deal with daily.

      Microsoft attempts to work around these problems, as does Apple to a lesser extent. Linux pretty much just says 'fuck'ed', hence the massive number of commercial applications for Linux relative to OS X or Windows (Sarcasm)

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    4. Re:Bullcrap by Dahan · · Score: 3, Interesting

      That is only via some Java API, which does exactly what I said above, which is turn the actual internal version into some higher-level OS name.

      So what do you think that Java API would return on Windows 9? Don't you think Oracle would have it return the string "Windows 9"?

      Trust me, MS doesn't give the slightest concern about any broken Java apps.

      Perhaps you should read some of the stories on The Old New Thing about the hoops MS jumps through to maintain compatibility. Here's one (of many). In that one, we find that MS changed the internal implementation of critical sections in Vista, but found that some programs were looking directly at the internals instead of using the API. So in order to not break those programs, MS made sure the value in the internal struct people were peeking at had the value those programs were expecting. Keep looking back through the archives and you'll find dozens of examples of MS doing crazy stuff just to keep programs working in newer versions of the OS. And with many Java apps being big and enterprisey, you can be sure that MS is going to do whatever it can to keep them from breaking on Windows 9^H10.

    5. Re:Bullcrap by julesh · · Score: 1

      Trust me, MS doesn't give the slightest concern about any broken Java apps.

      Trust me, they do. Windows 10 won't fly if they can't get corporate types to adopt it. The corporates won't adopt it if their large number of custom (and frequently very shoddy) Java apps (in use in 90% of large corporations according to a recent survey) won't run. MS cares about making sure Java apps work OK.

    6. Re:Bullcrap by shutdown+-p+now · · Score: 1

      Granted, I don't think powershell existed on Windows 95. I expect it's just wrapping an API that did exist.

      Yes - this is WMI, which predates PowerShell and .NET in general. It's an old API - originally introduced in 1998, if I remember corerctly - and has been used heavily in Windows admin scripts (usually in VBS) since then. It is also readily accessible to any application that wants it.

    7. Re:Bullcrap by DigiShaman · · Score: 2

      So if not technical, I believe the reasons for jumping past 9 and to 10 is for marketing reasons (really psychological). The corporate sector is still predominately running Windows 7 on all newer machines. Being windows 8 is based of the mobile content consumption (not tuned for multi-monitor / multi-tasking workflow), many companies purchased through Dell to exercise their downgrade rights from a Windows 8 license to running Windows 7. Windows 8.1 still didn't introduce the Start Menu. In fear of having Windows 9 being viewed as yet-another release of the same old new shit, they choose Windows 10 in hopes of corporate america seeing it as the true successor to Windows 7.

      --
      Life is not for the lazy.
    8. Re:Bullcrap by Anonymous Coward · · Score: 0

      Trust me, MS doesn't give the slightest concern about any broken Java apps.

      No, I don't trust that statement in the slightest. Why would you think that? It's very contrary to Microsoft's behaviour in the past.

      I have no idea why they chose to name Windows "Windows 10", and I'm not convinced of this, but this is not so implausible as you seem to think.

      For example they removed PAE from XP because they got many complaints about buggy 3rd party drivers.

    9. Re:Bullcrap by Anonymous Coward · · Score: 0

      Frankly, any app comparing the "display name" of the OS to determine function compatibility in this way SHOULD have been updated by now, I mean it is 2014 after all. That's got to be the slackest way to determine a version of Windows that's possible.

    10. Re:Bullcrap by mrprogrammerman · · Score: 1

      Check out http://www.theregister.co.uk/2... (scroll down to oldnewthing). It's a parody of the Old New Thing blog but it's really truth in fiction and illustrates why Windows APIs are so difficult to call and probably why developer tend to take shortcuts.

    11. Re:Bullcrap by Anonymous Coward · · Score: 0

      That's a load of BS. Is there even an API that returns the "marketing" version of the OS name? I know of no way to programmatically get the text "Windows 95" or "Windows 98", etc, in the Windows API, unless I build that string myself. The APIs that return the OS version use a completely different versioning convention (one that actually makes sense and is consistent).

      Yes, the very same function that retrieves the binary OS version numbers also fills the relevant structure with the OS name string in the szCSDVersion field. It has been this way since at least Win95 and WinNT4 (note that I linked to the older structure layout; the newer layout is a superset). If you're a sufficiently confident Windows programmer to call BS on this, it's astonishing that you're unaware of it.

      The premise of the TFA is still broken, though. A test for "Windows 9" as a method of avoiding the Win9x family would fail for "Windows Me" or "Windows Millennium" (I cannot recall how the function reports that OS name). Further, application compatibility settings, including those which allow the OS to lie to an application about the version, entirely mitigate the consequences of any proposed broken test for "Windows 9" text. Finally, Win8.1 and later lie to applications by default unless the application either includes recently specified manifest entries, or uses the newly introduced version helper functions. Outdated applications obviously won't be using either of those, so they can never see the actual post-Win8 version string from the API, thereby rendering any broken "Windows 9" test moot.

      Maybe there is some way to dig through the registry and find that, but any app doing that deserves to be broken anyway.

      I cannot be sure without looking it up, but the Application Compatibility Toolkit might provide a way to configure an application-specific registry redirect for applications which exemplify this level of programmer ignorance.

      Trust me, MS doesn't give the slightest concern about any broken Java apps.

      No, MS has a strong record of placing a high value on backward compatibility. If some popular Java app (or entire SDK version) won't run properly, MS knows the users are more likely to blame them, not whatever app/JVM vendor is actually at fault.

      They named it Windows 10 for marketing reasons. End of story. Quit being retarded.

      Yes and no. I think it's an in-joke. The "10" actually represents a binary 2, indicating their second attempt at a tolerable Win7 upgrade...

      - T

  30. hum by Anonymous Coward · · Score: 0

    Why not just label the OS as Windows 9 update 1 or Revision 1 temporarily until Windows 10 gets released.

    The new UI menu is a mess with the Metro attached to it but this can be solved my removing all tiles from it and the apps in the menu are too damn small to see and takes a while to scroll through them, this is why I prefer the large Metro tile on a single screen. It would of been nice to have the option to change the taskbar and title bars to transparent and solid.

    An Aero type thing would of been nice also for the UI's to make things less nauseating. I get too much eye strain and nauseated from the simple colors regardless of changing my monitor settings on the physical panel or catalyst drivers. Or it could be anxiety from looking at it. But the fact is I still like windows 8.1(before update 1), it's very intuitive.

  31. so that's that by Anonymous Coward · · Score: 0

    Now can somebody explain "Xbox One?"

    1. Re:so that's that by donaldm · · Score: 1

      Now can somebody explain "Xbox One?"

      Yes, it is supposed to be the "Xbox" that is is going to be the "one" device for all things in your living room. Pity no one told Microsoft that "Xbox one" can be abbreviated to "XBone" and after the numerous 180's the XB1's name should have been changed to XB180 or to keep the revisions correct XB540 which would be more in-line with their current numbering system.

      Actually the XBox's numbering system can be better explained in simple maths terms. "X" is normally used to designate an unknown number so "Xbox" would translate to "Unknown Box" so being fair and using the abbreviations that the Playstation uses "XB1" would translate to "Unknown Box version 1" which we know that can't be true since there is already an "Unknown Box" and version 2 should translate to "Unknown Box version 2" or XB360 as it is more popularly known.

      No! No! that can't be right. The original "Unknown Box" must be version 0 then the next release must be "Unknown Box version 1" (XB360) therefore the next release should be "Unknown Box version 2" (XB1), This now proves that 0 is greater than 360 (great so far), and 1 is greater then 360 Err!!

      All this shows that Microsoft is really bad as simple maths :)

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    2. Re: so that's that by Anonymous Coward · · Score: 0

      The original xbox design called for being upgradable like a pc. Also, it ran direct X.

  32. We'll know for sure... by tomhath · · Score: 0

    I'll wait until I see a jump from Windows 1999 to Windows 2001 to be sure about this.

  33. Product Name != Version Number by enter+to+exit · · Score: 1

    Considering windows 95 and 98 would return an version number of 9, there is no reason that Windows 9 couldn't have returned a totally different number, say 10.

    I bet it they went with 10 only as a symbolic leap from 8/8.1.

    1. Re:Product Name != Version Number by shutdown+-p+now · · Score: 1

      Windows 95 would return version number 4.0, actually. 98 was 4.1.

      But there are many, ahem, "creative" ways to obtain a version number, some of which would result in the marketing name.

  34. But what about me? by Anonymous Coward · · Score: 0

    My software looks for "Windows 1" to detect Windows 1.0, you insensitive clods!

  35. Probably right by Anonymous Coward · · Score: 0

    but still better than Windows 2.. in binary

  36. You've got it backwards by Eevee · · Score: 2

    The problem isn't making sure code that worked on Windows 95 still works. It's code that wouldn't run in the DOS code tree, but will still run in the NT tree, and has code that prevents trying to run it on older systems...and, instead of checking for Windows_NT and proceeding, checked for Windows_9* and stopped.

    And, for the record, on a Windows 7 box, the OS environment variable is still "Windows_NT". Somebody out there must have a 95 (or 98) box still running that could check if it shows "Windows_95". ("echo %OS%", but if you've still got a box that old, you knew that.)

    1. Re:You've got it backwards by Bigjeff5 · · Score: 2

      OpenJDK does it exactly like this. Instead of looking for os.name "Windows" and os.version 5.0 and throwing an error for everything else, it actually explicitly looks for "Windows 9" or "Windows ME" and throws an error if it finds them.

      So OpenJDK (and plenty of other apps like it) doesn't think it can run on Windows 9 because OpenJDK developers suck at coding, and Microsoft has to deal with it.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  37. Knuth by weilawei · · Score: 1

    Premature optimization is the root of all evil.

  38. the real reason by Anonymous Coward · · Score: 0

    7, 8, 9

  39. Re:How bad is the Microsoft API? by _xeno_ · · Score: 1

    If your code is old enough to be checking for Windows 9x, chances are you're really asking "am I running under NT, or 9x?"

    And os.version is 100% useless for that, since Windows NT and Windows 95 could both (honestly) report an os.version of "4.0".

    So instead they checked the os.name since that check was easier and you had two "4.0" lines of code you wanted to tell apart. (Of course, then there was Windows ME. Oops. Of course, they could have checked for Windows NT. But then there was Windows 2000. Oops.)

    Of course, the real problem is that the Java API for checking the underlying OS version sucks ass and is literally a collection of three strings that have no well-defined values. (What's os.name under Linux? Just "Linux"? "GNU/Linux"? The distro name? I guess any of those are just as valid!)

    You'd think by Java version 8 they could have added some better API for dealing with the OS like something as simple as an "os.family" value ("Windows NT", "OS X", "Linux") and APIs for dealing with comparing version numbers. But, nope. I mean, after all, there's a spec for what version numbers should look like but the API for dealing with them still processes them as strings! (Well, there is java.lang.Package.isCompatibleWith(String) which would still be useless in this case.)

    --
    You are in a maze of twisty little relative jumps, all alike.
  40. Bullshit reason by linebackn · · Score: 1, Informative

    Someone at MS is just pulling this out of their asses to try and cover that Microsoft has no clue what they are doing.

    So they were able to easily query the code for a few thousand applications online that made this version check mistake. Big deal.

    Compare this to how many applications out that that have broken because of other minor OS changes combined with bad programming. I've seen piles of that myself, and Microsoft never bothered this hard to keep compatibility for any of those.

    1. Re:Bullshit reason by Bigjeff5 · · Score: 1

      Someone at MS is just pulling this out of their asses to try and cover that Microsoft has no clue what they are doing.

      So they were able to easily query the code for a few thousand applications online that made this version check mistake. Big deal.

      Pay attention. It's not a few applications. It's all Java apps. All of them. Anything written using OpenJDK is going to fail, because it checks the runtime version and throws an inappropriate error. Hell, if the JVM uses the same libraries as the JDK, those aren't even going to run. That's not a few thousand apps online, that's millions of apps, online and off, professional and amateur.

      So the Java devs wrote shitty code, and it's Microsoft's fault? Nice. What a fucked up way of looking at things. It's clear you hate Microsoft for some obscure, personal, bullshit reason, but that's a huge stretch. All the Java guys had to do was look for "Windows" and the actual version number instead of "Windows 9" and there is no problem. But no, they had to be dumbfucks about it. It's not even easier than the better alternative - it takes MORE code to write it the shitty way instead of thinking for a whole minute and coming up with a better solution.

      I imagine what actually happened at Redmond was something like this: MS dev starts installing applications, testing compatibility, and starts seeing messages like this "This program is not compatible with Windows 9x". Oh shit. Test some more apps, and "Runtime error - wrong OS version, please use Windows XP or later". MS dev can only sit there and say "Oh fuck". Turns out thousands of shitty programmers everywhere used the dumbest possible version discovery method (that they almost certainly didn't even need in the first place) and the only fix for all of these programs is a fix in their own code.

      I'm not sure if you're getting this or not. Java apps built on OpenJDK will put a runtime error on Windows 9. All of them. Microsoft didn't write that code, Sun did (at least I'm pretty sure they did). Microsoft has had API's for accurately getting the version number since Windows has been a thing, and Java doesn't make them available.

      I honestly can't think of a way for Microsoft to work around Java's shitty libraries, or any other program parsing the OS version from text in this stupid way, in any way except to rename the OS.

      Compare this to how many applications out that that have broken because of other minor OS changes combined with bad programming. I've seen piles of that myself, and Microsoft never bothered this hard to keep compatibility for any of those.

      Really? MS is the only OS that does care about compatibility!

      Microsoft has always bent over backwards for compatibility. That's the one thing that sets them apart from OSX and Linux, and why businesses love Windows so much. We're running a critical Windows 98 application on Windows 7 right now, with no compatibility issues whatsoever (not even compatibility mode). Try updating OSX and after two or three revisions shit starts breaking, because Apple doesn't give a shit about backwards compatibility. Not so with Windows.

      Plus, with every Windows release, a software maker can get a beta version of the OS and test their software on it. If their software is intrinsically broken, all they have to do is contact MS, tell them what's up, and MS will put in a workaround. Even if that workaround only works for that specific software, they'll do it. The most famous example of that was SimCity 2000, which had code written in I think XP specifically for it.

      This isn't like when programmers rely on a bug in an API to perform their tasks. MS can get around that by spoofing the bug, and they do it all the time. No, there is no way for Windows to know that Java is throwing a runtime error based on shitty logic, so MS can't fix that problem. In a perfect world, MS could say "fuck em, it's their bug, they need to fix it" and release Windows 9. Java apps wouldn't work, Oracle would release

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  41. Windows ... by argee · · Score: 1, Troll

    if (os.startsWith("Windows")
          use linux
    fi

    # There you go, fixed it for you.

    1. Re:Windows ... by Anonymous Coward · · Score: 0

      If (os.StartsWith("Windows") Then
          Imports Linux
      End If

  42. this is actually very important.. by Karmashock · · Score: 1

    A key selling point of windows is backward compatibility. Lose that and the companies that have been using windows software for years suddenly have to buy new software... and then they might as well switch to linux.

    --
    I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
  43. Al Lowe by antifoidulus · · Score: 1

    I always just assumed they were inspired by Leisure Suit Larry versioning system.

  44. Command prompt by ISoldat53 · · Score: 1

    Go to a command prompt and it gives the version number. WIN 7 comes back as 6.1.7601.

  45. Windows 2 by Anonymous Coward · · Score: 0

    Windows 2 Binary Version

  46. I don't get it by Kevin+Fishburne · · Score: 1

    Why wouldn't they just change whatever internal version number is being improperly queried to 10, have the correct API call return 9, and market it as 9? Maybe once they realized there was a problem, they decided they liked the idea of 10 and it would be the simplest fix? Or perhaps these bad apps are using the correct API call (as opposed to pulling a registry key or something) but are parsing it incorrectly... The correct approach would be to issue an advisory for all these shitty programmers to update their applications or they may not work on Windows 9. Fix your shit, or GTFO, basically. In any case, glad I don't have to deal with that sort of crap anymore. Linux has its own steaming pile for me to wade through these days. :)

    --
    Buy your next Linux PC at eightvirtues.com
    1. Re:I don't get it by ruir · · Score: 1

      meh, it is all bullshit.

    2. Re:I don't get it by shutdown+-p+now · · Score: 2

      Why wouldn't they just change whatever internal version number is being improperly queried to 10, have the correct API call return 9, and market it as 9?

      There is over a dozen different ways to get Windows version that I can think of. One of them is the official API, and others are hacks. but that doesn't stop people from using them, for the same reason why you see checks like b.toString().length==5 to check whether a Boolean value is true.

      The correct approach would be to issue an advisory for all these shitty programmers to update their applications or they may not work on Windows 9. Fix your shit, or GTFO, basically.

      One of the reasons why Windows remains popular in the enterprise is that shit doesn't just break like it would under your proposed model. Even if that means that there have to be lots of hacks in the OS itself to basically work around bugs in applications. As an engineer, you can rightfully cringe at it, but people pay for it, so...

    3. Re:I don't get it by Anonymous Coward · · Score: 0

      Why wouldn't they just change whatever internal version number is being improperly queried to 10, have the correct API call return 9, and market it as 9? Maybe once they realized there was a problem, they decided they liked the idea of 10 and it would be the simplest fix? Or perhaps these bad apps are using the correct API call (as opposed to pulling a registry key or something) but are parsing it incorrectly... The correct approach would be to issue an advisory for all these shitty programmers to update their applications or they may not work on Windows 9. Fix your shit, or GTFO, basically. In any case, glad I don't have to deal with that sort of crap anymore. Linux has its own steaming pile for me to wade through these days. :)

      Because most of the offending applications are Java applications, targeting a Java platform that didn't allow you to do proper OS API version checking. Maybe Oracle would be able to build such a "fix" into Java, would be interesting to know if MS ever asked..

  47. 9 != nine by Anonymous Coward · · Score: 0

    Why not just go with "Windows Nine"?

    1. Re:9 != nine by Blaskowicz · · Score: 1

      There really were "Windows Nein" jokes already waiting for it some of them involving moustaches, svatiskas and hysterical screams (decency standards need not apply)

  48. simple by Anonymous Coward · · Score: 0

    MS just wants to 'distance' itself from 8.x fiasco.

  49. Re:How bad is the Microsoft API? by AquaDuck · · Score: 1

    There is: GetVersion()
    No one was forced to deal with a string. TFA is talking about third-party developers who may have use the marketing name instead of the recommended API call to check versions.

  50. Um... You know... by fahrbot-bot · · Score: 1

    ...some of use are old enough to have actually used Windows 1.0, which, using the supposed logic for skipping 9, looks pretty close to Windows 10. Sure , mistaking 1.0 and 10. isn't something NASA or ESA might do ...

    --
    It must have been something you assimilated. . . .
    1. Re:Um... You know... by DigiShaman · · Score: 1

      Windows On/Off edition. How productive and complicated do you really need an OS to be?

      --
      Life is not for the lazy.
  51. Re:I look forward to the next time this is a probl by julesh · · Score: 1

    ...with Windows 100.

    I've seen at least one suggestion that all future versions of Windows will be Windows 10. So, that would presumably be Windows 10.90 you're looking forward to?

  52. Re:How bad is the Microsoft API? by julesh · · Score: 1

    for whatever reason, a lot of Java code checks the "os.name" property to determine the OS version instead of "os.version".

    Because Java's API design is fucked up.

    Windows NT 4.0: os.name = "Windows NT", os.version = "4.0"
    Windows 95 (= MSDOS 7.0): os.name = "Windows 95", os.version = "4.0"
    Windows 98: (also MSDOS 7.0): os.name = "Windows 98", os.version = "4.1"
    Windows 2000 (aka NT 5): os.name = "Windows 2000", os.version = "5.0"

    Given these 4 versions as the likely target platforms, how do I determine if I'm running on Windows-the-DPMI-DOS-Extender or Windows NT?

  53. windows 10 because by Anonymous Coward · · Score: 0

    7 ate 9..

  54. Stupid from Microsoft again by Anonymous Coward · · Score: 0

    Should have used the NT kernel version as a search parameter, instead of using software product names.

    This is what happens when a tech company is hijacked by marketing droids.

  55. Re:How bad is the Microsoft API? by Spy+Handler · · Score: 2

    If your code is old enough to be checking for Windows 9x, chances are you're really asking "am I running under NT, or 9x?"

    A relatively recent program designed for XP or Vista could be checking for Windows 9x during install, like if (OS.name.StartsWith('Windows 9')) {print "Your computer is too old, please upgrade to XP"}

  56. Seen that before by rainer_d · · Score: 1

    When FreeBSD started having "10" in the version number, a lot of 3rd party (open source) software thought it must be version "1.0" (based on checks by GNU configure) which usually resulted in a failure to even go through the configure-phase....
    Same reason why Solaris 11 is actually 2.11...

    --
    Windows 2000 - from the guys who brought us edlin
  57. Windows 10 = Windows 1 ?? by Anonymous Coward · · Score: 0

    If this is true, then I hope that "Windows 10" won't be interpreted by old software as "Windows 1" by the same logic...

  58. Java IS pretty big by Anonymous Coward · · Score: 0

    "windows 9" errors per 100,000 lines of code might be a better measure.

  59. They should have called it Windows 11.. by toonces33 · · Score: 1

    But then there would be the inevitable Spinal Tap jokes.

  60. Its much simpler by Anonymous Coward · · Score: 0

    I personally think its much simpler to say Microsoft did not want the next version to be considered yet another try at fixing Windows 8. But rather another new start at making every Windows user want to use the next Windows OS. After installing Windows 10, I think Microsoft has yet to find the correct mix of old and new. Although I would credit them for at least bringing back the Start Menu and making traditionalists like myself not want to reject Windows 10. So far with minimal time using it. I find it more acceptable and more intuitive for users who find XP and Windows 7 more familiar. I think we must understand that Microsoft will not be separating a PC OS from a tablet OS. You will have to get used to Tiles and Modern Apps.

  61. What I hate about Windows by rsilvergun · · Score: 1

    is there's often 5 ways to do something. The first works, but will slow your app to a crawl. The next two only work on your test machine. The 4th works, but it has horrible side effects. There's a registry query function that triggers a scan of the registry, which on a broken registry can kill the whole OS. Who the hell thought that was a good idea?

    Finally there's the 1 method that works. I find writing Windows apps a bit like playing Russian Roulette...

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:What I hate about Windows by Shados · · Score: 1

      Congratulation, you've just described any kind of software development where you actually make stuff happen (as opposed to just making a stupid command line app that does nothing).

      Doing anything meaningful in Java on *nix? Expect to hit quite a few annoying JVM bugs no one ever saw before, because they didnt do quite what you were doing.

      Doing anything meaningful on Linux? Make sure to only target a very stable version of a specific distro...otherwise you'll find that libA that depends on libB that depends on libC has a bug that is non-deterministic because of libD.

      Doing any kind of browser development? You heard as long as you didnt have to deal with IE you were ok? HAHAHA, jokes on you. Prepare to fight with non-standard mozilla behavior and subtle edge cases between different versions of Webkit/Blink.

      Mobile development? /wrist

      Need we go on?

  62. Another vote of hogwash by rsilvergun · · Score: 1

    Legacy 9x code doesn't run on Win8 unless you're using the built in VMs from the fancier editions. They took most of the old Win32 stuff out.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:Another vote of hogwash by Bigjeff5 · · Score: 4, Insightful

      If you'd actually look at the example provided, this is generally modern applications looking for Windows 9x versions in order to throw an error, and they did it in a time when "Windows 7" and "Windows 8" are actual things that really exist, not a nebulous time where MS was changing its naming format every couple releases.

      The very first example is a fork of OpenJDK 6, and it appears to be code carried over from the original, not new code. Another result was from OpenJDK 1.7, so this is more than likely poorly written code that has simply never been a problem before.

      People would probably blame Microsoft if all Java apps broke on Windows 9, even though it was Java's shitty programmers that did the deed, and really lots of programmers do stupid stuff like this and would blame MS for it. Unlike most bugs, MS doesn't really have any option but to change its name to fix this for software developers. It's not like a dev relying on the buggy behavior of an API that MS can work around for them. This is wide scale, pervasive shitty programming in third party programs that spans more than a decade, and Microsoft gets to deal with it.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
  63. Win 9 got canned by MoarSauce123 · · Score: 2

    Maybe it is simply that the project that would have been Windows 9 got canned within Microsoft. I am sure work on Win 9 was underway by the time Win 8.0 was released just to have its plug pulled after the dismal and entirely preventable (if Microsoft would have listened to beta testers) sales figures and adoption rate of Win 8. As much speculation as any other explanation. In the end it does not matter, it's just a name.

  64. The Real Reason by Anonymous Coward · · Score: 0

    MS Exec 1: How do we stop bad press about how much a POS the next release is?
    MS Exec 2: We go from Windows 8 to Windows 10. All the talk will be out why we did it. They will never discover the real reason.
    MS Exec 1: Brilliant. Yachts all round.

  65. Lucky for them by Overzeetop · · Score: 1

    Windows 1 was distributed on 3.5" floppies. 720k floppies, no less. I know, I still have a copy, though I have no way to load it.

    --
    Is it just my observation, or are there way too many stupid people in the world?
  66. Other every version by brunnegd · · Score: 1

    Every other version of Windows is a dog: XP to Vista, then 7, then 8. 9 should be a winner, but maybe MS already knows it is essentially 8.2, so they needed to skip to 10 to keep the streak alive.

  67. Simple answer? by melting_clock · · Score: 1

    Are we really sure it isn't simply that MS developers can't count? That would explain a few things...

  68. Bad programming by Askmum · · Score: 1

    Stupid programmers. os.name is used to identify Windows (as opposed to Linux, iOS, whatever). os.version is used to identify which version of Windows (or any OS) you are running.

  69. The Circle of Standards by Daetrin · · Score: 1
    Let's see if we can sum up this thread.

    This is stupid! Why don't they have a standard way of doing things!?!
    Standards have a way of biting you in the ass, for example this standard way of abbreviating the year.
    It seems ironic that an abbreviated name was used for a problem caused by abbreviations.
    But that's a perfectly normal abbreviation!
    No it's not! This other system of abbreviation makes much more sense!
    No, the first kind of abbreviation makes more sense in some contexts because of these reasons.

    And so we have come full circle to why we can't just have one method of doing things, and thus why we can't have nice things.

    Also, obligatory xkcd: http://xkcd.com/927/

    --
    This Space Intentionally Left Blank
  70. Hooray! by Eaglehawk · · Score: 1

    My Windows 1.0 apps are now working on Windows 10 Technical Preview! *WOOHOO*