Nogle virksomheder, som Blizzard, laver software, der fortsat fungerer godt i fremtidige versioner af Windows og med nyere versioner af deres andre softwareafhængigheder. Andre virksomheder (for det meste virksomheder, der ikke er hardcore softwarevirksomheder) skriver undertiden software, der bryder med frigivelse af et nyt operativsystem eller anden softwareafhængighed. Hvad ved hardcore softwarevirksomhederne om, at de andre ikke gør det? Hvad er hovedårsagerne til problemer med fremadrettet kompatibilitet?

Kommentarer

  • Har du et eksempel på noget, der mislykkedes?
  • @Fosco Mange ældre spil kan for eksempel ikke afspilles på moderne computere, nogle på grund af OS-ændringer, andre på grund af hardware-fremskridt.
  • @Fosco Jeg ‘ har set mange ting sådan. En, der især skiller sig ud for mig, er et israelsk søgespil kaldet Granny X, der nægtede at arbejde i noget, der ikke var ‘ t Windows 95 (ikke engang på Windows 95 ++, AKA Windows 98). Andre eksempler er gamle astrologiprogrammer, som min mor brugte, uddannelsesprogrammer til børn osv.
  • Diablo gør ikke ‘ t (eller fungerede ‘ t indtil for nylig) på vista / 7 uden noget finagling. Ligeledes blev farverne buggeret i StarCraft uden at deaktivere explorer shell i 7.

Svar

Skrev Blizzard software, der fungerer godt med fremtidige versioner af Windows (Starcraft spiller for eksempel stadig på 7) …

eller skrev Microsoft “fremtidige versioner” af software, der ser bagud?

Noget som WoW er ikke nøjagtigt “fremadrettet”, da det stadig er i aktiv udvikling. Anden software, som Starcraft / Warcraft / Diablo, blev skrevet for tiden og fungerer tilfældigvis stadig, fordi MS går ud af sin måde at aktivere gammel software på nye systemer.

Blizzard har også evnen og grunden, for at opdatere sine gamle spil. Meget populære titler, der driver den aktuelle software.

Nogle software bruger hackish / ikke-standardiserede dele, der ikke fungerer godt. Unikke opsætninger, der er afhængige af “gamle” bugs til at betjene, drivere, der ikke portes til nye systemer osv.

Kommentarer

  • +1 (6 år senere …) Denne artikel cracked.com/… siger, at mens Microsoft lavede Windows 95, havde Microsoft hundreder af praktikanter, der gik ud for at købe ethvert stykke software, de kunne finde og teste dem alle. Hvis softwaren ikke fungerede ‘, ændrede de Windows, indtil det fungerede. Årsagen var, at hvis softwaren ikke ‘ ikke fungerede, ville brugerne ikke ‘ ikke bebrejde XYZ Software Company, men Microsoft.
  • Ja … +50 point i dag fra et 6-årigt svar. Cha-ching. Og ja, svaret ringer stadig sandt – og det ‘ hvorfor Windows stadig regerer over Mac og Linux: bagudkompatibilitet. Jeg har ikke ‘ ikke tillid til, at 10-årig software fungerer på en Mac eller på Ubuntu … Jeg har et rimeligt niveau af tillid til, at det fungerer i windows.

Svar

Flere grunde:

  1. De skriver til standarder, der fortsat er understøttet i fremtidige operativsystemer
  2. OS-virksomheder (f.eks. MS) indsætter faktisk en hel del kode for at understøtte ældre software
  3. Store populære softwarehuse har tendens til at have formelle eller uformelle relationer til OS-virksomhederne, så de får se ting tidligere.

Svar

