history repeating
Published March 12, 2007 by dna
történész hallgatóktól sokszor lehet hallani azt a kellemes közhelyet amikor megkérdezik őket miért is történelmet tanulnak, hogy a “múlt ismerete segít eligazodni a jelenben és utat mutat a jövô felé”. brrwf. ennek ellenére most mi is magunkévá tesszük ezt az állítást és ennek fényében írnók az alábbi bejegyzést.
ha megkérdeznék mai pen rai-től, hogy ki is lenne az a múltbeli magyar akivel legszívesebben szót váltana, habozás nélkül neumann jánost. no nem azért, mert szerintünk a legnagyobb számítástudósa a nemzetnek (meg fizikusa, közgazdásza, matematikusa, stb, bár ez utóbbiakat nem hangoztatjuk, mert valószínűleg felhördülés hegyek, no meg a mémet most már amúgy is elültettük), hanem azért, hogy megkérdezzük arról, amiről ez a bejegyzés szólni fog.
a számítástudomány mai állapotát nézve, az embernek elengedhetetlenül az az érzése, hogy már nagyon egy a torta tetején tündöklő cseresznye csiszolásával foglalkozik, a felhasználói élmény, a web 2.0, a web 3.0 az affordance (ha valaminek örülhetünk itt az nyilván az, hogy a természetes nyelv is gazdagszik) és persze az összes vele járó technológiai sárkányfű nevelgetésével. mi úgy véljük, hogy az egész mögött valahol eltűnik a lényeg, a technológia mögött rejlő alapelv, program és adat interakciója. és itt jön elő a számítástudomány történetének egyik mostanában el-eltűnő gondolata, mely neumann nevéhez fűződik.
neumann-ról kapta nevét a ma legelterjettebb számítógépes architektúra, a von neumann architektúra. evvel szemben áll ugye a harvard architektúra, mely bár lényegesen kisebb számban, de azért mind a mai napig jelen van; a mai pen rai oldalain taglalt dolgoktól ugye nem is nagyon távol, mert a hangszobrászathoz használt jelfeldolgozásban elengedhetetlen jelfeldolgozó (dsp) csipek között sok az ilyen is.
node vissza a von neumann architektúrához; miről is van itt szó? tömören összefoglalva azt mondhatnók, hogy a von neumann architektúrában az adat és a program ugyanazon a tárhelyen helyezkedik el. ez nem tűnik így elsőre túl nagy durranásnak, sőt sokan egy legyintéssel el is intézik - annó szűkös volt a memória, így ezzel temérdek helyet és ezáltal költséget lehetett megspórolni. a wikipédia cikke szerencsére ennél tovább megy és rámutat, hogy persze itt azért ennél többről van szó; ha ugyanaz az adat és a program, akkor semmi nem akadályozza meg, hogy a program önmagát is adatnak tekintse ezzel utat nyitva az önmódosító programok felé. azonban a cikk is és általában a von veumman architektúra kritikusai megállapítják, hogy ez ma már idejétmúlt, mert a memória olcsó és különben is az önmódosító programok nehezen értelmezhetőek, lényegesen nagyobb bennük az emberi hiba lehetősége és persze nem tesztelhetőek.
ezek persze valóban igazak bizonyos szinten, de mivel hogy neumann nincs jelen, hogy válaszolhasson a kritikára, így. gyanítjuk azonban, hogy nem teljesen erről volt ill. van szó.
neumannt lenyűgözték a biológiai struktúrák. ezeknek művi és természetes formáit is előszeretettel tanulmányozta. elvégre ő volt az első a világon aki papírral és ceruzával megtervezte a világ első önreprodukáló automatáját biomorf alapokon. úgy gondoljuk, hogy a neumanni felismerés lényege elsikkadt, nevezetesen az, hogy program mely az adatot - vagy adott esetben önmagát - módosítja megkülönböztethetetlen az adattól struktúrálisan. azonos bonyolultságú. most szintaktikai kérdésekbe nem mennénk bele, csak hogy illusztráljuk mondanivalónkat, ne felejtsük el, hogy amikor a von neumann architektúra megszületett, a gépikódban írt program és a adat gyakorltilag egymástól teljesen megkülönböztethetetlen bájtok (ill. lyukak) sorozata.
ezek alapján úgy véljük, ma a neumanni elv újfent alkalmazása nem mondjuk bájtkód injektálása lenne a jvm-be, vagy gépikódé a központi feldolgozó egységbe. ó nem. egy olyan rendszert képzelünk el, ahol adat és program struktúrája megkülönböztethetetlen. egy olyan rendszert melynek kifejező ereje és eleganciája újra lehetővé tenné azt, hogy a program saját struktúráját módosítva adaptálódjon az őt befogadó környezethez. egy olyan rendszert, amelyik - bár jöjjenek újabb számítástudománybeli paradigmák - azokat túl éli, sőt beépíti magába.
utópia? a jövő rendszere?
könnyedén rávághatnók, hogy igen, de tévednénk. itt kell a bejegyzés elején citált történész hallgatót felidézni, mert akárcsak a neumanni elv, ugyanúgy ez a rendszer is létezik, csak sajna a számítástudományban a mémeket rettenetes mértékben módosítják és irányítják a korporációk (példának felhozhatnók a java vs. smalltalk párhuzamot is).
szóval úgy véljük, hogy ez a rendszer régóta jelen van, számtalan dialektussal is (egy kevésbé triviális pl. ez), és úgy hívják, hogy lisp. pár év lisp használat után az ember szemében adat és program közötti különbség eltűnik (pl. egy xml feldolgozó program lisp implementációja kísértetiesen úgy néz ki mint az adat amin dolgozik), és bár az önmódosító rendszereket csak szűk célterületen használják, ott annál inkább figyelemreméltóbb sikereket elérve. a paradigma váltásokat tekintve pedig, a lisp eddig mindent túlélt de nem mint áldozat ill. túlélő őskövület, hanem azokat önmagába építve. gondoljunk egy pillanatra a clos-ra, vagy a kiterjesztésére a mop-ra, mely mindmáig talán a legelegánsabb objektum-orientált modell és a lisp-en ugye semmi változást nem kellett eszközölni ahhoz, hogy megvalósuljon. vajh, miért is? ja persze, mert a lisp makrók lisp programkódot generálnak. a program önmagát írja. itt persze megemlíthetnők a számítástudomány és azon belül az objektum-orientált gondolkodás legfontosabb könyvét is, melyet sokan szeretnének egy másiknak
odaítélni, de ők persze messze nem értették meg az egymást vizsgálgató objektumok kapcsolatát (ó nem, nem jó példa a soa, corba, és még csak a reflection sem, tessék elolvasni).
no de mindez nem csak mai pen rai elkalandozó gondolatainak összjátéka?
lehet. mindenesetre egy mostanság elég gyakran emlegetett cég nemrég tette meg a lisp demiurgoszát kutatási igazgatójává és nyilván az sem véletlen, hogy ők így párhuzamosítanak. de ez már egy másik bejegyzés témája…
Filed under tech
You might also be interested in zero degrees, infinite smelly stick

