Wpis z mikrobloga

Na głównej trwa dyskusja na temat #php i każda osoba która krytykuje ten język dostaje pełno minusów. Niestety nie mogę też znaleźć żadnego sensowego argumentu który przemawiałby za używaniem tego języka. To co się w kółko powtarza to "są pewne zastosowania do których się nadaje".

Więc tak z czystej ciekawości. W jakich zastosowaniach PHP jest lepszy od innych języków? Czy jest coś, co sprawia, że warto wybrać ten język a nie np. Node, Pythona, Go, C# czy Javę?

#programowanie
  • 60
@Patuptap: zgadzam się. PHP jest już dość leniwe, jednak tu chodzi o wieloletnią działalność stronbopartych o PHP.
Jest od zarypania portali wewnętrznych opartych o PHP,
Robota prosta, ciągle w ruchu, więc popyt jest spory.
@yorimo: To ja wiem. Sam jeszcze z dwa lata temu programowałem PHP i zdawałem sobie sprawę z tego, że zapotrzebowanie jest duże ale jednocześnie wiedziałem, że ten język jest niczym COBOL. Istnieje pełno softu który trzeba utrzymać. Tymczasem wielu ludzi dalej, z własnej nieprzymuszonej woli wybiera PHP.

Na głównej napisałem krotki wpis z kilkoma co ważniejszymi moim zdaniem wadami PHP to dostaje tylko minusy i żadnych kontrargumentów więc liczyłem, że może
@Patuptap: cena, postaw stronę www na dowolnym innym języku szybciej i taniej niż w PHP, do node, python, go, c#, javy potrzebujesz praktycznie vps i umieć administrować (lub zapłacić więcej), do PHP kupujesz hosting kilkadziesiąt PLN rocznie i jazda (a masz tam też email, ftp, administrację w cenie). Jakby tylko jakość się liczyła to każdy by jeździł Volvo, Ferrari, Porsche. I nikt by z Aliexpress nie kupował. To tak jakby ktoś
@Patuptap: naprawdę pytasz czemu firmy i profesjonaliści, przy istnieniu popytu, pracują w języku na który jest popyt? To tak jakby pytać czemu Dacia pracuje nad samochodami w niskim budżecie, a mogła by robić lepsze niż Volvo za więcej pieniędzy. Robi to bo jest popyt na samochody niżej jakości w niższej cenie. Przez to że ma popyt i zatrudnia profesjonalistów którzy te samochody robią. Jest popyt więc wolny rynek ten popyt zaspokaja.
Nie jest przystosowany do tworzenia długo dziejących programów

@Patuptap: sam dałem ci minusa np. za to zdanie. To tak jakby mieć pretensje do stacjonarnych pctów, że nie są mobilne jak laptopy, kiedy nikt, powtarzam NIKT nie oczekuje, że mają być mobilne - bo jak chcesz mobilnego pcta, to kupujesz sobie laptopa. PHP służy do serwowania stringów, i robi to na tyle dobrze(proporcje jakości, wydajności i ceny), że popyt na programistów tego
naprawdę pytasz czemu firmy i profesjonaliści, przy istnieniu popytu, pracują w języku na który jest popyt


@Jaslanin: Nie? Nie tego dotyczy mój wpis. Napisałeś długi komentarz kompletnie nie na temat. Nie pisałem o utrzymywaniu obecnego softu a o pisaniu nowego.

PHP służy do serwowania stringów, i robi to na tyle dobrze(proporcje jakości, wydajności i ceny), że popyt na programistów tego języka nadal rośnie


WTF? Nie masz zielonego pojęcia o programowaniu. Dzisiaj
@Patuptap: bo napisales pare glupot, jest wolniejsze? https://github.com/the-benchmarker/web-frameworks

no jakies gowno postawione na laravelu, symphony stojace na php-fpm to tak, dostanie choke, ale jak postawisz sobie framework uzywajac web socketow to juz sprawa wyglada inaczej, go faktycznie jest dobry i szybki tez

Aplikacje napisane w PHP są wolne bo muszą być bootstrapowane per request


nie musza, jak lecisz na socketach

