Wątek przeniesiony 2021-09-09 15:01 z Społeczność przez cerrato.

Skąd wzięła się nienawiść do PHP-powców?

2

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ć?

4

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.

5

Bo programują w PHP.

12

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

1

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.

5

Ja tam w podobny sposób nienawidzę JavaScriptu. Świat bez nich by był po prostu lepszym miejscem ;)

10

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)

2

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ą.

5

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.

1

7
Marcin Marcin napisał(a):

Zastanawia mnie skąd wzięła się tak wielka nienawiść do PHP-powców?

Nienawiść? Raczej współczucie.

6

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

12

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.

5

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?

??

5

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.

0

Odpowiedź jest bardzo prosta... zazdrość :)

0

Wszyscy javowcy/c-sharpowcy itp itd sio... sio mi stąd. Spadać na fora napisane w waszych językach.

3

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.

0

@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?

2

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...

2

@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)

https://ideone.com/EeF9xQ

3
vpiotr napisał(a):

@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

Wg mnie chyba nie rozumiesz istoty języka.
0. ( wydajność ) owszem słaba ale nie do tego go stworzyli. Podobnie jak Java, Python, Javascript ...

  1. ( typowanych tablic ) Wymaganie typów od języka nietypowanego ( do wersji 7 ) to brak zrozumienia istoty rzeczy ;
  2. ( wskaźników ) Masz referencje - żaden tego typu język ( javascript, python itp.. nie mają wskaźników );
  3. ( przetwarzania macierzy ) Ojejku jejku to brak biblioteki a nie kwestia języka - napisz to sobie i będziesz miał.
  4. j.w.
  5. ( typów zbiorowych )możesz używać array bez wartości ( same klucze )
  6. ( 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.

3

Sam jestem hejterem PHP, i sam często wstawiam na Programistyczne WTF jakie Was spotkały 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/

1

@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"?

1

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 :) )

2

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 ;]

3

Sugeruję przywoływać tylko benchmarki z PHP 8.0 lub 8.1, w którym jest JIT; i wtedy porównywać szybkości.

1
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ń.

1
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

1

@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++.

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