Egyes vállalatok, például a Blizzard, olyan szoftvereket gyártanak, amelyek továbbra is jól működnek a Windows jövőbeni verzióiban és újabbakkal egyéb szoftverfüggőségük verziói. Más vállalatok (többnyire olyanok, amelyek nem hardcore szoftvercégek) néha olyan szoftvert írnak, amely szakít egy új operációs rendszer vagy más szoftverfüggőség kiadásával. Mit tudnak a hardcore szoftvercégek, hogy a többiek nem? Mi okozza az átviteli kompatibilitási problémák fő okait?
Megjegyzések
- Van példa valamilyen kudarcra?
- @Fosco Számos régebbi játék például nem játszható le a modern számítógépeken, némelyik az operációs rendszer változásai miatt, néhány a hardver fejlesztése miatt.
- @Fosco ‘ rengeteg ilyesmit láttam. Számomra különösen kiemelkedő az X Granny nevű izraeli küldetésjáték, amely nem volt hajlandó dolgozni olyanban, ami nem volt ‘ t Windows 95 (még Windows 95 ++, AKA Windows 98 esetén sem). További példák az édesanyám által használt régi asztrológiai programok, gyermekeknek szóló oktatási programok stb.
- A Diablo nem ‘ t (vagy a közelmúltig nem csinált ‘ t) a Vista / 7-en dolgozik némi finomítás nélkül. Hasonlóképpen, a színeket a StarCraft-ban hibáztatták anélkül, hogy kikapcsolnák az explorer shell a 7.
-ben
Válasz
A Blizzard olyan szoftvert írt, amely jól működik a Windows jövőbeli verzióival (a Starcraft például továbbra is 7-en játszik) …
vagy a Microsoft a jövőre néző szoftver “jövőbeli verzióit” írta?
Valami olyasmi, mint a WoW, nem éppen “előretekintő”, mivel még mindig aktív fejlesztés alatt áll. Más szoftvereket, például a Starcraft / Warcraft / Diablo-t arra az időre írtak, és még mindig működik, mert az MS mindent megtesz annak érdekében, hogy a régi szoftvereket új rendszereken engedélyezze.
A Blizzard képes és okkal is rendelkezik, hogy frissítse a régi játékokat. Nagyon népszerű címek, amelyek meghajtják a jelenlegi szoftverét.
Egyes szoftverek olyan hacker / nem szabványos alkatrészeket használnak, amelyek nem működnek jól. Egyedi beállítások, a “régi” hibákra támaszkodva, a nem portolt illesztőprogramok új rendszerekhez stb.
Megjegyzések
- +1 (6 évvel később …) Ez a cikk cracked.com/… kijelenti, hogy a Windows 95 gyártása közben a Microsoftnak több száz gyakornoka volt, akik minden megtalálható szoftvert megvásároltak és teszteltek. Ha a szoftver nem működött ‘, akkor addig módosították a Windows rendszert. Ennek oka, hogy ha a szoftver nem működne ‘, a felhasználók nem ‘ t, hanem az XYZ Software Company-t hibáztatnák, hanem a Microsoftot.
- Igen … ma +50 pont egy 6 éves válaszból. Fizetni. És igen, a válasz továbbra is igaznak tűnik – és ‘ miért is uralkodik a Windows továbbra is a Mac és a Linux felett: Visszafelé kompatibilitás. Nem ‘ nem bízom benne, hogy a 10 éves szoftver Mac-en vagy Ubuntu-n fog működni … Megfelelően bízom abban, hogy a Windows-ban is működni fog.
Válasz
Több ok:
- Olyan szabványoknak írnak, amelyek továbbra is érvényesek támogatott a jövőbeni operációs rendszerekben
- Az operációs rendszerek vállalatai (pl. MS) valóban sok kódot adnak be a régebbi szoftverek támogatására.
- A nagy népszerű szoftverházak általában formális vagy informális kapcsolatban állnak azokkal az operációs rendszer cégei, így hamarabb láthatják a dolgokat.
Válasz
Itt vannak a tapasztalataim: Sok évekkel ezelőtt egy olyan termék, amelyen dolgoztam, elkezdte támogatni a harmadik féltől származó beépülő modulokat. Kérést küldtünk a bővítményre, amelyre válaszolnia kellett. A bővítmény első paramétere egy szám volt, amely azonosította, hogy melyik kérést küldjük. Ekkor csak egy kérés volt . Mégis dokumentáltuk, hogy ellenőrizze ezt a számot, és ha olyan szám volt, amelyet nem értett, ne tegyen semmit, csak adjon vissza egy hibakódot, amelynek jelentése: “Nem értem ezt a kérést”. Elég egyszerű. Az első verzió A mi oldalunkon ezt megfelelően kezeltük. Még az első kérés (az egyetlen, amit valaha is elküldhettük) elküldése során ellenőriztük, hogy a beépülő modul válaszolt-e, és nem kezelte-e.
Ezután hozzáadtuk a második kérést. Régi beépülő modulokkal tesztelve, arra számítva, hogy válaszolni fognak: “Nem értem ezt a kérést”. Az összes bővítmény végrehajtotta az első kérés műveletét. Ez nem továbbítható 🙁 Ezeket a bővítményeket elküldtük az ügyfeleknek, és új rendszerrel összeomlanak alkalmazás verziója.
Amit tettünk: Helyezze a szoftvert olyan kontextusba, ahol az első kérést sérülés nélkül lehet teljesíteni. Teljesen más kérést küldött.Ha a válasz nem volt “érthető”, akkor onnantól kezdve tudtuk, hogy a beépülő modult idióták írták, és csak az általunk először kidolgozott kérések érkeztek.
Válasz
Nem biztosíthatja az “előre kompatibilitást”, ez az operációs rendszer és a nagy teljesítményű gyártók feladata. A legjobb dolog A szoftverírás során meggyőződhet arról, hogy nem használ elavult funkciókat vagy nem szabványos trükköket.
Megjegyzések
- Nem használt funkciók vagy nem szabványos trükkök elég messzire visznek. Például a Metal Marines, egy Windows 3.1-es korszakbeli játék (talán valójában Win 32s ), amely grafikus objektumokat jelenít meg a fő játékablakon kívül, és rakétákat indít az asztalon, Azáltal, hogy megszerez egy eszközkörnyezetet és közvetlenül bulizik vele, továbbra is működik a Windows XP és a Windows 7 rendszereken. Úgy gondolom, hogy ez egy fantasztikus példa a kompatibilitás elősegítésére a Microsoft ‘ elkötelezettségének a visszamenőleges kompatibilitás révén .
Válasz
Szerintem éppen az, hogy a kompatibilis szoftver továbbírása több erőfeszítést igényel. (= költség) megéri, hogy a kompatibilitást a kiadó cégnek értékelnie kell.
Például az adatbázis-sémák megváltozhatnak. Automatikusan migrálhatók (a legjobb felhasználói élmény érdekében) vagy figyelmen kívül hagyhatók (kevesebb fejlesztési erőfeszítés esetén). .
Válasz
Egyes programozók elolvassák a dokumentációt, és olyan kódot írnak, amely az operációs rendszert használja, ahogy a dokumentáció megmondja őket, hogy. Más programozók gyorsabban írnak kódot, és hibásan hibakeresnek minden olyan kódot, amely nem működik.
Jó példa lesz olyan kód, amely nem képes megbirkózni a kétjegyű ablakokkal. verziószám; nem fog kudarcot vallani a Windows 8 rendszeren, de ha Windows 10 rendszeren használják …
Ezután a lehető leggyorsabban írt játékok vannak. , megkerülve az operációs rendszert, nem törődve azzal, hogy működni fognak-e néhány év múlva …
Vegyünk egy programozót, aki a Unix szoftveren dolgozó programra hajlott a napokban, amikor minden gyártónak megvan a saját egység verziója, ez programozó nagyon hozzá fog szokni a szabványok elolvasásához és CSAK attól függően, hogy a szabványok mit mondanak. Mivel a szoftvert a Unix 6 különböző verzióján kell szállítania, gyorsan megtanul óvatosnak lenni. Hasonlítsa össze ezt egy olyan programozóval, aki a VB-n tanult, ahol gyakran csak megváltoztatja a kódot, amíg az nem működik … … De helyezze a „Unix típusú programozót” ugyanarra a feladatra, mint a „VB típusú programozót”, és gyakran arra a személyre, aki tanult A VB olyan eredményt hoz, amelyet sokkal gyorsabban el lehet adni.
A munkatársak megkérdezésénél az emberek általában hasonló gondolkodású embereket választanak, így ha egy vállalatnak van néhány első munkatársa, az új alkalmazottak hajlamosak gondolkodni ugyanígy.
Válasz
Azt gondolnám, hogy az előre történő kompatibilitás hiányának fő oka a hiány dolgozó programozók közül, akik véletlenül tisztánlátók.
Megjegyzések
- I ‘ több pkunk programozók pontosan ezért. Pootwormsban fizetem nekik, ami hihetetlenül olcsó.