Python są wstanie obsłużyć kilkakrotnie więcej requestów w tym samym czasie
@Patuptap: wiesz co, być może to też jest kwestia ceny programisty i ich liczebności. Może się myle, ale wydaje mi się, że ludzi pracujących w php jest więcej i mają niższe stawki (choć co do drugiego to nie zawsze tak wygląda, ale statystycznie to chyba się zgadza).
@Patuptap: z punktu widzenia PHPowca:
- node - na języku bez klas, dziedziczenia itp. Obiekty żywcem lub sztuczne twory przypominające klasy z prototypów. Fuj,
- Python - nie każdy musi lubieć składnię, gdzie jak jebniesz się z tabulatorem to kod się posypie. Poza tym w większości benchmarków webowych jakie widziałem jest wolniejszy od PHP. Więc po co ktoś miałby się przesiadać, jeśli klepie tylko aplikacje webowe.
- C# i Java -
bo napisales pare glupot, jest wolniejsze?


@LaylaTichy: Głupoty piszesz Ty. Pierwsze nigdy nie pisałem, że PHP jest wolny, pisałem że strony są wolne bo wymagają bootstrapowania.

I tak. Istnieją rozwiązania jak PHP-PM czy Roadrunner. Tylko powiedź szczerze, używałeś ich kiedyś czy tylko słyszałeś albo właśnie przeczytałeś w Google?

Rozwiązania z tej Twojej fajnej tabelki to są w większości eksperymentalne projekty które nie działają w żadnym popularnym frameworki. Projekty proof-of-concept z 200
@Patuptap: mam 2 frameworki w tym benchmarku, 1 go, 1 php, oba w top50,

przeciez, nawet cie zacytowalem, gdzie piszesz, ze php jest wolny

Aplikacje napisane w PHP są wolne

Python są wstanie obsłużyć kilkakrotnie więcej requestów w tym samym czasie


no, to, teraz sie czepiasz, ze nie wspieraja laravela czy symphony, czy sie czepiasz, ze jest wolny? no zdecyduj sie xD
@LaylaTichy: Ale nikt tego nie używa i nie bez powodu. Co mnie obchodzi, że są jakieś eksperymentalne narzędzia które pozwalają szybko ładować strony skoro nie mają supportu i nie są dostatecznie rozbudowane aby użyć ich w jakiejkolwiek aplikacji. Nawet nie wiadomo czy dalej byłyby takie szybkie jakby dodać do nich pełną obsługę requesta z PSR.
WTF? Nie masz zielonego pojęcia o programowaniu. Dzisiaj każda większa firma ma command busa, Rabbita, Kafkę albo podobny system do message'y bo jest to niezbędne to tworzenia skalowanych systemów


@Patuptap: a czym są message jak nie stringiem serwowanym do rabbita przez preprocesor php? To, że twoja wyobraźnia ogranicza się do string=html to już nie mój problem, prawda?
a czym są message jak nie stringiem serwowanym do rabbita przez preprocesor php?


@AlvarezCasarez: Przedstawiając temat w ten sposób to karta graficzna w sumie tez odczytuje i wysyła stringi. Zastpmy karty graficzne PHPem!
Więc tak z czystej ciekawości. W jakich zastosowaniach PHP jest lepszy od innych języków? Czy jest coś, co sprawia, że warto wybrać ten język a nie np. Node, Pythona, Go, C# czy Javę?


@Patuptap: Aktualnie PHP jest naprawdę nieźle rozbudowany i można w nim pisać dobre oprogramowanie. Cały ekosystem ma wiele niezłych paczek i środowisko OS w okół jest aktywne. Ma dwa naprawdę popularne i rozbudowane frameworki full-stackowe (Symfony i Laravel).
Takie zderzenia klanów nie mają sensu dyskusji. To tak jakby pytać dlaczego jeden woli jeździć Golfem 1.9TDi palącym 6.5/100 a drugi jeździ Ferrari kosztującym 100k rocznie w utrzymaniu ( ͡° ͜ʖ ͡°)


@Jare_K: Wszystkie firmy jakie znam uciekają od PHP to tych rzekomo droższych rozwiązań. Facebook a akcie desperacji napisał swój własny język. Allegro przepisuje się na Javę. Jeszcze mógłbym wymienić kilka innych dużych, znanych firm ale
Prawda jest taka, że w prawie każdym popularnym języku możesz dobrą aplikację napisać. Kwestia umiejętności. Pewne rzeczy w jednym miejscu będą łatwiejsze do zaimplementowania, a pewne trudniejsze.


@AvantaR: Ale w przypadku PHP to niekoniecznie. Jest ograniczony wyłącznie do stron WWW i prostych narzędzi konsolowych. Wątki? Zapomnij. Aplikace GUI? Nope. AI? Nie ma mowy. Aplikacje sieciowe. Też nie.

Ja wiem, że można napisać dobre oprogramowanie. Pisałem DDD w Symfony ale... po co?
Nie znam dużej firmy w której historia PHP skończyłaby się szczęśliwie.

