Neural hírek logo
Retró programozás modern csavarokkal

Retró programozás modern csavarokkal

**A nosztalgia csapdája: miért nem volt jobb a retro számítógépezés, mint emlékszünk rá?** A múlt idealizálása gyakori jelenség, legyen szó vitorlás hajók kapitányáról vagy középkori lovagokról – pedig a valóság tele volt betegségekkel és nélkülözéssel. Ugyanez igaz a retrocomputingra is: a régi BASIC programozás romantikus emléke sokkal kellemesebb, mint a valóság, ahol a GOTO-k és a rejtélyes sorszámok megnehezítették a fejlesztést. A cikk bemutatja, hogyan készült egy modern BASIC preprocesszor három változatban – awk, Python és MBASIC –, amely címkékkel és korszerű vezérlési szerkezetekkel teszi elviselhetőbbé a régi gépeken való programozást. A tanulság: stratégiai csalással a retrocomputing szinte olyan szórakoztató lehet, mint amilyennek emlékszünk rá – és közben a fordító maga is futhat a célgépen, akár a CP/M-es Z80-on.

# Retrocomputing nosztalgia és a BASIC programozás újjáélesztése

A retrocomputing világa gyakran romantikus ködbe burkolózik, akárcsak a múlt más területei – gondoljunk csak a vitorlás hajók kapitányaira vagy a középkori lovagokra, akiknek mindennapjai korántsem voltak olyan dicsőségesek, mint ahogy utólag elképzeljük. Ugyanez igaz a régi számítógépekre is: amikor bekapcsoltuk a gépet, és azonnal a BASIC fogadott minket, készen arra, hogy saját programokat írjunk, mindez ma is vonzónak tűnik. A valóság azonban árnyaltabb: a nyolcvanas évek hobby-számítógépein nem léteztek kényelmes szövegszerkesztők, fejlett hibakereső eszközök, névvel ellátott függvények vagy modern vezérlési struktúrák – helyettük GOTO-k és GOSUB-ok tömkelegével kellett boldogulni. Ez a „rózsaszín visszaemlékezés” (rosy retrospection) jelensége, amely szépíti a múlt tapasztalatait.

A Hackaday Retrocomputing Challenge kapcsán a szerző egy ambiciózus projektbe kezdett: egy BASIC előfeldolgozó (preprocesszor) megírásába, amely címkék és modern vezérlési struktúrák segítségével teszi olvashatóbbá és karbantarthatóbbá a régi MBASIC kódot. Az ötlet nem új – gondoljunk csak Brian Kernighan RATFOR és RATFIV rendszereire, amelyek modern szerkezeteket fordítottak hagyományos FORTRAN IV-re, vagy a C++ kezdeti verziójára, amely C kódot generált. A kihívás azonban a számtalan speciális eset kezelésében rejlik: a címkéket és a karakterláncokat egyedileg kell azonosítani, elkerülve az olyan hibákat, amikor egy szöveges üzenetben szereplő kettőspont tévesen címkeként értelmeződik. A szerző végül három verziót készített el – egy awk szkriptet, egy Python változatot és egy eredeti MBASIC implementációt –, amelyek mind ugyanazt a szintaxist használják, és közös funkcióikban azonos eredményt produkálnak.

A fejlesztés során olyan modern nyelvi elemek kerültek be a BASIC környezetbe, mint az IF…THEN!…ENDIF!, a WHILE!…WEND!, a DO!, az EXIT! és a CONTINUE!, valamint feltételes fordítási blokkok, fájlbeillesztés és egy egyszerű veremstruktúra PUSH! és POP! utasításokkal. A MBASIC verzió megírása komoly korlátokkal járt: nincsenek szótárak vagy dinamikus listák, így a címkék és blokk-állapotok fix méretű tömbökben tárolódnak, a fájlbeillesztés kezelése pedig explicit vermet igényel. Ennek ellenére a translator önmagát is le tudja fordítani: az awk prototípus egyszer legenerálja az lblbas.bas fájlt, amely után a CP/M gép önállóan képes feldolgozni a BAL forrásfájlokat – köztük a saját magát is –, így nem szükséges modern számítógépre átváltani a fejlesztéshez.

A projekt gyakorlati hasznosságát olyan mintaprogramok mutatják, mint a TM1637 LED-kijelző vezérlése vagy a HILO.BAL játék, amelyek jól illusztrálják, hogy a címkék és vezérlési struktúrák mennyivel olvashatóbbá teszik a kódot a hagyományos, csupasz BASIC-hez képest. Bár a generált program továbbra is sorszámokat használ, és a megvalósítás kompromisszumokat tartalmaz, a fejlesztés élménye jelentősen javul – különösen WordStar szerkesztővel dolgozva. A tanulság tehát nem az, hogy a retrocomputing jobb volt, mint amire emlékszünk, hanem hogy egy kis stratégiai „csalással” majdnem olyan szórakoztatóvá tehető, mint amilyennek a nosztalgia festi.


Ez a cikk a Neural News AI (V1) verziójával készült.

Forrás: https://hackaday.com/2026/09/14/rosy-retrocomputing/.

A képet Lorenzo Herrera készítette, mely az Unsplash-on található.

Neural hírek

**Spanyolországban repülőgőgépek ezrei indulnak a bank holiday hétvégén, a brit utazók rekordforgalomra számíthatnak.** A spanyol repülőtereken augusztus 29. és 31. között összesen 29 592 járatot
**A nosztalgia csapdája: miért nem volt jobb a retro számítógépezés, mint emlékszünk rá?** A múlt idealizálása gyakori jelenség, legyen szó vitorlás hajók kapitányáról vagy középkori
A **Judith Pungarta Inkamala**, **Marjorie „Nunga” Williams** és **Nelson Armstrong** által közösen rendezett *Our Choir Has Always Been Travelling* című animációs rövidfilm elnyerte a **VicScreen
A Reuters exkluzív információi szerint az Anthropic AI-laboratórium tőzsdére lépése azon a belső előrejelzésen nyugszik, amely 2028-ra 190 és 200 milliárd dollár közötti bevételt vetít
Több nagyvállalat – köztük a Walt Disney, a Starbucks, a Bloomberg és a Deloitte – 2027-től jelentős egészségügyi juttatáscsökkentéseket vezet be, ami súlyosan érintheti a
Az Apple újabb bizonyítékokat tárt fel az OpenAI elleni perében, amelyek súlyosan érintik a feltételezett üzleti titoklopást. A vállalat szerint a volt mérnök, Chang Liu

Kertészet