IBM to nie wszystko

9
cze/09
4

image1

Paul Biggar dał bardzo interesującą prelekcję poświęconą kompilacji i optymalizacji języków skryptowych. Za przykład posłużył kompilator PHP – phc, którego prelegent jest niestety aktualnie jedynym autorem. Co najciekawsze, abstrahując od kwestii technicznych, na końcu swojej prezentacji Paul zabrał głos i  świetnie skonkretyzował aktualne opinie i wątpliwości dotyczące PHP. A o nich można mówić długo.

Prosimy trochę elegancji

Dzieło Zend ma przede wszystkim problemy natury semantyki języka i nie jest to tylko zarzut programistów z zewnątrz społeczności. Pomimo faktu iż programowanie jest zajęciem czysto inżynieryjnym, programiści chcą odnajdywać w programowaniu sztukę, pragną elegancji. PHP zapożyczyło semantykę od klasycznych języków pokroju C++. Nie ma w nim prób zbliżenia kodu do naturalnego jak to się dzieje w Pythonie, a szczególnie w Rubym. Tutaj wszystko jest topornie i a estetycznie proste. Choć aktualnie widać starania o unowocześnienie języka wraz z nadejściem najnowszych wersji istnieją dwa ważne problemy: natury implementacji samego interpretera oraz podzielonej społeczności.

I trochę nowoczesności

Coraz częściej czytam opinie sprzeczne z jakimkolwiek zdrowym podejściem. Pojawiają się wypowiedzi, że wprowadzenie nowoczesnych dodatków typu rzutowań na wszystkie typy czy uniwersalnych getterów i setterów to kolejne kroki do pogorszenia sytuacji na rynku aplikacji pisanych PHP.

gasper_k:
Sounds nice? Maybe. But if you add a bunch of unexperienced programmers to this mix you will end-up with a lot of hard to maintain software.

Chwileczkę, to znaczy, że mamy zatrzymać rozwój ze względu na niedoświadocznych programistów? Od czasów PHP4 wiele się zmieniło, przedewszystkim coraz powszechniej promuje się dobre praktyki kodowania. Tak, wszyscy kiedyś musieliśmy utrzymywać potworka z przed 8 lat, ale nowi programiści naprawdę dają nadzieję. Nie zaczynają od pisania własnego CMSa by być cool, teraz trendy stały się frameworki. A już ten fakt, wymusza na nich zgłębienie sekretów kryjących się za komponentami MVC czy wzorcami projektowymi. Wystarczy spojrzeć na forum PHP.pl, gdzie ilość postów dotyczących programowania zorientowanego obiektowo i prawidłowego podziału aplikacji jest potężna.
Bardzo dużo zawdzięczamy bumowi na Ruby on Rails. Może firmy błędnie interpretują użycie tego narzędzia jako magicznego środka na problemy z czasem realizacji projektów, ale przy okazji promuje się dobrze zbudowane aplikacje. Książki i artykuły opisujące użycie takich frameworków same w sobie uczą programistów jak pisać poprawny kod i wymuszają pewne konwencje.  Oczywiście, zawsze znajdą się tacy o których mówiło się, że „psują rynek”. Ale powiedzmy sobie szczerze, takie osoby zawsze będą istniały. Zaawansowana funkcjonalność ma tu coś do rzeczy? Bzdura.

Ach ta nasza chorobliwa społeczność

W społeczności czasem ciężko dokonać podziału między programistów, a opiniotwórców, którzy sieją nieznośny FUD, gdziekolwiek wspomni się o tym języku. Paul Biggar opisuje, że ze względu na Visto-podobną opinię jaką ma PHP na oficjalnych listach mailingowych brakuje rąk do pomocy. Brak prawidłowych recenzji kodu, chęci do tworzenia i implementacji nowych funkcjonalności. Widać było to przy okazji wprowadzania nowego separatora przestrzenii nazw. Żadna wiadomość dotycząca podejmowania decyzji na ten temat nie przeciekła do blogosfery. Sam jak i większość osób o beznadziejnej decyzji dotyczącej wybrania znaku ‚\’ zamiast starego ‚::’ dowiedziałem się po fakcie. Pomimo dobrego udokumentowania decyzji brak akceptacji zalał internet. Szczerze, nie chciałbym być wtedy w skórze człowieka od Public Relations PHP, o ile taki istnieje.

Co dalej, Zend?

Nadzieja na poprawę pojawiła się przy ogłoszeniu nowości w wersji 5.3 i wreszcie 6.0. Developerzy zaczęli słuchać głosów społeczności? Oczywiście, można liczyć, że IBM będzie wciąż ciągnął i pompował w rozwój PHP swoje środki, ale ile można. Chciałoby się krzyknąć: Zend, daj nam to czego potrzebujemy, a my odwdzięczymy się z nawiązką!

Otagowane jako:
Komentarze (4) Odniesienia (0)
  1. Nadja
    14:23 on Czerwiec 10th, 2009

    Nic z tego nie rozumiem, ale i tak Cie kocham ;-) Indyjsko!

  2. iceberg
    01:39 on Czerwiec 17th, 2009

    Wersja 6.0 to generalnie Unicode plus fixy wydajnosciowe. 5,3 rzeczywiscie daje nadzieje, na lepsze czasy :)

  3. Damian Tylczyński
    01:45 on Czerwiec 17th, 2009

    @iceberg, nie tylko, zajrzyj do jednego z poprzednich wpisów, tam umieściłem informację o notatkach developerów dotyczących PHP 6.0. Oczywiście, wszystko może spalić na panewce i zostaniemy właśnie jedynie z Unicodem. Jestem jednak dobrej myśli :)

  4. Zyx
    12:10 on Wrzesień 4th, 2009

    Wiele osób pisze teksty w stylu „łeee, PHP 6.0 to tylko unicode i nic więcej”. Jednak od pewnego czasu zacząłem zgłębiać to zagadnienie i stwierdzam, że będzie to jeden z największych skoków w dotychczasowej historii języka. Unicode to nie tylko wprowadzenie paru klas czy funkcji, co zresztą już częściowo zrobiono w wersji 5.3, ale zasadnicza zmiana dotycząca funkcjonowania jednego z elementarnych typów danych, która pociąga za sobą konieczność przebudowy **wszystkich** funkcji, jakie z niego korzystają. Nie wszystkie kluczowe zmiany muszą być namacalnie odczuwalne.

Niestety, skomentowanie tego wpisu jest niemożliwe.

No trackbacks yet.

Optimization WordPress Plugins & Solutions by W3 EDGE