Egy kis történelem


Charles Babbage 1833-ban réz- és ónkerekekből kezdett számítógépet építeni. Ez akkori­ban, amikor Assemblerben kezdtem programozni, egy kicsit primitívnek tűnt számomra, mostanában viszont a modern programnyelvek és az Assembler közti különbség tűnik ak­korának, mint a réz és a modern számítógépek szilikonchipje közti különbség.
Mintegy 30 programnyelvben dolgoztam, és írtam is egypárat, de jó néhányszor belefutot­tam az egyes cégek által kifejlesztett saját tulajdonú programnyelvek, illetve az egyetlen programozó által írt nyelvek okozta megszorításokba. A nyílt forráskódú szoftverfejlesztés lényegében megszüntette ezeket a korlátozó tényezőket.
Ha egyetlen ember fejleszt egy nyelvet, szorosan ellenőrzése alatt tarthatja azt, és képes a számítástechnikának új irányokat adni. Az IBM-nél 1969-ben dr. Charles Goldfarb vezette azt a kutatócsoportot, amely a Generalized Markup Language-t (GML), majd később a Standard Generalized Markup Language-t (SGML) kifejlesztette. Az SGML a Hypertext Markup Language (HTML) őse. Elmondhatjuk, hogy Dr. Goldfarb új irányba terelte a szá­mítástechnikát.
A nagy vállalatoknál kifejlesztett saját tulajdonú programnyelvek ezzel ellentétes irányba haladnak. Az IBM két olyan termékével is dolgoztam, amelyek ugyanazt a piacot célozták meg, de mind a kettőt korlátozta, hogy nem voltak kompatíbilisek az IBM összes terméké­vel. Az IBM szakemberei saját érdekeiknek megfelelően használták a fejlesztési projekte­ket, ami aztán mindkét termék végét jelentette. Nyílt forráskódú fejlesztés esetén nincsen .ehetőség az egyéni érdekek előtérbe helyezésére, hiszen ez a fejlesztési módszer lehetővé :sszi, hogy a programozók versenyeztessék saját ötleteiket, a felhasználók pedig eldöntik, nogy nekik melyik változat felel meg. Végeredményben a kevésbé hasznos termék beolvad más termékekbe, vagy háttérbe szorul, hiszen helyette a fejlesztők a népszerűbb termékek :ovábbfejlesztésével vagy teljesen új ötletek kidolgozásával foglalkoznak.
A nyílt forráskód megjelenése
1992-ben Linus Torvalds a Linux megírásával előtérbe helyezte a nyílt forráskódú szoftvere­ket. A Linux egy olcsó PC-n is futtatható ingyenes operációs rendszer. Emberek ezrei töltik szabadidejüket a Linux fejlesztésével, hogy emberek milliói ingyenesen használhassák.
1994-ben Rasmus Lerdorf kifejlesztette a PHP/FI-t, ami a nyílt forráskódú fejlesztéseknek köszönhetően PHP4-gyé fejlődött. A PHP4 egy olyan nyílt forráskódú nyelv az új webfejlesztők számára, amely folyamatosan váltja fel a Perihez hasonló régebbi nyelveket.


A PHP előnyei


Egyértelmű, hogy a PHP az egyetlen igazi nyelv, de vannak, akiket csak a tények győznek meg, a tények pedig azt mutatják, hogy napjaink weboldalaihoz a PHP a megfelelő szkript nyelv. Tapasztalataim alapján állítom, hogy a PHP-t könnyebb tanítani, mint az olyan keve­rék nyelveket, mint a Visual Basic vagy az US. Mivel több iskolában tanítanak Visual Basicet, mint PHP-t, rövid távon az informatikai menedzserek számára vonzóbb a Visual Basic.
Értelmezés kontra fordítás
Gondolj a számítógépes nyelvekre úgy, mint utasítások listájára. Aztán vegyél egy általad rendszeresen használt utasítást, legyen az ételrecept vagy feljegyzés arra vonatkozóan, hogy hogyan találod meg a barátod új házát. Képzeld el, hogy az utasításokat begépelő ember né­hány, számára magától értetődő utasítást kihagy, vagy néhány szót hibásan gépel be. Az eredmény az lesz, hogy nem tudod az utasításokat követni.
Vonatkoztasd ezt a problémát a fordítóprogramokra. Ahogy a programozó befejezi a gépe­lést, a számítógép megnézi a helyesírást, és ellenőrzi, hogy az egyes utasítások ott kezdődnek-e, ahol az előző befejeződött. (Azonban a számítógép nem tudja ellenőrizni, hogy borsra vagy borsóra gondoltál, hiszen mindkettő szükséges hozzávaló.)
A fordított nyelveknek vannak hátrányai: az egész programot meg kell írnod fordítás előtt, hiszen minden hiányzó rész fordítási hibát okoz. Az értelmezett szkriptekkel lehet soron­ként haladni, mert az értelmező anélkül foglalkozik az adott sorral, hogy ellenőrizné a töb­bi megvan-e.
Vonatkoztasd a számítógépes értelmezést a hibásan írt névre. Amikor a programozó befeje­zi az írást, a számítógép semmit nem tesz. A számítógép addig nem ellenőrzi az utasításo­kat, amíg el nem kezded használni azokat. A számítógép addig nem foglalkozik az adott
név helyesírásával, amíg a nevet tartalmazó sor utasításához nem ér. Egy félig kész leves re­ceptjének a közepére érve a gép közli veled, hogy nincs „őrült bors". Az egész folyamatban lévő munkát kidobhatod, és másnap kezdheted elölről.
A PHP a fordítás és értelmezés majdnem tökéletes keverékét nyújtja. Annyit ellenőriz, amennyit egy jó fordítóprogram ellenőrizne, és emellett az értelmezés előnyeit is biztosítja.