PHP vs .NET

Svjesno sam napravio gresku u naslovu jer PHP i .NET ne mogu da se porede jer ne predstavljaju istu kategoriju. PHP je programski jezik a .NET je framework. Ipak u komunikaciji u glavnom se koriste ova 2 pojma pa zasto sad da ja budem izuzetak.

U poslednje vrijeme vishe koristim php u radu (takvi su zahtjevi klijenata). Prosao sam kroz sve one frustracije tipa “Pa kako sad ovo ne moze ovdje kad moze u C#” ili “Gdje mi je funkcija za
ovo…”. Iskreno, PHP je jako simpatican jezik vrlo lagan za koriscenje.

Po meni, glavni nedostaci su to sto lako “trpi” greske i nedostatak nekih obiljezja objektnog programiranja kao namespace-ova (package u Java tehnologiji).

Ovo drugo je vrlo velik problem. Prilichno je tesko u timskom radu paziti da se ne podudaraju imena klasa. Jos jedna stvar koju ne volim je prosledjivanje parametara po referenci i po vrijednosti. PHP to po “default” radi po vrijednosti sto mi je nelogicno. Isto je kod kreiranja objekata. U vecini slucajeva programer ne zeli da napravi kopiju objekta vec samo referencu na memorijsku lokaciju. Naravno, tu je operator “&” da rijeshi stvar, ali ove nelogichnosti bi mogle da se promijene u sledecoj verziji php.
E sad da ne bi bilo da PHP ne valja, par stvari koje mi se svidjaju.

PHP je ekstremno lagan za koriscenje. Funkcija za ovo, funkcija za ono i eto ga :-).
Nekoliko framework rjesenja su zaista vrijedni pomena kao PRADO, Smarty, Zend Framework, itd. Ako se neko sjeti jos nekog neka mi kaze i vrlo rado cu da stavim u listu.

Provjeravam sta sam napisao i sjetih se da sam .NET samo pomenuo, a nista napisao. Da bih opravdao ovo “.NET” u naslovi par rijeci I o ovoj tehnologiji. Potpuna podrska za objektno
programiranje u jezicima koje koristi (VB.NET, C#, J#, C++). Ne mogu da se sjetim sta ne volim u ovoj tehnologiji osim toga da ne postoji ni jedan alat za rad konkurentan Visual Studiu. Iako VS
radi odlichno ne bi bilo lose da se pojavi konkurencija.
Zakljucak na kraju je da za manje aplikacije php zavrsava posao vrlo brzo. Treba da se poradi na objektno orjentisanom programiranju i napraviti standardizaciju frameworka za ovaj jezik.

U svakom slucaju nemojte se orjentisati samo na jedan programski jezik ili na jedan framework.
Nauchite programirati, tehnologiju cete birati u zavisnosti od potreba.

5 Komentara

Marko, 10 September 2006, 00:17

Još dva fina web-framework-a za PHP:

CakePHP: http://www.cakephp.org/ i
CodeIgniter: http://www.codeigniter.com/

a kad Ilija odvoji framework iz activeCollab-a, imaćemo još jedan :)

Dejan Ranisavljevic, 10 September 2006, 00:51

Samo da dodam symfony, koji je po meni kompletno okruzenje:
http://www.symfony-project.com

tomo, 10 September 2006, 03:24

Evo, dečki i ja u firmi radimo već mjesecima na cakephp-u i mogli bi za koji mjesec izići sa prvom killer aplikacijom napravljenom u cake-u. Cake je dobio prilično velik buzz u posljednje vrijeme, a stvari se tek zahuktavaju.

Ako smijem primjetiti, cakephp bi mogao revolucionizirati (kakva riječ!) programiranje u php-u. Zašto?
Brz je, koristi MVC, te time forsira objektno i uredno programiranje, ima podrsku za masu stvari (cache, RSS helper, ajax kao u RoR… ) a još masu će uskoro dobiti (šuška se o nekom mem-cache-u :), kompletnom I18 arhitekturom, CakeAMFPHP za vezivanje na flash… )

CodeIgniter smo probali prije cake-a i neusporedivi su. CodeIgniter radi jedan lik i to labavo, a cake sedmorica punom parom. Neki od njih rade s ekipom iz 37signals, te su razvijali dijelove RoR-a.

Jedina boljka je što su već 5 puta mjenjali core, te svakim update-om mjenjaju način rada s nekim funkcijama, no s verzijom 2.0 i to bi se trebalo stabilizirati.

Eto, uglavnom još malo ćemo moći uspoređivati php i .net, makar neizravno. :)

Odličan sajt btw. gl!

sinisa, 10 September 2006, 12:57

CakePHP ima nekih mana i bubica, ali je stvarno odličan.

Ivan (malfunction), 10 October 2006, 16:40

Veliko hvala za informaciju o CakePHP-u, uzivacu proucavajuci ga, ovako na prvi pogled vec vidim odgovore i smernice za mnoooga pitanja koja sam imao kod PHP-a i ideje za organizaciju celog koda.

* * * * *

commenting closed for this article