PHP vs ASP.NET the world

Niedawna premiera PHP 5 spowodowała lawinowy wręcz przyrost artykułów i najróżniejszych wypowiedzi w stylu Why PHP 5 Rocks. Ogólna opinia "społeczności developerów aplikacji webowych" wydaje się sugerować, że tym razem jest to już poważne zagrożenie dla ASP.NET[1].

Opinia taka jest uzasadniona o tyle, że PHP w wersji 5 faktycznie zaczyna przypominać współczesny język programowania. Z drugiej jednak strony sama koncepcja porównania jest dosyć bzdurna z powodu istotnych różnic w przeznaczeniu i sposobie wykorzystania tych języków. Osobiście rolę ASP.NET widzę trochę inaczej — raczej jako sposób na operowanie stroną lub kontrolkami na stronie, podczas gdy "poważne" przetwarzanie serwerowe odbywa się w kodzie wskazanym np. dyrektywą <%@ Page %> lub <script runat="server"> a napisanym w jakimś rozsądnym języku typu C# czy choćby nawet VB.NET. Dużo bardziej to podobne do JSP wykorzystującego JavaBeans niż do PHP. Niemniej jednak porównania ASP.NET vs PHP[2] powstają znacznie częściej niż porównania ASP.NET vs JSP.

PHP jako język ma (wciąż jeszcze) sporo wad. Dodatkowo zauważalne przez niektórych niedojrzałości i niekonsekwencje plus bagaż wersji poprzednich powodują, że wiele rzeczy można w nim napisać na kilka równie złych sposobów i za każdym razem "raczej będzie działać". Przez to powstaje sytuacja, która w informatyce jest nader częsta, a mimo to zawsze wyprowadza mnie z równowagi — każdemu wydaje się, że umie programować w PHP. Nawet mi.

Oczywiście niezaprzeczalną zaletą PHP jest fakt, że współpracuje "naturalnie" z Apachem, w przeciwieństwie do ASP.NET, dla którego naturalny jest serwer IIS. Chociaż w zastosowaniach komercyjnych nie nalegałbym na środowisko LAMP jako całość, to jednak kilka ciężkich doświadczeń i smutnych newsów w mediach spowodowało, że śpię znacznie spokojniej wiedząc, że Ważny System chodzi na Apachu, a nie na IIS-ie. Zresztą jest to chyba odczucie dosyć powszechne i nie trzeba daleko szukać potwierdzenia, np. The Inquirer również stawia "avoiding IIS security bugs" jako pierwszy powód przechodzenia z IIS-a na Apacha.

Ale czy przewaga serwera Apache to przewaga języka PHP? Ja widzę to tak:

  • zachwyt nad PHP 5 to radość z narzędzia, które zyskując normalną obsługę obiektów i wyjątków nagle okazało się niemal "językiem programowania" a nie tylko "skryptem"; być może nawet chodzi tu o ewolucję użytkowników PHP, którzy dorośli już do czegoś większego(?),
  • porównanie PHP do ASP.NET to porównanie nie tych języków jako takich, tylko ich platform, serwerów (Apache vs IIS), czy wręcz filozofii (OpenSource vs Microsoft),
  • porównania PHP vs JSP są znacznie mniej ciekawe bo po pierwsze oba środowiska są otwarte i aspekt polityczny (jeżeli w ogóle istnieje) jest dużo mniej czytelny dla publiczności, a po drugie różnice technologiczne są zbyt duże i zbyt oczywiste, żeby takie porównanie dało się podsumować jednoznacznym wskazaniem zwycięzcy.

Co oczywiście nie oznacza, że nie cieszę się z PHP 5...

[1] Ciekawe, że o ewentualnym zagrożeniu dla JSP jakoś nikt nie mówi...

[2] Np. "PHP and ASP.NET Go Head-to-Head" — lekko stronnicze i napisane jeszcze przed oficjalną premierą PHP 5.0.0, ale warto zerknąć.

Komentarze

#1 | 2005.07.06 14:53 | ico

