Unele companii, precum Blizzard, realizează software care continuă să funcționeze bine în versiunile viitoare de Windows și cu versiunile mai noi versiuni ale celorlalte dependențe de software ale acestora. Alte companii (mai ales cele care nu sunt companii de software hardcore) scriu uneori software care se rupe cu lansarea unui nou sistem de operare sau a unei alte dependențe de software. Ce știu companiile de software hardcore că celelalte nu sunt? Care sunt principalele cauze ale problemelor de compatibilitate înainte?
Comentarii
- Aveți un exemplu de ceva care a eșuat?
- @Fosco Multe jocuri mai vechi, de exemplu, nu pot fi jucate pe computerele moderne, unele datorită modificărilor sistemului de operare, altele datorită avansurilor hardware.
- @Fosco Am ‘ văzut o mulțime de lucruri de genul acesta. Unul care mi se deosebește în mod deosebit este un joc de căutare israelian numit Granny X care a refuzat să lucreze în orice lucru care nu a fost ‘ t Windows 95 (nici măcar pe Windows 95 ++, AKA Windows 98). Alte exemple sunt programe vechi de astrologie pe care le folosea mama mea, programe educaționale pentru copii etc.
- Diablo doesn ‘ t (sau nu ‘ t până nu de curând) a funcționat pe Vista / 7 fără o anumită marjă. La fel, culorile au fost modificate în StarCraft fără a fi dezactivate shell-ul exploratorului din 7.
Răspuns
A scris Blizzard un software care funcționează bine cu viitoarele versiuni de Windows (Starcraft rulează încă pe 7, de exemplu) …
sau Microsoft a scris „viitoarele versiuni” ale software-ului care se uită înapoi?
Ceva de genul WoW nu este „exact„ în perspectivă ”, deoarece este încă în dezvoltare activă. Alte programe, cum ar fi Starcraft / Warcraft / Diablo, au fost scrise pentru acea vreme și se întâmplă să funcționeze în continuare, deoarece MS se străduiește să permită software-ul vechi pe sisteme noi.
Blizzard are și capacitatea și motivul, pentru a-și actualiza vechile jocuri. Titluri foarte populare care conduc software-ul actual.
Unele programe utilizează piese non-standard care nu funcționează bine. Setări unice, bazate pe bug-uri „vechi” pentru a funcționa, drivere care nu sunt portate la sisteme noi etc.
Comentarii
- +1 (6 ani mai târziu …) Acest articol cracked.com/… afirmă că, în timp ce fabrica Windows 95, Microsoft avea sute de stagiari care cumpărau fiecare software pe care îl găseau și le testau pe toate. Dacă software-ul nu a funcționat ‘, au modificat Windows până când a funcționat. Motivul este că, dacă software-ul nu ar funcționa ‘, utilizatorii nu ar fi ‘ vina pe XYZ Software Company, ci pe Microsoft.
- Da … +50 de puncte astăzi dintr-un răspuns de 6 ani. Cha-ching. Și da, răspunsul sună încă adevărat – și ‘ este motivul pentru care Windows încă domnește peste Mac și Linux: Compatibilitate inversă. Nu ‘ nu am încredere că software-ul vechi de 10 ani va funcționa pe un Mac sau pe Ubuntu … Am un nivel rezonabil de încredere că va funcționa în Windows.
Răspuns
Mai multe motive:
- Scriu standardelor care continuă să fie susținute în viitoarele sisteme de operare
- Companiile de sisteme de operare (de exemplu, MS) introduc de fapt o mulțime de cod pentru a sprijini software-ul mai vechi
- Case mari de software populare tind să aibă relații formale sau informale cu companiile de sisteme de operare, astfel încât să poată vedea lucruri mai devreme.
Răspuns
Iată experiența mea: Multe cu ani în urmă, un produs la care am lucrat a început să accepte pluginuri de la terți. Am trimite o solicitare către plugin, la care trebuia să răspundă. Primul parametru din plugin a fost un număr care a identificat cererea pe care o făceam. În acel moment a existat doar o una cerere Totuși, am documentat că ar trebui să verificați acest număr și, dacă a fost un număr pe care nu l-ați înțeles, nu faceți altceva decât să returnați un cod de eroare cu semnificația „Nu înțeleg această cerere”. Destul de simplu. Prima versiune de partea noastră a gestionat corect acest lucru. Chiar și atunci când am trimis prima solicitare (singura pe care am putea-o trimite vreodată), am verificat dacă pluginul a răspuns „nu” înțeleg ”și am gestionat-o.
Apoi am adăugat a doua solicitare. Testat cu pluginuri vechi care se așteaptă să răspundă „Nu înțeleg această solicitare”. Toate pluginurile au efectuat acțiunea pentru prima solicitare. Acest lucru nu este compatibil cu redirecționarea 🙁 Aceste pluginuri au fost livrate clienților și s-ar prăbuși cu un nou versiunea aplicației.
Ce am făcut: puneți software-ul într-un context în care prima cerere ar putea fi efectuată fără daune. A trimis o cerere complet diferită.Dacă răspunsul nu a fost „nu” înțeleg „, atunci am știut de atunci că pluginul a fost scris de idioți și nu au fost făcute alte cereri decât cea pe care am dezvoltat-o mai întâi.
Răspuns
Nu poți asigura „compatibilitatea directă”, depinde de factorii de decizie OS și HW. Cel mai bun lucru pe care îl puteți face atunci când scrieți software pentru a vă asigura că nu utilizați funcții depreciate sau trucuri non-standard.
Comentarii
- Dacă nu utilizați funcții depreciate sau trucuri non-standard, veți ajunge destul de departe. De exemplu, Metal Marines, un joc din era Windows 3.1 (poate de fapt Win 32s ) care redă obiecte grafice în afara ferestrei principale a jocului, lansând rachete pe desktop, obținând contextul unui dispozitiv și petrecând direct cu el, funcționează în continuare pe Windows XP și Windows 7. Cred că acesta este un exemplu extraordinar de a obține compatibilitate înainte prin angajamentul Microsoft ‘ pentru compatibilitatea inversă .
Răspuns
Cred că este doar că scrierea software-ului compatibil înainte necesită mai mult efort. Fie că efortul (= cost) merită, compatibilitatea trebuie evaluată de firma de lansare.
De exemplu, schemele bazei de date se pot schimba. Acestea ar putea fi migrate automat (pentru cea mai bună experiență a utilizatorului) sau ignorate (pentru un efort de dezvoltare mai mic) .
Răspuns
Unii programatori citesc documentația și scriu cod care utilizează sistemul de operare în modul în care documentația spune ei sa. Alți programatori scriu codul mai repede și depanează orice cod care nu funcționează.
Un bun exemplu va fi codul care nu poate face față ferestrelor care au două cifre versiunea numarul; testarea nu va eșua pe Windows 8, dar atunci când este utilizată pe Windows 10 … ..
Apoi aveți jocuri scrise pentru a fi cât mai rapide , ocolind sistemul de operare, fără să-i pese dacă vor funcționa în câțiva ani … ..
Luați un programator care s-a orientat spre programul care lucrează pe software Unix în zilele în care fiecare furnizor are propria versiune a unității, programatorul va fi foarte obișnuit să citească standardele și DOAR în funcție de ceea ce spun standardele. Deoarece trebuie să livrați software-ul pe 6 versiuni diferite ale Unix vă învață rapid să aveți grijă. Comparați acest lucru cu un programator care a învățat pe VB, unde este obișnuit să schimbați codul până când funcționează …… Dar puneți „programatorul de tip Unix” pe aceeași sarcină ca și „programatorul de tip VB” și adesea persoana care a învățat pe VB va produce un rezultat care poate fi vândut mult mai repede.
Atunci când intervievează personalul, oamenii tind să aleagă ca oamenii cu mintea, așa că, odată ce o companie are primii săi angajați, personalul nou tinde să gândească în același mod.
Răspuns
Aș crede că principalul motiv pentru lipsa compatibilității directe ar fi lipsa a programatorilor care lucrează și care sunt, de asemenea, clarvăzători.
Comentarii
- Am ‘ am primit mai multe pkunk programatori tocmai din acest motiv. Le plătesc în Pootworms, ceea ce este incredibil de ieftin.