macintosh_cover

Így került “magyar kód” az Apple szoftverébe

#HÍREK
2014. 11. 26.

Andy Hertzfeld az Apple hőskorában Macintosh-fejlesztőként dolgozott, és számos anekdotájában a cég akkori mindennapjairól mesél. Tőle tudhatjuk azt is, hogy mit neveztek az Apple-nél “magyar kódnak”.

A legelső Macintosh számítógép fejlesztésekor Andy Hertzfeld és a Macintosh csapat többi tagja azon dolgozott, hogy a korábban bemutatott Apple Lisára készített lehető legtöbb programot felhasználhassák az új Macintosh rendszerhez. Ugyan a Lisa és a Macintosh ugyanazt a processzort használták, utóbbinak sokkal kevesebb memóriája volt, így még az akkori sztenderdekhez mérten is nagy figyelmet fordítottak a programkód optimalizálására, és szinte mindent a processzor natív assembly nyelvén írtak meg.

Amikor a QuickDraw rajzprogramhoz értek, arra számítottak, hogy könnyű dolguk lesz, hiszen az eredeti fejlesztő, Bill Atkinson eleve assembly-ben írta meg. Viszont a futtáshoz szükséges egyéb modulok a kevésbé hatékony Pascal nyelven íródtak, ezeket tehát mindenképpen át kellett írniuk a processzor natív nyelvére.

A QuickDraw sokáig a Macintosh operációs rendszer részét képezte, még a Mac OS X Mountain Lion verziója is támogatta a QuickDraw könyvtárak használatát.
A QuickDraw sokáig a Macintosh operációs rendszer részét képezte, még a Mac OS X Mountain Lion verziója is támogatta a QuickDraw könyvtárak használatát.

Ekkor találkoztak először “magyar nyelvű” kóddal, ami a Tom Malloy által készített memóriakezelő modul forráskódjának olvashatatlanságára utalt. Tom Malloy nem volt ugyan magyar, viszont mint kiderült, a kifogásolt módszert egy valóban magyar üzletembertől, Charles Simonyitól tanulta.

Malloy ugyanis korábban a Xerox-nál dolgozott és Charles Simonyi vezetésével egy szövegszerkesztő programot fejlesztettek. Itt szokott rá Simonyi miatt, hogy a változók elnevezésekor helytakarékosságból kihagyja a magánhangzókat. Emiatt a Macintosh-fejlesztők alig bírták értelmezni a kódot, amihez mondjuk az is hozzájárult, hogy semmilyen kommentet nem tartalmazott.

Így a programkód még a hozzáértőknek is inkább hasonlított egy távoli országban beszélt érthetetlen nyelvre, mint egy strukturált parancssorozatra. Azt is tudták, hogy Charles Simonyi Magyarországon nőtt fel, így ezt az értelmezhetetlen rendszert onnantól fogva csak magyar stílusnak nevezték.

Tom Malloy memóriakezelője egy kiemelkedő példánya a magyar Pascal kódnak, amiben olyan azonosítók szerepeltek, mintha Superman ötödik dimenzió-beli ellenségére, Mr. Mxyzptlk-re utalnának.

charles_simonyi_xerox
Charles Simonyi a Xeroxnál töltött éveiben

Andy Hertzfeld blogján egyébként tapintatosan csak annyit ír Simonyiról, hogy kifejezetten különc programozó volt, aki sok alapvető technikáról másként gondolkodott, mint a szakma nagy része. Így például a magánhangzókat sem hiányolta a változók nevéből.

Végül persze nem kis munkával átírták a kódot egy szépen rendezett, kommentekkel ellátott assembly parancssorozattá. Így már egyértelmű volt, hogy melyik sor miért felelt, és nem kapott fejfájást akárki, aki nekiállt kivesézni a kódot, de ez már közel sem olyan emlékezetes, mint a Charles Simonyi által “kifejlesztett” magyar módszer.

Forrás: Folklore.org