@Patuptap: a to dlatego, że PHP pozwala na zbyt wielką dowolność. Jest za bardzo elastyczny. I w tym jest jego siła ale jednocześnie największy problem. Jest XXI wiek, 8 wydanie PHP na horyzoncie, ale nadal jeśli potrzebujesz, to możesz napisać prostą aplikację w jednym pliku kodem strukturalnym bez użycia choćby jednej funkcji czy klasy. To dobry argument dla początkujących, ale
Nie znam dużej firmy w której historia PHP skończyłaby się szczęśliwie.

@Patuptap: no tak, typowe. Zastanawiałeś się może czy to właśnie nie wybór PHP miał wpływ na ich sukces? Tzn. duża ilość programistów, tanie serwery, tani support, łatwa skalowalność kosztująca ułamki tego co wydałbyś na np. javę?

...pewnie nie, patrząc na ograniczoną wyobraźnię
Zastanawiałeś się może czy to właśnie nie wybór PHP miał wpływ na ich sukces? Tzn. duża ilość programistów, tanie serwery, tani support, łatwa skalowalność kosztująca ułamki tego co wydałbyś na np. javę?


@AlvarezCasarez: Odpowiem. Bo większość powstała 20 lat temu. Tymczasem teraz mówimy o teraźniejszości.

tanie serwery, tani support, łatwa skalowalność


To akurat nie xD
@mariecziek: A jakie argumenty dostałem które zignorowałem albo moja odpowiedź Twoim zdaniem jest słaba? No bo sorry, jak dostaje argument który jest nieprawdziwy to mam udawać, że jest inaczej czy co?
@AvantaR: Ale w przypadku PHP to niekoniecznie. Jest ograniczony wyłącznie do stron WWW i prostych narzędzi konsolowych. Wątki? Zapomnij. Aplikace GUI? Nope. AI? Nie ma mowy. Aplikacje sieciowe. Też nie.