Moim zdaniem (programista .NET) , niema co porównywać tych 2 technologi !! To zupełnie inne dwa światy ! Zresztą już wyszła wersja php.NET więc po kiego grzyba porównywać ? skoro teraz to się już namieszało ! Php to php , a ASP.NET to c#,vb,j#,perl,php,JScript,Chrome itd itd itd ! to kombajn programistyczny, więc choćby z tego punktu widzenia porównanie skazane jest na zagłade ! ASP.NET jest dopiero dostępne w pierwszej wersji (.NETFramework 1.x), dwójka to narazie beta ! Php ma już swoją 5 wersje więc wiadomo , że jest bardziej "dopracowana" ! W ASP.NET jest jeszcze dużo błędów jak choćby to:

[MiMaS: tu autor komentarza chciał wkleić kod z gigantycznym polem __VIEWSTATE]

przy dość prostej aplikacji webowej. Zresztą w php też jest dużo takich 'błędów' ! Jak dla mnie sprawa jest prosta ! Jeśli ktoś chce porównać te 2 technologie to albo na przebudzenie miał bliskie zderzenie ze ścianą , albo jest szaleńcem i lubi porywać się z miotłą na księżyc. Te technologie wiele dzieli i wiele łączy ! Jeśli ktoś lubi asp.net to będzie w nim programowała , jeśli lubi php to wybierze php. Sprawa jest prosta ! A sztuczne napinanie muskułów kto jest lepszy jest śmieszne !
Pozdrawiam

#2 | 2005.07.06 15:08 | MiMaS

Jeśli ktoś chce porównać te 2 technologie to albo na przebudzenie miał bliskie zderzenie ze ścianą , albo jest szaleńcem i lubi porywać się z miotłą na księżyc. Te technologie wiele dzieli i wiele łączy

Wyliczenie co dzieli, a co łączy to się właśnie nazywa „porównanie”, wiesz?

#3 | 2005.07.06 15:41 | ico

Wyliczenie co dzieli, a co łączy to się właśnie nazywa „porównanie”, wiesz?

naprawde ? wow... niewiedziałem (!) zapisze to sobie w dzienniczku - buchacha (śmiech szaleńca)... a tak na poważnie:
ale po co ? Po co porównywać ? po co się w to bawić ? Jaki widzisz tego sens ? Próbuje cały czas Ci wytłumaczyć , że nie ma sensu bawić się w takie porównania bo na samym początku skazany jesteś na męki Tantala ! Programuje w .NET ok. 4 lat , a i tak do tej pory niepoznałem całej tej technologi ! bynajmniej nie z lenistwa czy głupoty a z ogromu informacji jakie składają się na .NET !
Pozdrawiam

#4 | 2005.07.06 15:51 | MiMaS

Próbuje cały czas Ci wytłumaczyć , że nie ma sensu

Acha, jasne. Ale powiedz jeszcze po co usiłujesz mi coś takiego wytłumaczyć? Czy ja tego nie wiem? Przeczytaj może jeszcze raz mój wpis. Albo lepiej zacytuję:

... sama koncepcja porównania jest dosyć bzdurna z powodu istotnych różnic w przeznaczeniu i sposobie wykorzystania tych języków.

Ja tylko zauważyłem, że prawie rok temu (kiedy robiłem ten wpis) w prasie tzw. „fachowej” roiło się od takich porównań i spróbowałem dociec ich przyczyny. To wszystko.

#5 | 2005.07.06 17:40 | ico

(sit!).. no to wtopa.. zwracam honor ! Myślałem , że to teraźniejszy wpis ! No tak... mój błąd ! Co do tłumaczenia to powiem szczerze , że mnie też już irytują tego typu artykuły.. później wpada jakiś 'oszołom' na mój blog , albo na forum o technologi .NET i wypisuje swoje wypociny typu: 'php rulezzz !' , 'jeb.. dotNETowców (co to)?', 'microsoft to ....' itp epitety ! choć z tym ostatnim czasem trudno się niezgodzić - ale to temat na odrębny wątek ! Dlatego myślałem , że to kolejny tego typu artykuł ! Postanowiłem zabrać w nim głos .. popełniając jeden niewybaczalny błąd ! Nieprzeczytałem wszystkiego do końca ! Dlatego jeszcze raz zwracam honor !
Ps. dzięki za dia :P
Pozdrawiam

 

Uwaga: Ze względu na bardzo intensywną działalność spambotów komentowanie zostało wyłączone po 60 dniach od opublikowania wpisu. Jeżeli faktycznie chcesz jeszcze skomentować skorzystaj ze strony kontaktowej.