Norvig valóban megfelelő kutatási igazgatónak látsik, de ha már a Google friss alkalmazottait teküntjük, akkor ne feledjük azt sem, hogy a manapság egyik legnépszerűbb szkriptnyelv alkotóját sem véletlen alkalmazzák, aki aztán rögtön kijelenti, hogy ez nyilván nem véletlen, mert egy kissé használják a nyelvet.
Ám a lényeg inkább az, hogy nem egy bizonyos RMS-t alkalmaztak, hanem inkább egy Molnár-t
, mert nyilván tisztában vannak vele, hogy melyik a hasznosabb, szebb, és jobb eszköz, bwahaha. És ha már anno megemlítetted, hogy a php egy rusnya állat - és valóban -, azért a lisp is sokban emlékeztett egy nagy magyar Kudarc című regényének szerkezetére, és ugye a cím meg sokat mondó 
És hol az az Edit gomb?
Oszt a kommentszámláló sem működik, szólt a tester.
1. az emacs vs vi verembe nem szivesen, mert egyreszt mind a kettot nap mint nap, meg nem is az emacs miatt jo a lisp (inkabb forditva)
2. rms-t itt mai pen rai-nel nem nagyon kedveljuk, a szabad szoftver mozgalmat kisertetiesen szovjet mintara probalja gyurni. igy ugy veljuk cegeknek sem trockij
3. a python momentuma letagadhatatlan, de ez nem feltetlen meri a minoseget. lasd java vs. smalltalk.
4. az hogy ki es mit hasznal es mire, az persze valoban fajo pont. ezert is irodott a cikk, mert ugy erezzuk, hogy a tisztelt olvasonak abszolut igaza van. es ugy erezzuk, hogy sokat veszit mindenki avval, ha nem tanulmanyozza a lisp-et. virtualis gep? szemetgyujtes? objektum orientaltsag? aspektus orientaltsag? you name it. 1960.
5. es vegul a szepseg az persze teljesen szubjektiv. ha a (zarojelek (zavarjak (tisztelt))) olvasonkat, hat van olyan dialektus amelyikben ezek nincsenek, de ezeket nagyon gyorsan meg lehet am szokni es szeretni. ez persze lehet, hogy csak egyfajta stockholm szindroma, de hat ezt innen belulrol nyilvan nem.
1. az edit gomb az egy link es miutan megirodott a bejegyzes, a “posted” mellett lathato (es hasznalhato) a post idejetol szamitva fel oraig. hogy a tortenelmet azert ne rms-ezzuk mar ossze
2. a szamlalo csak jova hagyott megjegyzeseket szamlal. sajnos meglehetosen sokan ugy velik, hogy a porno es a viagra szorosan fuzodik mai pen rai tematikajahoz (pedig igen), igy moderalnunk kell a bejegyzeseket
Oh, nem vi. Vim.
Nem azt szerettem volna mondani volt, úgy a magam mint saját nevemben, kedves barátaim, tisztelt választók, hogy a zárójelek csúnyák (ha majd egyszer lesz időm, jól felrakom vhová egy filmesztéták@ listára beküldött filmkiritikáimat, és hát igen, mondhatni lisp-ben íródtak, sok olvasó (mintegy 120) el is küldött a (messze), csak akkor sem szép.
Másrészt meg sok helyen használják a lisp-et még ma is, és tényleg igen érdekes, de azért leszámítva a hozzáértőket (nyilván Paul Graham), a mániákusakat akik mindenbe belekapnak (mint én, bár most tényleg jól el vagyok a ruby-val, meg a zsh-val (erről ugye az jut eszembe, hogy (ha jól tudom) a zsh a $SHELL az OS-X-n, de sajnos nem fogom mégse megtapasztalni, mert apósom (munkahelye) kiszavazta a MacBook-ot (és vett helyette ThinkPad-et (de majd berakok havonta 10k-t a pánacihába (oszt jónapot)))), azért nem teremtenek akkora (huha, rá kellett keressek a “hype” magyar jelentésére), felhajtást körülötte, és ha jól emlékszem igazán csak a Reddit-et írták lisp-ben (de azt is csak egy darabig), a főnökök meg csak addig látnak, hogy orékl.
Becsszó nem láttam az edit gombot (illetve igen, de az egy Firefox plugin, it’s all text, hogy vim-ben editáljak textboxokat). Csak jóváhagyott válasznál látszik?
Most úgy látom, hogy csak jóváhagyottat lehet editálni, addigra meg az olvasó már rég elment Míting atyával találkozni.
1. sajna a lisp-pel felre csuszott picit a bejegyzes altal megcelzott irany, itt leginkabb a neumann elvu architektura egy masfajta ertelmezese volt a cel es a lisp pusztan ennek illusztralasara szolgalt (marminthogy ezen ertelmezes alapjan mukodo rendszer trendeket es fab-eket tul el).
2. itt az OSX-en bash a default, de persze nalunk itt is eshell es dired az ur