Miért nem Windows 9 a következő Windows?

Sokakat foglalkoztathat, hogy miért döntött úgy a Microsoft, hogy a Windows 8 után kihagyja a Windows 9-et és a soron következő kiadást Windows 10-nek fogja nevezni. A Reddit-en felbukkant egy komment, egy állítólagos MSFT alkalmazottól. Abban az olvasható, hogy Redmondban, házon belül, a fejlesztők arra jutottak előzetes tesztek elvégzése után, hogy számos 3rd party termék így ellenőrzi a Windows verziót:


if(version.StartsWith("Windows 9"))
{ /* 95 and 98 */
} else {

A problémát így oldották meg. Igaz vagy sem? Végül is a kutyát sem érdekli.

Egy perc alatt lehet találni kifinomultabb ellenőrzést az interneten:


if (name.startsWith("windows 9")) {
                if (version.startsWith("4.0")) {
                    version = "95";
                } else if (version.startsWith("4.9")) {
                    version = "me";
                } else {
                    assert version.startsWith("4.1");
                    version = "98";
                }
            } else {
                if (version.startsWith("4.0")) {
                    version = "nt4";
                } else if (version.startsWith("5.0")) {
                    version = "2000";
                } else if (version.startsWith("5.1")) {
                    version = "xp";
                } else if (version.startsWith("5.2")) {
                    version = "2003";
                }

Hozzászólások

"És nem is csodálkozom hogy nem ment a gépemen, ha kilencszeres Windows-t akar"

Igazabol ez a kifinomultabb ellenorzes is pont annyira hibas, mint a Reddites kommentben linkelt eredeti. Ugyanugy rossz agra fog menni a kulso if-ben, es utana raadasul assertion fail.

Ugy tunik, azert kell baszkolodni a nevvel, mert a 95-nek meg az NT4-nek ugyanaz a version-je. Meg kellene cserelni a ket ifet, es a nevet csak 4.0 eseten vizsgalni:

if (version.startsWith("4.0")) { version=baszkolodjunkNevvel(name) }
else if (version.startsWith("99.99")) { version="windows1001" }
else if ...

Az 1 másodperces kereséssel talált példa csak arra szolgált, hogy a "version.startsWith"-tel látszólag meg lehetne csinálni, hiszen az egyedinek tűnik. Ha pedig meg lehet, akkor nem értem, hogy a 3rd party programozók miért nem azt használták, mi vitte rá őket erre a "if(version.StartsWith("Windows 9"))" faszságra.

Szerk: Ja, látom. Az ostobája szerint 4.0 a w95 és az nt4 is. Gratulálok.

--
trey @ gépház

A GetVersion leírásánál meg ez áll:

With the release of Windows 8.1, the behavior of the GetVersion API has changed in the value it will return for the operating system version. The value returned by the GetVersion function now depends on how the application is manifested.

Applications not manifested for Windows 8.1 will return the Windows 8 OS version value (6.2). Once an application is manifested for a given operating system version, GetVersion will always return the version that the application is manifested for in future releases. To manifest your applications for Windows 8.1 please refer to Targeting your application for Windows 8.1.

Másszóval: Kedves programozó, ez a függvény visszaad valamilyen verziószámot, ami vagy valós információ, vagy nem. Inkább az utóbbi.

Az ilyenekre mondta Váncsa István egyszer, hogy 'némely emberi agy egészen másképp működik, mint ahogy azt józan ésszel gondolkodva elvárnánk...'

Tkp azt mondják MS-ék, hogy a verzió-információ veszélyes dolog, ha rossz kezekbe jut, inkább hazudjunk, sőt szüntessük meg a lekérdezés lehetőségét is...

Vagy mondjuk lehetne a GetVersion visszaadott értéke konstans is:
#define WINDOWS_VERSION_NEVER_MIND 1984

Szerintem megcsinálták a win9-et, csak annyira szar lett, hogy azt már ők sem merték felvállalni :D

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba

Ördögi kör ez... A Windowsok sok baromsága miatt a szoftverek elkezdtek verzióra vizsgálni. De ugyanúgy a szar szoftverek miatt a Windowsnak is egy csomó kompatibilitásnövelő megoldása van. És így szépen szívatják egymást. Persze az is szívás, mikor Linux világban X időnként új kernel API miatt kell újraírni dolgokat, de ők ne panaszkodjanak.

--

A Windowson elfut a régi szoftver, mert agyon van hekkelve a Windows is meg a szoftver is. A Linuxon is elfut a régi szoftver, mert általában csak simán újrafordítod (na meg azért van ott 1-2-100 rendszerspecifikus #ifdef). És mind a két módszer elromolhat. Userként jobb lehet a Windows élmény, de fejlesztőként sokszor jobb magasról tenni a kompatibilitásra, és simán új API-t kiadni, ha épp úgy van kedvem. Mindkettőnek van előnye is, hátránya is.

--

Vagy mert egyre több (ál)hír jelent meg, hogy a 9-es verzió ingyenes lesz. Így nem kell cáfolniuk az (ál)híreket. :-)

-----

(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-

A Winamp-nak jobb indoka volt, miért maradt ki a Winamp 4. A Winamp 1, 2, 3 után 5 jött... :-)

Sakk-matt,
KaTT :)

Jó, de ott az volt a magyarázat, hogy 2+3=5 és kombinálják a Winamp3-mat a Winamp2-vel. Ugyanis a 3 elég sokaknál kiverte a biztosítékot és az 5 alapból jobban hasonlított a 2-re, mint a 3-ra (ameddig nem jött a Modern UI).

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Sokkal egyszerűbb a magyarázat..
Kilenc... Kisferenc... GYÚRCSÁNY!!!!!
Na ezt azért már mégse..
Amúgy már az előző verzió, a Windows (elmúlt) 8 (év) is necces volt..
"A törvény mindenkire vonatkozik, kommunistákra tízszeresen, százszorosan.
Ahol nem vagyunk mi, ott az ellenség.."
--
God bless you, Captain Hindsight..

Bocs...