Zastanawia mnie skąd wzięła się tak wielka nienawiść do PHP-powców?
Aż tworzą o tym kanały:
Jak byłem na konferencji DNA Conf jedna osoba powiedziała: jestem programistą PHP teraz możecie się śmiać?
Skąd wzięła się nienawiść do PHP-powców?
Wątek przeniesiony 2021-09-09 15:01 z Społeczność przez cerrato.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 610
- Rejestracja: dni
- Ostatnio: dni
Może stąd że PHP rozwija się do PHP: Hypertext Preprocessor czyli taki procesor htmli. Coś jak XSLT.
Spróbuj na konferencji powiedzieć że jesteś programistą XSLT.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
Bo PHP nie jest językiem ogólnego przeznaczenia tylko jest DSLem do generowania stron - to z jednej strony. A z drugiej PHP był projektowany jako język ekstremialnie prosty, każdy gimnazjalista/licealista mógł w nim pisać stronki. Jak ktoś mówi że umie Javę czy C# to jednak cośtam musiał zrozumieć żeby napisać program. A w PHP niedokońca, więc jak ktoś mówi że jest programistą PHP to nie ma żadnej pewności że coś umie (co jeszcze nie znaczy że nie umie :P). Poza tym PHP wykończyło Perla za co należy się nienawiść totalna. BTW teraz nowym PHP jest Go - statycznie typowany język bez generyków :D
- Rejestracja: dni
- Ostatnio: dni
- Postów: 69
Bardzo niski punkt wejścia, i biznes to akceptuje, bierze młodych bo prostych chałtur.
Żaden inny język tak nie ma.
Są wyjadacze PHP, ale skąd to wiesz.
Może to być licealista, lub ktoś na tym poziomie.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1524
Ja tam w podobny sposób nienawidzę JavaScriptu. Świat bez nich by był po prostu lepszym miejscem ;)
- Rejestracja: dni
- Ostatnio: dni
nie ma żadnej nienawiści, takie tam żarciki z czasów < PHP 3/4 kiedy PHP było naprawdę słabym językiem pełnym niedorzeczności, niespójności, bez elementów obiektowości czy funkcyjności. Prosty język używany głównie przez dzieci (wtedy nazywanymi "dziecmi neostrady") do stawiania stronek domowych z jeden osiem L lecącym w tle i działającymi tylko na IE (wtedy jeszcze PHP się rozwijało do "Personal Home Page").
Kod gdzie zapytania SQL (lub częściej zapis/odczyt do/z plików) przeplatają się z HTMLem, CSSem i kodem PHP, jedno wielkie spaghetti; ciężko było nazwać te dzieciaki programistami - sam byłem jednym z nich.
Teraz to prawie normalny język ale żarciki pozostały (prawie bo wiele elementów zostało dla wstecznej kompatybilności)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
A ja w PHP mam zaimplementowany algorytm genetyczny wyznaczający trasy przez różne miasta, tylko po to żeby móc to odpalić na każdym serwerze z PHP jak ktoś twierdzi, że to nie jest prawdziwe programowanie to chyba w ogóle nie wie co to jest PHP. Jest to powolne ale działa i w ciągu 5-10 sekund przetwarzając miliny różnych tras ocenia je i wybiera najlepszą.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1340
Hejt na PHP jest jak swego czasu hejt na Justina Biebera. Mało kto wiedział o co chodzi, ale "ludzie gadali", więc wygodniej płynąć z prądem. Takie pokolenie.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Marcin Marcin napisał(a):
Zastanawia mnie skąd wzięła się tak wielka nienawiść do PHP-powców?
Nienawiść? Raczej współczucie.
- Rejestracja: dni
- Ostatnio: dni
Nie mam nic do PHPowców, ich wybór. Natomiast samo PHP jest dla mnie niezrozumiałym tworem (w XXIw, w latach 90tych miał sens). Niby jest DSLem, ale jego przystosowanie polega na tym, że można zagnieżdżać jego kod w kodzie HTML, co ma sens gdy chcesz wstawić jednolinijkowca tu i ówdzie. Jednak jak chcesz napisać większą stronę to wiele na tym nie skorzystasz, dlatego już lepiej nauczyć się języka ogólnego przeznaczenia, który może więcej. Poza tym, debilnie naśladuje z sygile z perla (dolar przed nazwą zmiennych), tylko w nim one są dla picu, nie wiem po co. :p
- Rejestracja: dni
- Ostatnio: dni
Wszystko się sprowadza do bezsensownej wojenki, która opiera się na gustach i doświadczeniu konkretnej osoby w danej technologii. Python zły, bo dynamicznie typowany, JavaScript do kosza, bo 1 + '1' to nie to samo co '1' + 1 (czy jakoś tak). Linux zły, bo nie ma sterowników do Wi-Fi i myszka nie działa. Windows badziewie, bo trzeba klikać w okienka i dużo wirusów. Java to dramat, bo straszna kobyła i legacy, no i to korpo. HTML - jak można programować w HTML?
I w sumie można tak bez końca. A z drugiej strony spróbuj znaleźć dobrego programistę, któregokolwiek z wymienionych języków. Tak naprawdę język, czy system operacyjny nie ma żadnego znaczenia. Dobry programista, łatwiej bądź trudniej, odnajdzie się w każdej technologii i zrobi z niej użytek. Ot, cała prawda. Jakbym się tak kierował opiniami w Internecie, to wciąż bym tkwił w przekonaniu, że w Pythonie zarabia się mało, bo to język do pisania prostych skrypcików.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 1092
Tak naprawdę język, czy system operacyjny nie ma żadnego znaczenia.
Całkowita nieprawda. Napiszesz w Javie system operacyjny? Zrobisz w C webówkę biznesową? Gdzie będziesz miał łatwiej o memory leak, w Ruście czy C/C++?
HTML - jak można programować w HTML?
??
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa 🐪
- Postów: 1719
Ja nie słyszałem, żeby ktoś nie lubił ludzi kodujących w PHP, ale negatywne opinie o samym PHP już tak. Rozwinę myśl z komentarza w tym wątku https://4programmers.net/Forum/Spolecznosc/354768-skad_wziela_sie_nienawisc_do_php_powcow?p=1790655#comment-739825 . PHP jako język nowy względem Perla (i kilku innych) miał okazję zrobić coś, co w Perlu w tamtych czasach kulało. Klasy są - spoko. Przy okazji jednak podczas projektowania PHP ktoś popełnił kilka niezrozumiałych decyzji:
- brak trybu ścisłego
use strict;- można bezmyślnie używać niezadeklarowanych zmiennych (o ostrzeżeniach piszę niżej), - poziom ostrzeżeń ustawiany jest przez funkcje a nie przez dyrektywy wychwytywane przez parser (słowo kluczowe
use) - o niezadeklarowanej zmiennej dowiem się dopiero w czasie działania a nie parsowania, - brak obsługi wyrażeń regularnych na poziomie składni - mimo, że PHP używa PCRE; tu bywa zamieszanie przy dopasowaniu znaków w kodowaniu Unicode. W Perlu można ustawić kodowanie ciągów znaków z poziomu kodu.
Może twórcy języka mieli jakieś założenia i to wszystko jest zgniłym kompromisem. Jednak na rozwój mieli kawał czasu. Perl rozwija się w gałęzi wersji 5.x i rewolucje na miarę Raku nie przechodzą - projekt Perl 6 został przekształcony w zupełnie inny język. To też jest jakieś rozwiązanie. OK, Perl też ma swoje problemy, jednak do ich rozwiązania podchodzi się inaczej.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 136
Odpowiedź jest bardzo prosta... zazdrość :)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 2255
Wszyscy javowcy/c-sharpowcy itp itd sio... sio mi stąd. Spadać na fora napisane w waszych językach.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
PHP hejtują głównie Ci co nie potrafią w nich pisać. Gdyby potrafili to widzieliby, że jest to kompletny język, w którym da się zrobić wszystko jak w każdym innym sensownym języku.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
@vpiotr: Da się, podobnie jak w Brainfuck czy Whitespace
napisz może czego Ci w PHP brakuje i co jest takie uciążliwe, że porównujesz go do BrainFuck?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 1092
Gdyby potrafili to widzieliby, że jest to kompletny język, w którym da się zrobić wszystko jak w każdym innym sensownym języku.
Da się w PHP napisac aplikację mobilną albo aplikację desktopową? Może ML?
No i to że się da coś w nim napisac to nic nie zmienia. Ziemię pod budowę tez możesz wykopać łopatą, a można użyć koparki...
- Rejestracja: dni
- Ostatnio: dni
@katakrowa:
katakrowa napisał(a):
@vpiotr: Da się, podobnie jak w Brainfuck czy Whitespace
napisz może czego Ci w PHP brakuje i co jest takie uciążliwe, że porównujesz go do BrainFuck?
Brakuje mi:
- spójnej biblioteki standardowej z jakimkolwiek globalnym standardem nazewnictwa lub przestrzeniami nazw, przydałaby się też spójna kolejność parametrów
- wydajności
- typowanych tablic
- wskaźników,
- przetwarzania macierzy,
- obliczeń wektorowych (AVX),
- typów zbiorowych
- i... funkcji do przeszukiwania tablicy
<?php
$arr = [
'a' => 'false',
'b' => -1,
'c' => 0,
'd' => 'true',
'e' => false,
'f' => true,
'g' => 1
];
var_dump( array_search( -1, $arr ) );
var_dump( array_search( 'false', $arr ) );
var_dump( array_search( 1, $arr ) );
var_dump( array_search( 't', $arr ) );
$arr = [
'false',
-1,
true,
10
];
var_dump('------');
var_dump( in_array( -1, $arr ) );
var_dump( in_array( 'false', $arr ) );
var_dump( in_array( 1, $arr ) );
var_dump( in_array( 't', $arr ) );
output:
string(1) "b"
string(1) "a"
string(1) "f"
string(1) "c"
string(6) "------"
bool(true)
bool(true)
bool(true)
bool(true)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
vpiotr napisał(a):
@katakrowa:
katakrowa napisał(a):
@vpiotr:
Da się, podobnie jak w Brainfuck czy Whitespacenapisz może czego Ci w PHP brakuje i co jest takie uciążliwe, że porównujesz go do BrainFuck?
Brakuje mi:
- spójnej biblioteki standardowej z jakimkolwiek globalnym standardem nazewnictwa lub przestrzeniami nazw, przydałaby się też spójna kolejność parametrów
- wydajności
- typowanych tablic
- wskaźników,
- przetwarzania macierzy,
- obliczeń wektorowych (AVX),
- typów zbiorowych
- i... funkcji do przeszukiwania tablicy
Wg mnie chyba nie rozumiesz istoty języka.
0. ( wydajność ) owszem słaba ale nie do tego go stworzyli. Podobnie jak Java, Python, Javascript ...
- ( typowanych tablic ) Wymaganie typów od języka nietypowanego ( do wersji 7 ) to brak zrozumienia istoty rzeczy ;
- ( wskaźników ) Masz referencje - żaden tego typu język ( javascript, python itp.. nie mają wskaźników );
- ( przetwarzania macierzy ) Ojejku jejku to brak biblioteki a nie kwestia języka - napisz to sobie i będziesz miał.
- j.w.
- ( typów zbiorowych )możesz używać array bez wartości ( same klucze )
- ( funkcji do przeszukiwania tablicy ) jakich konkretnie ?
Z tego co piszesz to najlepiej pisz w C++, Delphi itp.. Wymienione rzeczy to cechy języka a nie braki. Do tego w wielu sytuacja są jego zaletami.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10227
Sam jestem hejterem PHP, i sam często wstawiam na https://4programmers.net/Forum/Off-Topic/141606-programistyczne_wtf_jakie_was_spotkaly?page=34 kwiatki z PHP; ale trzeba przyznać, że żeby znaleźć WTF w języku trzeba się na nim znać. Jeśli nie piszesz w PHP, a hejtujesz, to skąd wiesz że to co Ci się wydaje WTF'em faktycznie nim jest? Bo PHP jest taki słaby? Palnij się w głowę, zanim się wypowiesz. Owszem, WTF'ów w PHP jest mnóstwo, ale nie sądzę że natkniesz się na nie jednocześnie nie pisząc w nim.
95% hejtów tutaj bierze się z niezrozumienia, a nie z faktycznego bycia WTF'em.
Twoja rola jako hejtera PHP wygląda tak:
- znajdź coś dziwnego (to robią wszyscy)
- upewnij się że to faktycznie WTF (tego nie robi prawie nikt)
- postuj na 4p (to też robią wszyscy).
Marcin Marcin napisał(a):
Zastanawia mnie skąd wzięła się tak wielka nienawiść do PHP-powców?
Aż tworzą o tym kanały:
Jak byłem na konferencji DNA Conf jedna osoba powiedziała: jestem programistą PHP teraz możecie się śmiać?
Tu jest spoko post o niekonsystencjach w PHP: https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
@stivens: No jak ktos jest glupi i ma 90 IQ to tez jest jego cecha a nie "brak" :P
Java, JavaScript, Python też są tak samo wolne (bo to nie są języki kompilowane do kudu natywnego), a jakoś szanowna społeczność nie hejtuje ich z powodu szybkości. To jak z tym jest?
Z ciekawości zapytam, jakie języki wg kolegów @stivens i @vpiotr są dobre skoro PHP jest "be"?
- Rejestracja: dni
- Ostatnio: dni
Po pierwsze wcale nie mowilem o szybkosci. Dla mnie taka cecha porownywalna z 90 IQ jest dynamiczne typowanie. Ale to juz chyba wszyscy zauwazyli bo w Pythonie czy PHP sie wprowadza protezy typowania.
A co do przykladu spoko jezyka to Scala na przyklad. Kotlin tez jest w porzadku. Pythona juz natomiast tez nie lubie. (poza ewentualnie skryptami na 100 linijek :) )
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 1092
Java, JavaScript, Python też są tak samo wolne ( bo to nie są języki kompilowane do kudu natywnego),
Całkowita nieprawda. Java jest jednym z szybszych języków
Do tego w wielu sytuacja są jego zaletami.
Brak typowania w aplikacjach webowych większych niż przysłowiowy hello world to jest wada. Zaletą może być jak robisz krótkie skrypty automatyzujące albo jakieś skrypty do ML. Tylko wtedy bierzesz Pythona ;]
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10227
Sugeruję przywoływać tylko benchmarki z PHP 8.0 lub 8.1, w którym jest JIT; i wtedy porównywać szybkości.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
stivens napisał(a):
Po pierwsze wcale nie mowilem o szybkosci. Dla mnie taka cecha porownywalna z 90 IQ jest dynamiczne typowanie. Ale to juz chyba wszyscy zauwazyli bo w Pythonie czy PHP sie wprowadza protezy typowania.
A co do przykladu spoko jezyka to Scala na przyklad.
Być może komfort pisania jest większy ale nie wiem bo języka zupełnie nie znam.
Wiem, że to nie twój zarzut względem PHP tylko @vpiotr 'a ale się odniosę:
Co do szybkości, to działa na JVM więc wydajność jest w kategorii PHP / Python / .NET - nie kompiluje się do natywnego kodu procesora.
Nadal bez wsparcia natywnymi bibliotekami nie nadaje się do poważnych obliczeń.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
katakrowa napisał(a):
Co do szybkości, to działa na JVM więc wydajność jest w kategorii PHP / Python / .NET - nie kompiluje się do natywnego kodu procesora.
Między wydajnością PHP/Pythona a Javy/.NET jest wieksza przepaść niż między wydajnością Javy/.NET a C++/Rust. Dynamiczne typowanie kosztuje i to dużo
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Chorzów
- Postów: 1670
@ProgScibi: Java jest jednym z najszybszych jezyków programowania. A poza tym jeszcze jest coś takiego jak JIT
Dopóki korzystasz z natywnych i skompilowanych dla danego systemu bibliotek. Jak zaczniesz implementować własne pętle w pętli to do takiego C++ czy Delphi nie porównania. Jest wtedy 10 razy wolniejsza. Doskonałym przykładem na testy są właśnie implementacje wspomnianych algorytmów genetycznych.
Porównywanie sortowania tablic czy funkcjonalności typu array_filter jest bez sensu bo one i tak są skompilowane pod konkretny system i napisane w językach typu C albo C++.