PHP

0

No więc jak jest tym? PHP ssie czy to cool język jest ? :-)

0

Język jak język, umieszczam go na tej bezsensownej skali po środku - między Pascalem a C#.

Ja go bardzo lubię, szybki, prosty, zawsze wszystko działa - mogę skupić się na problemie, a nie zawiłych błędach składni, rzutowaniem typów czy dziedziczeniach abstrakcyjnych klas w celu enkapsulacji zmiennych statycznych :P

0

Każdy język jest taki sam, tylko programiści się różnią ;)

http://ferrante.pl/2007/07/07/mamo-umiem-php/

0

Jak dla mnie ssie... coraz mniej. Być może najbardziej wkurza mnie to, że jest zaśmiecony. Różne konwencje nazewnictwa (mamy zarówno strxxx, jak i str_yyy, mamy strip_tags, ale stripslashes). Mnóstwo globalnych funkcji. Ułatwienia dla początkujących, które robią więcej szkody niż pożytku i tak naprawdę nie spełniają nawet swoich zadań -- mówię tu o magic_quotes_gpc i register_globals. I nie chodzi o to, że można (trzeba!) tego typu cholerstwa powyłączać. Język nie powinien mieć rzeczy, które w 95% wypadków trzeba wyłączyć. Język bez śmieci > język ze śmieciami. Wiem, że wywalenie śmieci nie jest takie łatwe (kompatybilność wsteczna), ale samo to nie czyni PHP lepszym językiem.

A propos śmieci, przypomniała mi się pewna zdublowana funkcjonalność. Wyrażenia regularne. EREG przydaje się... chyba tylko do tego, żeby trzeba było nawracać wszystkich na jedyne słuszne PCRE.

A czego mi w języku brakuje?

Wygodnych literałów tablicowych (ew. obiektowych, bo chodzi też o tablice asocjacyjne). Nie chce mi się pisać ciągle:

array(1, 2, 3)
array('klucz1' => 'wartosc1', 'klucz2' => 'wartosc2')

JavaScript robi to znacznie lepiej:

[1, 2, 3]
{ klucz1: 'wartosc1', klucz2: 'wartosc2' }

Gdy mówię o rzeczach, które chętnie zobaczyłbym w PHP i jednocześnie wspominam o JavaScripcie, nie sposób pominąć jednej ważnej rzeczy: programowania funkcyjnego. PHP go w ogóle nie wspiera (plz, same referencje do funkcji to jeszcze nic). Chcę, by funkcje były traktowane tak jak inne zmienne i bym mógł sobie tworzyć funkcje anonimowe gdzie mi się podoba. Chcę mieć domknięcia!

Na koniec dobra wiadomość: moje marzenia są sukcesywnie spełniane. W PHP6 mają zamiar odśmiecić język. Wywalić ereg i niektóre głupie opcje. Ba, w najnowszych wersjach PHP 5 dodali już domknięcia i funkcje anonimowe!

Btw. w poście ograniczyłem się praktycznie tylko do krytyki, ale to jest taka... krytyka fana. Chyba można mnie tak nazwać. Zdecydowaną większość kodu serwerowego piszę jednak w PHP. Czasami jest to nawet przyjemne. Czasami zaś nie wiem, czemu tak przyczepiłem się tego języka jak rzep psiego ogona. Na pewno sporą rolę odgrywa tu powszechność PHP. Ale czy tylko? Jakbym go w głębi mojej binarnej duszy aż tak nie lubił, to bym go nie używał. Moim być może ulubionym językiem jest JavaScript i przyznam się, że nienawidzę go jak mało której rzeczy na świecie :D (nacisk na zmienne globalne, popsuty typeof, pseudo-tablicowe obiekty, eval... temat na oddzielny topic, albo i dwa).

0

PHP jest popularny... jak Cobol kiedyś.

Kompatybilność wsteczna? Trzymanie kompatybilności wstecznej przy spieprzonym projekcie to idiotyzm - taki Python z wersji na wersję ma jakieś niekompatybilności, i wychodzi mu to na zdrowie.

Kolega wyżej zapomniał o dodaniu do PHP ważnej rzeczy ostatnio... GOTO. To się nazywa postęp.

