Diit.cz - Novinky a informace o hardware, software a internetu

Swift na Mac OS 9

Aprílové žertíky se v IT světě občas zvrhnou v něco funkčního, přesto i tak pobaví.

Měl jsem prvního dubna pocit, že obvyklých IT vtípků se letos nějak nedostává. Jistě, situace je vážná, ale kdy nebyla? Proto mě v RSS čtečce zaujal přišedší článek nazvaný Swift on Mac OS 9, žel i tady se už po pár odstavcích ukázalo, že se nejedná o vtip - autor skutečně zvládl spustit aplikaci k tomu účelu speciálně napsanou v jazyce Swift pod více než dvacet let starým operačním systémem Mac OS 9. Proč je to zvláštní?

Těm, kteří se vytrvale pohybují ve světě PC-kompatibilních strojů nejlépe na platformě Windows, asi nepřijde dvacetiletá zpětná kompatibilita jako nic fenomenálního. Před dvaceti lety byly novinkou Windows 2000 a dnes slušně napsaná 32bitová aplikace v nich pravděpodobně nemá problém fungovat, konec pohádky. Jenže u Apple se toho za tu dobu změnilo hodně.

Mac OS 9 běžel na 32bitových procesorech PowerPC a to počínaje jejich úplně první generací, tj. PowerPC 601 s taktem od 60 MHz výše. Neměl ochranu paměti ani preemptivní multitasking, technicky se tak jedná zhruba o ekvivalent Windows 3.x na PC a to, že vydržel až do konce století nebylo ani tak jeho kladnými vlastnostmi, jako čirou zoufalostí Apple v oblasti vývoje lepšího operačního systému, která se táhla prakticky po celou druhou polovinu devadesátých let.

Jen o pár let později Apple přešel na Mac OS X (později přejmenovaný na OS X a ještě později na macOS), tj. unixový operační systém s plným multitaskingem, ochranou paměti a víceuživatelským provozem. S Mac OS X se jablečné počítače vydaly nejdříve vstřích 64 bitům na PowerPC (pátá generace - PowerPC 970, 970fx, 970MP), následně 32 bitům na Intelu (Core Duo) a konečně současným 64 bitům tamtéž.

Jestliže se pro původní Mac OS psaly programy nejčastěji v C či C++, pak v Mac OS X se rychle programátoři přeučili na Objective-C a pár lety pak na Swift. A to je ve stručnosti celá ta propast mezi oběma světy…

…kterou ovšem autor -  Jordan Rose - nakonec překonal. Najdříve přesvědčil Clang/LLVM, aby vytvářel ty správné binárky, což bylo usnadněno tím, že už umí kompilovat pro IBM AIX, který má s Mac OS 9 stejné konvence volání procedur, plnění registrů a používání zásobníku. Následně do Swiftu doplnil použití stringů z Pascalu, protože ten je v Mac OS výchozí, ostatně systém (tehdy pod názvem Macintosh System Software) přišel na svět v době, kdy se v Pascalu seriózně programovalo a většina software na jeho počátku byla v Pascalu. Dílo završil vlastní a notně ořezanou implementací stdlibu a po několika dalších týdnech bugfixingu se výsledek dostavil.

Celý projekt je i dle autorových slov naprostou zbytečností, navíc má i dost nedodělků a více či méně drobných chyb - cílem bylo stihnout zveřejnění 1. dubna 2020. Přesto je to zajímavý počin a rozhodně doporučuju přečíst celý původní článek. A jen tiše čekám, kdy někoho napadne spouštět .NET pod Windows 3.11. Aha, tak nic - už napadlo

Martin Kukač

Většinu dne trávím tím, že přeměňuju kofein na kód. Když s tím skončím a ještě není čas jít spát, tak zbylý čas nerovnoměrně dělím mezi rodinu, sbírku počítačového harampádí, vysílání na volně přístupných pásmech a geocaching.

více článků, blogů a informací o autorovi

Diskuse ke článku Swift na Mac OS 9

Úterý, 7 Duben 2020 - 21:47 | Kazaxx | Na starých hrách z Gogu je krásně vidět jak hry...
Úterý, 7 Duben 2020 - 15:18 | RedHawk | hm pred 20timi rokmi som bol uz v internom...
Úterý, 7 Duben 2020 - 11:07 | J D | No když .NET Micro Framework běží i na Cortex-M...

Zobrazit diskusi