@Patuptap: No, ale mówimy teraz o języku do aplikacji webowych czy ogólnie? Bo ja od zawsze aplikacje webowe pisałem, tak że nie wiem dlaczego ktoś kto w tym kierunku idzie, miałby szukać języka pod kątem możliwości pisania aplikacji GUI. Co
@Patuptap: No w komentarzach do znaleziska całkeim sporo ludzi ci podawało argumenty, a ty się z niczym nie zgadzasz. W PHP można pisać kod z użyciem CQRSa, kolejek, eventów, DDD, TDD i miliona różnych rzeczy, ale i tak odpowiesz - a właśnie, że GO jest lepsze albo pyhon jest lepszy.
A może właśnie dla jakiegoś konkretnego zadania PHP jest lepszy, nawet ze względów finansowych, tańsza infrastruktura, mniej można płacić programistom (przecież
@mariecziek: jak dla mnie to wygląda na frustrata, który nie potrafi pojąć, że PHP został stworzony do serwowania stron WWW, i jest w nim na tyle dobry, że popyt na programistów ciągle rośnie. Inne języki są dobre, ale co z tego skoro ekonomicznie bardziej opłaca się zaserwować html/json/inny string w php niż w phytonie?

@Patuptap: Masz przed sobą Poloneza, a rzucasz argumenty o braku śmigieł czy lufy 122mm, a gdy
@mariecziek:

W PHP można pisać kod z użyciem CQRSa, kolejek, eventów, DDD, TDD i miliona różnych rzeczy, ale i tak odpowiesz - a właśnie, że GO jest lepsze albo pyhon jest lepszy.


Gdzie niby? Sam przyznawałem, nawet w tym wątku, że można pisać w DDD. Do tego, żeby było śmieszniej to ja pierwszy wspomniałem o kolejkach i command busie. O CQRS, TDD nie pisał nikt. Więc walczysz z argumentem którego nawet
Jak niby odpalanie języka który jest mniej wydajny ma przełożyć się na tańszą infrastrukturę? To jest argument który działa tylko jak musisz postawić wordpressa. To wtedy owszem, zgadzam się.

@Patuptap: nie, od zarąbania storn stoi na serwerach współdzielonych z preinstalowanym php czy cms, które kosztują ułamek VPS, o dedyku nie wspominając
nie, od zarąbania storn stoi na serwerach współdzielonych z preinstalowanym php czy cms


@AlvarezCasarez: Tak, teraz przeczytaj ostatnie zdanie w tym co napisałem. Tak, można postawić gównostronki jak wordpress na tanim hostingu bo dużo wspiera PHP.
@AlvarezCasarez: Co? Jaka płaca programistów? I niby jaki argument zaorałeś?

W ogóle to mnie to męczy już. Pozwoliłem skrytykować sobie PHP a reagujecie jakbym wam matkę obraził ale ja jestem frustratem xD

I tak, zgadzam się z wami że PHP jest tani jak potrzeba postawić wordpressa na hostingu. No to mamy jedną zaletę. W końcu jakiś argument. Jak dla mnie to za mało aby mówić, że to dobry język no ale
@Patuptap:
edytowałeś komentarz, wcześniejsza wersja zawierała tylko "Tak, teraz przeczytaj ostatnie zdanie w tym co napisałem"
.
.

Tak, można postawić gównostronki jak wordpress na tanim hostingu bo dużo wspiera PHP.

no i to jest główny rynek dla programistów stron www, czego nie rozumiesz?
@Patuptap: może z powodu młodego wieku konta nie ogarniasz jak działa wykop, więc służę pomocą; rzucasz tekstem
"Jak niby odpalanie języka który jest mniej wydajny ma przełożyć się na tańszą infrastrukturę? To jest argument który działa tylko jak musisz postawić wordpressa. To wtedy owszem, zgadzam się."

ja odpowiadam, że tak do końca nie jest, i prostuje twoje kłamstwa - tu i teraz, bez względu na to czy temat był poruszany dwadzieścia
ja odpowiadam, że tak do końca nie jest, i prostuje twoje kłamstwa - tu i teraz, bez względu na to czy temat był poruszany dwadzieścia komentarzy temu. Nawet byłem na tyle miły, że nie wskazałem głupoty o wydajności, ale to już szczegół


@AlvarezCasarez: Typie, ale jak tylko podniosłeś ten argument to przyznałem ci rację i na ten JEDEN argument się zgodziłem. Co do wydajności to już odpisałem. To, że istnieją eksperymentalne
@mariecziek: orasz jego teorie prostym wykresem, co nasz kolega na to "ALE MY ŻYJEMY W POLSZCZE I TU JEST INACZEJ!!!"

Co do wydajności to już odpisałem. To, że istnieją eksperymentalne rozwiązania to nie jest argument.

@Patuptap: x #!$%@? D. Sprawdź zanim coś napiszesz, np. jak bardzo wychwalany przez ciebie python śśśśśie w porównaniu z php7
orasz jego teorie prostym wykresem, co nasz kolega na to "ALE MY ŻYJEMY W POLSZCZE I TU JEST INACZEJ!!!"


@AlvarezCasarez: I rozumiem, że moje dane (do których też dałem linka) są już be bo nie pasują Ci do tezy?

x #!$%@? D. Sprawdź zanim coś napiszesz, np. jak bardzo podawany przez ciebie python śśśśśie w porównaniu do php7


Ja #!$%@?. A w Pythonie też musisz bootstrapowac cały projekt przy każdym requescie?
@Patuptap: a to pomnóż sobie wypłaty w Polsce dla PHP i Java przez 4.5 i otrzymasz te same cyfry co masz na stackoverflow. Różnica nadal wynosi 20%.
a możesz nie mnożyć nic tylko z proporcji wyliczyć sobie.
Polska:
11500 - 100%
9000 - x%

Z tego masz, że w Polsce średnio programista PHP zarabia 78% tego co programista Java.

Globalnie
50000 - 100%
39000 - x%

Masz to samo, programiści PHP
@mariecziek: @Patuptap: gadka o hajsie nie ma sensu. Ja pracuję w PHP od 13 lat i aktualnie kasuję 150 netto na godzinę. Pracuję 4 dni w tygodniu, po 5-6 godzin, bo mi się kuźwa nie chce #!$%@?ć 5x8h, a hajsu mi wystarcza na wszystko co chcę. Teraz niech mnie ktoś przekona do przesiadki na Javę czy C# i startowania z doświadczeniem od juniora z powodów finansowych, to go wyśmieję XD.
@Patuptap: W 90% przypadków liczy się time to market a jak Ci apka chodzi za wolno to wrzucasz na mocniejszą maszynę. Jak nie ogarnia ruchu to wrzucasz na więcej masszyn i tyle. Więc kwestia wydajności jest pomijalna. Z resztą nie jest wcale taki wolny co przedmównicy udowodnili.
Co sprawia że jest lepszy? Nie jest jednoznacznie lepszy. Żaden język nie jest. Jak ogarniasz język i stosowane w nim paradygmaty programowania to każdy