Java vs. PHP

Ve škole máme jako povinný předmět také programování v Javě. Zpočátku jsem byl vůči tomuto jazyku dost skeptický a nemohl jsem si zvyknout na jeho typovou kontrolu. Zvlášťe při převodu proměnné z referenčního typu na typ primitivní jsem měl sto chutí vyhodit ty zasíťované fazole z okna (NetBeans). Stále jsem opakoval: "Zlaté PHP, tam bych to měl hned." Po čase jsem však tomuto jazyku začal přivykat a v současnosti jím začínám být dokonce nadšen.

Původně jsem si myslel, že typová kontrola Javy je značnou překážkou, teď si ale myslím, že je to naopak velká výhoda oproti volnějším jazykům. Programátor má díky ní neustálou kontrolu nad typem proměnné a ví, co od ní může očekávat. Další nespornou výhodou je výborně implementovaný objektový model. V porovnání s Javou je PHP naprosto neobjektový jazyk. Přijde mi, že PHP přímo táhne k prasení, zatímco Java nutí k pořádnému zamyšlení a dobrému návrhu.

Pro ukázku síly OOP přikládám prezentaci z jednoho cvičení Javy. Elegantnější aplikaci jsem snad ještě neviděl.

prezentace OOP

Napadla mne proto zajímavá otázka: Proč žádný běžný hosting nenábízí podporu Javy (servletů)? Java je přece velmi oblíbená a může bez problému fungovat jako jazyk webové aplikace.

Že by snad Java nebyla tak výkonná jako PHP? PHP se ale musí při každém spuštění parsovat, kompilovat a interpretovat, zatímco Java se jen interpretuje...Nevím, ale zkusím zjistit.

evaluation

Komentáre

[1] honza
2007-04-04 15:08:07

S Javou je to bohuzel slozitejsi. Viz http://www.sweb.cz/pichlik/labels/MVN.html

No s tim, ze PHP takhne k praseni nesouhlasim. V Jave se da prasit uplne stejne. Je to jen o vyvojari.

[2] Dundee
2007-04-05 13:56:33

Diky za osvetleni. Uz tomu konecne zacinam rozumer.

U PHP je podle me dost problem s objektovym modelem a typovou kontrolou. To mi proste vadi...

2007-04-15 20:51:18

java i php maji sve pro a proti... v jave jsem minuly rok naprogramoval par desitek tisic radku a typova kontrola a moderni IDE maji svoje kouzlo... ted jsem vratil opet k php a neni to spatne... diky "naproste dynamicnosti jazyka" (pravda lisp to neni) jde naprosto "elegantne" prasit s reflexi...


$foo = ($bar ? "baz" : "bam");
$obj->$foo();


(v jave je to hafo naprosto "zbytecnych" volani...)

nebo pomoci __get, __set a navrhoveho vzoru factory jde implementovat "hibernate na par radku".... ale je fakt, ze tyto veci nepatri do ruk malym detem... ;-] jedina vec, ktera me chybi jsou vnitrni tridy (popr. anonymni tridy) nebo funkce vyssich radu... ale to uz by fakt bylo php pouzitelny jazyk... ;-]

jeste k tomu hostingu... ja bych tu situaci nevidel tak cerne... vzhledem k cim dal tim vetsi dostupnosti virtual server hostingu... kde si kazdy muze nainstalovat cokoliv... (pipni.cz dokonce nebizelo neco i zadarmo)

Na tento komentár odpovedal [4] Dundee
[4] Dundee
2007-04-15 23:20:09

#3 deda.jabko: Tak tohle je vec, kterou uz jsem davno zapomnel :)

Co myslis tim hibernate?

JJ, virtualni serverhousing je moc zajimava vec, ale stejne je to jeste dost drahe. Tedy pokud chce mit clovek aspon trochu ramky a vykonu...

Na tento komentár odpovedal [5] deda.jabko
2007-04-15 23:57:55

#4 Dundee: http://www.hibernate.org/ moc kouzelna vecicka...

[6] Jakuje
2010-01-13 16:18:54

Souhlas s článkem. Java mě teprve čeká, něco jsem se o objektech naučil (samozřejmě na příkladech v Javě) a hafo věcí v PHP slušně buď udělat nejde, nebo ještě složitěji, než když si z toho udělám asociativní pole.
O php 5.3 se všude mluví už rok (nebo dokonce dva ?) a stále žádná pořádná podpora. Oficiálně existuje, ale prakticky to nemám kde jinde než na localhostu jak rozběhnout. A je mi to líto, protože mě to nutí prasit ... :(

comments closed