Domknięcia są całkiem do d**y, proteza oparta na jawnych referencjach - w C++0x jawna specyfikacja jest opcjonalna (czasem konieczna) tutaj to idiotyzm. Pokażcie mi drugi język z domknięciami, gdzie trzeba takie cyrki jak w PHP robić? PHP nie ma domknięć, ma tylko dodatkowe referencje, nie ma dziedziczenia środowiska - to tylko taka sama nakładka jak boost::ref/cref - ot, wrappery do bindowania zmiennych..

Fajnie, że wreszcie PHP ma jakąś obsługę przestrzeni nazw, tylko czemu tak idiotyczną? Przestrzeń\przestrzeń\przestrzeń... We wszystkich znanych mi językach przestrzenie nazw mają identyczną składnię odwołania się do składowych co klasy, tutaj to '' jest co najmniej chore... Czego zawartości przestrzeni nazw nie ujmuje się w {}? Przecież mogą być zagnieżdżane, w jednym pliku może ich być wiele, kto wpadł na tak genialny pomysł? Przeglądając changeloga mam wrażenie, że to język robiony dla dzieci.

Since PHP 5.3, it is possible to leave out the middle part of the ternary operator. Expression expr1 ?: expr3 returns expr1 if expr1 evaluates to TRUE, and expr3 otherwise.

Jak dla mnie kolejny dziwny twór, poprawiliby może durne działanie 'or'? W kupie języków 'or' zwraca argument, który jest ewaluowany do prawdy, tutaj zamiast ucywilizować obecnie durne zachowanie 'and'/'or' to się dodaje dodatkowy operator...

Można wreszcie definiować globalne stałe? Ograniczenie constów do wartości skalarnych? W XXI w? Ahaa, bo to nie są normalne stałe, to przecież odpowiednik #define z C/C++, którego w cywilizowanych językach unika się jak ognia. BTW, cały manual PHP jest tak wybitnie napisany jak to?

You can define a constant by using the define()-function or by using the const keyword outside a class definition as of PHP 5.3.0.
...
Constants may only be defined using the define() function, not by simple assignment;

A garbage collector has been added, and is enabled by default.

Wow, a w planach wsparcie dla cyklicznych referencji? W listopadzie 2009 ogłaszać wprowadzenie GC, lekko niepoważne.

Exceptions can now be nested.

Wow, nie spotkałem chyba języka, gdzie nie dało się zagnieżdżać...

Tyle się napisałem a przejrzałem jedynie 'Migrating from PHP 5.2.x to PHP 5.3.x'...

Mam proste pytanie - czy wśród ludzi decydujących o rozwoju PHP jest ktoś zdrowy psychicznie/dorosły? Przecież ten język jest mocno do tyłu, teraz wprowadza się rozwiązania istniejące w innych językach skryptowych od kilku-kilkunastu lat, o braku unicode nawet nie wspominam.

0

PHP ma taką jedną dużą wadę - w tym pisze się tylko aplikacje webowe :P
Dla mnie to straszna nuda i na prawde nie wiem o jakich algorytmach ty mówisz Marooned.
Przepychanie tekstu z bazy danych na stronkę to raczej nie są zbyt skomplikowany algorytmy :P

0

A gdzie pisałem coś o algorytmach? :)

Poza tym, czasem obróbka danych to 3 strony kodu a nie 2 linijki :)

0
endl napisał(a)

No więc jak jest tym? PHP ssie czy to cool język jest ? :-)

Ssie ponieważ istnieje Ruby i Python, które w tych samych zastosowaniach sprawdzają się znacznie lepiej. Frameworki Ruby on Rails, Merb czy Django deklasują równoważne frameworki PHP pod względem nie tylko wydajności ale i wygody w rozwijaniu oraz utrzymaniu kodu.

0

Zdaje mi się albo silnik tego portalu pisany jest w PHP. (to tak swoją drogą :P)

0

Tyle, że jak powstawał ten portal to jeszcze nikt nie słyszał o Django ani o Ruby on Rails (powstały kilka lat później), więc twórcy są niejako rozgrzeszeni :)

0

Dlaczego z Ruby wymieniony dwa frameworki a z Pythona jeden? Gdzie Pylons, znacznie elastyczniejszy (i bardziej skomplikowany) niż Django?

To teraz poważniej - proponuję spojrzeć w stopkę:

Copyright © 2000-2006 by Coyote Group 0.9.3-pre3

Czy praktycznie 10 lat temu (w okresie fascynacji PHP) coś poza Perlem było szeroko stosowane + były sensowne tanie/darmowe hostingi?

1 użytkowników online, w tym zalogowanych: 0, gości: 1