ugrás a tartalomhoz

PHP: platform, nem nyelv

Hojtsy Gábor · 2003. Dec. 22. (H), 12.44
Sterling Hughes blogjában jelent meg november végén ez az elmélkedés. Bár nem tekinthető a legújabb hírnek, valójában azonban éppen ide illik a fejtegetése, hiszen ma reggel adtunk hírt arról, hogy a PHP 5 újabb hasznos alapértelmezett elemmel bővül. Sterling bejegyzése igazából válasz Harry Fuecks PHP és .NET összehasonlító cikkére, mely a Sitepoint oldalon jelent meg korábban.

Sterling rögtön az első pont bírtálatával kezdve kénytelen rámutatni, hogy a PHP bizony nem nyelv, hanem sokkal inkább platform.

Példájában a wordwrap() függvényt hozza fel, de a rengeteg beépített kiterjesztésre is gondolhatunk, különösen a PHP 5 számos kellemes újdonságára. Ezek nem a nyelv részei, hanem kiegészítik azt. A PHP nyelvi része maga nem sokkal több, mint amit a Zend Engine megvalósít, és ez a PHP kézikönyv egy igen kis szeletében szerepel. A kézikönyv nagyrésze a kirejesztés készletet írja le, és bár ezek a nevük szerint is kiterjesztik a PHP-t, leginkább ezekre gondolunk, amikor arról beszélünk, hogy PHP-ben készült egy alkalmazás.
 
1

Re: PHP: platform, nem nyelv

Bártházi András · 2003. Dec. 22. (H), 14.23
Tiltakoznék... :) Egyrészt mindenki olvassa el a cikkhez a hozzászólásokat, ott is vannak érdekes gondolatok. Másrészt a Perl-ben is van wordwrap, és nagyon sokminden más is. Én azokkal a hozzászólásokkal értek egyet, amik a PHP-t egy webes framework környezetnek állítják be, és szerintem egy platform azért mást jelent...
2

Re: PHP: platform, nem nyelv

Hojtsy Gábor · 2003. Dec. 22. (H), 14.33
Szerintem pedig ha a C-vel hasonlítod mondjuk össze a PHP nyelvet, akkor a C esetében maximum az stdlibre gondolsz, amit a nyelvhez tartozónak érzel... Különben a C nyelv "nem sokat tud"... A PHP hasonlóan keveset tud, mint nyelv, ellenben viszont részének tekintik a levélküldést, vagy a HTML entitások (de)kódolását, vagy a feltöltött állományok automatikus kezelését, amit a Perl esetében is külső modulok (pl. CGI.pm) betöltésével tudsz elérni. Tehát a PHP "jobban összeragasztott" "platform"... Persze kérdés, hogy ki mit ért a platformon. Fontos az, hogy nem nyelv, hanem annál több... Kérdés hogy van-e jobb szavad rá :)
3

Re: PHP: platform, nem nyelv

Bártházi András · 2003. Dec. 22. (H), 16.35
Én nem tulajdonítanék nagyobb jelentőséget annak, hogy a PHP moduljai beépülnek, és nem kell includeolni őket. Egy .Net sokkal inkább platform, annak ellenére, hogy használni kell az importot. Szóval szerintem egy olyan nyelvről van szó, ami ki lett egészítve pár framework szerű tulajdonsággal (session és query kezelés, stb.), de mégsem tud eleget ahhoz, hogy frameworknek hívhassuk (nincs benne template, teljes MVC kezelés, stb).

Lehet még jönni azzal, hogy vannak benne automatizmusok, a változók feldolgozása, stb. Ennek egy részét azonban bármely nyelv nyújtja, hiszen az ENV elérhető a legegyszerűbb script nyelvekből is. A különbség annyi, hogy a PHP nem shell, hanem webes környezetbe tervezett nyelv.

Linuxos példát felhozva: attól, hogy a kernelbe is bele lehet fordítani meghajtókat, modulokat, attól még a kernel kernel marad, csak lesz egy ilyen tulajdonsága is.

Szóval egy kicsit túlmisztifikálja a cikk a dolgot szerintem. :) Persze tényleg attól függ, hogy mit hívunk platformnak, de ilyen szempontból szerintem más nyelvekről is el lehetne ugyanígy gondolkodni, illetve a felhozott érvek, miszerint platform, más platformnak nyilvánítható nyelveknél nincsenek is meg. Szóval kellene egy definíció a platform szóra, mert különben jól elbeszélünk egymás mellett. :)
4

Re: PHP: platform, nem nyelv

Hojtsy Gábor · 2003. Dec. 22. (H), 21.49
Nos, lehet hogy a te szempontodból az, hogy mi van beépítve és mi nincs, az részletkérdés, de éppen az tette alaposan elterjedtté a PHP-t hogy nagyon sokminden beépült.

Hogy pontosítsak kicsit rajtad, a PHP nem "egy nyelv amit kiegészítettek", hanem egy "a webes problémát megoldó" dolog, amit nyelvvé fejlesztettek. Rasmus első makrói nemigazán merítették ki a nyelv fogalmát, és még a PHP/FI2-ben is sok furcsaság volt, illetve rengeteg nyelvi elemnek nyoma sem volt... Szóval a PHP nem egy kristálytiszta nyelvi definíció felől közelítette a webet, mint a Java, a .NET vagy a Perl, hanem a web felől közelített a nyelvhez... Ezért látja Sterling is másképp a dolgokat...