Her er min oplevelse: Mange for mange år siden begyndte et produkt, som jeg arbejdede med, at understøtte tredjeparts-plugins. Vi ville sende en anmodning til pluginet, som det skulle svare på. Den første parameter i pluginet var et nummer, der identificerede, hvilken anmodning vi fremsatte. På det tidspunkt var der kun en anmodning Alligevel dokumenterede vi, at du skulle kontrollere dette nummer, og hvis det var et nummer, som du ikke forstod, skal du ikke gøre andet end at returnere en fejlkode med betydningen “Jeg forstår ikke denne anmodning”. Enkel nok. Den første version på vores side håndterede dette korrekt. Selv når vi sendte den første anmodning (den eneste, vi nogensinde kunne sende), kontrollerede vi, om pluginet reagerede “forstår ikke” og håndterede det.

Så tilføjede vi den anden anmodning. Testet med gamle plugins, der forventer, at de vil svare “Jeg forstår ikke denne anmodning”. Alle plugins udførte handlingen for den første anmodning. Det er ikke kompatibelt videre 🙁 Disse plugins var sendt til kunder og ville gå ned med et nyt appversion.

Hvad vi gjorde: Sæt softwaren i en kontekst, hvor den første anmodning kunne udføres uden skade. Sendte en helt anden anmodning.Hvis svaret ikke var “t” forstår ikke “, vidste vi fra da af, at pluginet blev skrevet af idioter, og der blev ikke fremsat andre anmodninger end den, vi udviklede først.

Svar

Du kan ikke sikre “fremadkompatibilitet”, det er op til OS- og HW-producenterne. Det bedste du kan gøre, når du skriver software, er for at sikre, at du ikke bruger forældede funktioner eller ikke-standardistiske tricks.

Kommentarer

  • Hvis du ikke bruger svækkede funktioner eller ikke-standard-tricks, kommer du ganske langt. For eksempel Metal Marines, et Windows 3.1-æra-spil (måske faktisk Win 32s ), der gengiver grafiske objekter uden for hovedspilvinduet og lancerer missiler over skrivebordet, ved at få en enhedskontekst og feste direkte med den, fungerer den stadig på Windows XP og Windows 7. Jeg synes, det er et fantastisk eksempel på at få fremadkompatibilitet via Microsofts ‘ s forpligtelse til bagudkompatibilitet .

Svar

Jeg tror, det er bare, at det at skrive videre kompatibel software kræver mere indsats. (= pris) er værd, kompatibiliteten skal evalueres af det frigivende firma.

For eksempel kan databaseskemaer ændre sig. De kunne migreres automatisk (for den bedste brugeroplevelse) eller ignoreres (for mindre udviklingsindsats) .

Svar

Nogle programmører læser dokumentationen og skriver kode, der bruger operativsystemet på den måde, som dokumentationen fortæller dem til. Andre programmører skriver koden hurtigere og fejler enhver kode, der ikke fungerer.

Et godt eksempel er kode, der ikke kan klare vinduer, der har et tocifret version nummer; det mislykkes ikke testning på Windows 8, men når det bruges på Windows 10… ..

Så har du spil, der er skrevet for at være så hurtige som muligt , omgå OSet og ikke bekymre sig om de vil arbejde om et par år …

Tag en programmør, der læner sig til at arbejde på Unix-software i de dage, hvor hver leverandør har sin egen version af enheden, at programmør vil være meget vant til at læse standarderne og KUN, afhængigt af hvad standarderne siger. Som at skulle sende din software til 6 forskellige versioner af Unix lærer dig hurtigt at være forsigtig. Sammenlign dette med en programmør, der har lært på VB, hvor det er almindeligt at bare ændre koden, indtil den fungerer ……. Men sæt “Unix type programmerer” på den samme opgave som “VB type programmør” og ofte den person, der lærte om VB vil producere et resultat, der kan sælges meget hurtigere.

Når man interviewer personale, har folk en tendens til at vælge ligesindede, så når en virksomhed har deres første par medarbejdere, har nyt personale tendens til at tænke på samme måde.

Svar

Jeg tror, at hovedårsagen til manglende kompatibilitet fremad ville være manglen af arbejdende programmerere, der tilfældigvis også er klarsynede.

Kommentarer

  • Jeg ‘ har fået flere pkunk programmerere af netop denne grund. Jeg betaler dem i Pootworms, hvilket er utroligt billigt.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *