A számítástechnika kezdetén úgy tűnt, hogy a jövő a hardveré – a drága, hatalmas gépeké, amelyek speciális körülményeket igényeltek, és meghatározták az egész rendszer teljesítményét és lehetőségeit. Az idő múlásával azonban kiderült, hogy a valódi értéket a szoftver teremti meg, amely képes volt túllépni az egyes eszközök korlátain, és alkalmazkodni a változó igényekhez. Hogyan ment végbe ez az alapvető változás, és miért tölt be ma a szoftver domináns szerepet a technológiában? Ezt tudhatod meg a következő cikkből, amelyben feltárul előtted az a történet, amely megmutatja, hogyan alakította át a szabványosítás, a kompatibilitás és az okos döntések a számítástechnika világát.
Amikor megjelentek a számítógépek, teljesen egyértelműnek tűnt, hogy a hardver mindig is dominálni fog a szoftver felett: a hardver volt „az igazán drága dolog", „ami légkondicionált termeket igényelt", „ami meghatározta a rendszer összteljesítményét". Úgy tűnt, hogy éppen a hardver és annak képességei lesznek a meghatározó tényezők a számítástechnika fejlődésében – és egy ideig valóban így is volt.
A helyzet az 1960-as és 70-es évek fordulóján kezdett megváltozni, amikor a számítógépek tulajdonosai – jellemzően nagyvállalatok – ráébredtek, hogy rengeteg pénzt fektettek be mind a saját programjaik fejlesztésébe, mind a számítógép-kezelők és programozók képzésébe. Aztán egyre nyilvánvalóbbá vált, hogy a szoftverfejlesztés költsége korántsem elhanyagolható. Sőt, egyre nagyobb hányadát tette ki annak, amit összesített birtoklási költségnek (TCO, Total Cost of Ownership) nevezünk.
Az első dolog, ami segített, a szabványosítás volt, amely az IBM System/360 számítógépcsaládnál jelent meg. Az üzleti célú számítógépek legnagyobb gyártója felfigyelt ügyfelei problémáira – és előállt azzal az ötlettel, hogy az összes általuk kínált számítógép kölcsönösen kompatibilis legyen, és az egyes telepítések csak teljesítményben, perifériákban és képességekben különbözzenek egymástól. Ha a számítógépek kompatibilisek egymással, ugyanazt a szoftvert futtathatják – valahol lassabban fog működni, máshol erősebb lesz – de nem baj, mert a számítógépek kompatibilisek, így ha a cég kinövi magát, egyszerűen rendel az IBM-től egy erősebb modellt, amelyen a meglévő szoftver lényegesen gyorsabban fut. Nem kell semmit átírni, módosítani – egyszerűen végrehajtod a frissítést, és kész.
Ez látszólag egyszerű gondolat, de forradalmi volt: Először is – nem kell átképezned a programozókat, ha tudnak kompatibilis szoftvert írni, az fut a gyengébb és az erősebb modelleken is. Másodszor – újra felhasználhatod a drágán fejlesztett és tesztelt szoftvert! És igen, nem utolsósorban ez azt is jelenti, hogy ha veszel egy olcsó IBM számítógépet, logikusan a következő választásod egy erősebb IBM gép lesz, mert nem vagy bolond, és nem mondasz le az előző két előnyről – ami hatalmas plusz az IBM számára.
A szabványosítás másik hatalmas előnye az volt, hogy a programozóknak nem kellett folyamatosan átképezniük magukat új platformokra. Az Apollo-programban, a holdutazás során a rakétában és a modulokban összesen négy, teljesen eltérő architektúrán alapuló számítógépet használtak: A Saturn V rakétában egy „háromszorozottan redundáns" Launch Vehicle Digital Computer (LVDC) volt, amelyet úgy terveztek, hogy intenzív rázkódás mellett is működjön, és akár az áramkörök harmada is kieshetett belőle. A parancsnoki modul navigálásához és a LEM leszállóegység irányításához két Apollo Guidance Computer (AGC) számítógépet használtak, amelyek hardvere azonos volt, de a telepített programjaik különböztek. „Végső mentőövként" a LEM modul rendelkezett egy tartalék Abort Guidance System (AGS) számítógéppel, amely nem tette lehetővé a holdraszállást, csak a leszállóegység leválasztását és a vészvisszatérést, illetve a parancsnoki modullal való összekapcsolódást. Mindhárom rendszernek saját architektúrája, jellemzői és programozási nyelve volt, ami jelentősen megdrágította a fejlesztést.
Amikor megjelent az amerikai Space Shuttle űrrepülőgép projektje, az irányítórendszert teljesen másképp tervezték meg. Az alapot a Data Processing System (DPS) képezte, amely öt egymással összekapcsolt IBM AP-101B számítógépből és két független szalagos egységből állt. Bármelyik számítógép bármilyen programot képes volt feldolgozni, miközben a kritikus műveletek, például a felszállás és a leszállás során négy számítógép működött egyidejűleg, és kölcsönösen ellenőrizték egymást, így négyszeres redundanciát biztosítottak a rendszernek. Az ötödik számítógépen egy vésznavigációs program volt előkészítve, és készen állt arra, hogy a többiek meghibásodása esetén átvegye az irányítást. A számítógépeket három különálló szekcióban helyezték el egymástól elkülönítve, a hajó sérülése vagy a hűtés meghibásodása esetére.
Amiben viszont az űrrepülőgép fedélzeti számítógépei alapvetően különböztek az Apollo-program gépeitől, az az volt, hogy mindegyik azonos architektúrával rendelkezett, ugyanazt a szoftvert használta – és ugyanúgy is programozták őket. Ha bármelyik fedélzeti számítógép meghibásodott, a többiek teljes mértékben át tudták venni a szerepét – és ugyanaz a szoftver futott rajtuk, ami jelentősen leegyszerűsítette a fejlesztést és az üzembe helyezést. Ráadásul a beépített számítógépek kompatibilisek voltak az IBM System/360 sorozattal, csupán a repülési és űrkutatási igényekhez igazították őket, ami azt jelentette, hogy a programozóknak nem kellett új rendszert tanulniuk – elég volt, ha ismerték az IBM System/360-at! Ez hatalmas előny volt, ami drasztikusan csökkentette a szoftverfejlesztés költségeit és felgyorsította annak ütemét.
A számítógépek kölcsönös kompatibilitása határozza meg az úgynevezett platformot – és az ökoszisztéma feletti kontroll hatalmas előnyt biztosít a gyártóknak. Az IBM PC megjelenésekor az operációs rendszer feletti irányítást a Microsoft tartotta meg – és ez emelte a számítástechnika legjelentősebb vállalatai közé. Az IBM későn ismerte fel, hogy azzal, hogy az operációs rendszer feletti kontrollt átengedte a Microsoftnak, elveszítette a saját ökoszisztémája feletti uralmat – és a saját OS/2 szoftverplatformjára való átállási kísérlete kudarcba fulladt. Ma az Apple-nek ad óriási hatalmat a szoftver feletti kontroll – az Apple lényegében maga dönti el, mely alkalmazások jelenhetnek meg a rendszerében, és melyek nem.
Az a meggyőződés, hogy a szoftver fontosabb a hardvernél, Japánt is nagyhatalmi pozícióba emelte a számítástechnika területén: a hetvenes évekbeli számítógépeiket teljes mértékben a japán igényekre szabták, elsősorban a bonyolult karakterkészleteik kezelésére, ám a gyártók hamar rájöttek, hogy ezzel jelentősen korlátozzák saját lehetőségeiket. Ezért a nemzetközi számítástechnikai szabványokra összpontosítottak, a karakterkészletek kérdését a szoftverre bízták – és néhány éven belül a csúcstechnológiás számítástechnika nagyra becsült gyártóivá váltak.
i
Ezek a cikkek is érdekelhetnek:
A számítástechnika fejlődése megmutatta, hogy a hardver dominanciájáról alkotott eredeti elképzelést fokozatosan felváltotta egy új szemlélet, amelyben a szoftver játssza a kulcsszerepet. A szabványosítás, amelyet az IBM a System/360 sorozattal vezetett be, majd az ezt követő átállás az univerzálisabb szoftverhasználatot lehetővé tevő platformokra olyan meghatározó lépések voltak, amelyek forradalmi változásokat hoztak ezen a területen. Ennek köszönhetően a szoftver vált a fő tényezővé, amely meghatározza a számítástechnikai rendszerek értékét és funkcionalitását.