Wątek przeniesiony 2018-10-29 17:00 z Kariera przez somekind.

Dlaczego wszyscy śmieją się z PHP?

0

Ciekawi mnie dlaczego PHP stał się tak mocnym obiektem żartu. Przecież jest w dalszym ciągu dosyć mocno wykorzystywany.

3

to pewnie sprawka znanego artykulu "php - fractal of bad desing"

1

To są wyolbrzymione pogłoski, ja osobiście krytykuje głośno wszelkie przejawy PeHaPosizmu i jestem jak najbardziej przeciwny, jak ktoś wrzuca jakieś pseudo-śmieszne memy to zaraz zgłaszam.

0

To wszystko przez to, że declare(strict_types=0) jest domyślnie :(

I ludzie sobie żarty robią a wystarczy tam zamiast 0 wstawić 1 :]

3

Dlatego że ma ten znak dolara $, jak nazbiera się troche kodu, robi się z tego spaghetii code. Niby wzorują się na Javie, a nie przyszło im do głowy, aby ten znaczek dolara w końcu usunąć, który tylko zaciemnia kod? A czekaj, dla nich to znak rozpoznawczy PHP..

10

Ciekawi mnie dlaczego PHP stał się tak mocnym obiektem żartu. Przecież jest w dalszym ciągu dosyć mocno wykorzystywany.

Bo masę ludzi pisało kiedyś w PHP na pewnym etapie kariery, więc masę ludzi miało z nim większą styczność i poznało jego absurdy. A ciężko nie hejtować / robić sobie żartów z PHP, jeśli się go używa wystarczająco długo (oraz zna się inne języki i widzi jak to może inaczej wyglądać, bardziej elegancko).

No chyba, że się popada w Syndrom Sztokholmski.

0

Bo wszyscy się z niego śmieją, więc i ja nie będę gorszy

10
Wielki Szczurek napisał(a):

Dlatego że ma ten znak dolara $, jak nazbiera się troche kodu, robi się z tego spaghetii code. Niby wzorują się na Javie, a nie przyszło im do głowy, aby ten znaczek dolara w końcu usunąć, który tylko zaciemnia kod? A czekaj, dla nich to znak rozpoznawczy PHP..

Bo to jedyne dolary jakie mają szanse w życiu zobaczyć.

4

Najwiecej z phpa śmieją się programiści, którzy przesiaduja na 4p (stoi na phpie), mają swoje blogi na WordPressie i do komunikacji korzystają z Facebooka (też php).

0

PHP należy do kategorii języków, przy których bardzo szybko widać efekty pracy. Mało tego, efekty są widoczne nawet pomimo popełnienia różnych WTF'ów w kodzie, co czyni programistę często nieświadomym popełnionych gaf.

Druga sprawa to dziedzictwo tworu, który nie został zaprojektowany by być językiem programowania.

Wielokroć, kiedy patrzę na kod PHP, zadaję sobie pytanie w stylu: to tak można w ogóle zrobić? Jakieś np. używanie obiektu z pustej pętli foreach tylko po to by zaraz poniżej coś z nim zrobić w zakresie, który w ogóle nie wynika z klamer. ;) No jest to jednak śmieszne, bo taki C# czy Java, a nawet C++ w ogóle by na to nie pozwoliły ;)

0

Moim zdaniem to, że się śmieją jest dobre, już obecnie widać ssanie na mid/senior PHP (tak samo jak w RoR, który jest w sumie podobny MVC) stawki lecą ładnie w górę, a język zdaje się omijać "bootcampową gorączkę" dodatkowo mało stresowy poziom wejścia (jest sporo czasu na życie osobiste, czy naukę frontu jako uzupełnienie), praca zdalna, czy możliwość dorabiania jak nowe sandały trzeba kupić (tutaj sobie wstawcie Harrelson'a ocierającego łzy banknotami).

0
axelbest napisał(a):

Najwiecej z phpa śmieją się programiści, którzy przesiaduja na 4p (stoi na phpie), mają swoje blogi na WordPressie i do komunikacji korzystają z Facebooka (też php).

Na 4p brakuje pewnych podstawowych ficzerów, takich jak dzielenie czy scalanie wątków, do tego czasami ma problemy ze stabilnością.
WordPress ssie strasznie, jest powolny i dziurawy. Istnieją setki blogów z treścią opublikowaną "z zewnątrz" przez jakieś chińskie boty.
Facebook to narzędzie popularne wśród niezbyt rozgarniętych ludzi takich jak madki brajanków i gimbaza.

Ten post na pewno miał na celu chwalenie PHP? :P

3

Wymyśliłem właśnie suchara, à propos tematu:

  • Dlaczego wszyscy śmieją się z PHP?
  • A dlaczego nie?

Tak wiem, cudowne. Zaraz mnie zbanują. ;)

3

PHP: The Good Parts

A na koniec i tak przyjdzie @czysteskarpety i zrobi wszystkim tak ;-)

title

0
blocikinio napisał(a):

Ciekawi mnie dlaczego PHP stał się tak mocnym obiektem żartu. Przecież jest w dalszym ciągu dosyć mocno wykorzystywany.

A propos argumentum ad populum: COBOL też jest mocno używany (w bankach), i co w związku z tym?

1
Hispano-Suiza napisał(a):

A na koniec i tak przyjdzie @czysteskarpety i zrobi wszystkim tak ;-)

Może aż tak to nie, no może bilonem :] ale dziwne, googlując, że takie wątki powstają mniej więcej co roku i negatywnie wypowiadają się w nich te same osoby, może czas na terapię :)

A na PHP powstało (lub zaczynało) wiele fajnych portali (jak np. ten) więc uważam, że się przydaje dla rozwoju/wymiany informacji w sieci (tym bardziej ważne obecnie, gdzie ta wolność zdaje się być ograniczana), dziwne, że "prawdziwi programiści" tego nie widzą, zdumiewa taki beton no, ale co poradzić, może to raczej forma leczenia kompleksów jak np. bitwa użytkowników apple.
Tak czy inaczej znienawidzone języki trwają i mają się dobrze, no chyba, że ustawowo zlikwidują, co nie jest takie znowu nierealne...

8

Aż się oderwę od pracy, byt to napisać. Załamują mnie takie wątki, wklejanie tych list absurdów itp.

JavaScript ma nieporównywalnie większy "szacun na dzielni", szczególnie wśród ludzi, którzy nie napisali w nim nic większego, a lista jego absurdów jest od lat znana i dość długa. Drobne pierdoły typu brak szybkiej możliwości sprawdzenia, czy obiekt jest pusty, numerowanie miesięcy od zera jako jakieś Java 1.0 legacy, true+true===2 i tak dalej. Piszę w JS na co dzień i nawet to lubię, żyję z tymi dziwactwami, tak samo jak od lat nie mam absolutnie żadnych problemów z dziwactwami php.

W zeszłym miesiącu napisałem w tym śmiesznym php skrypcik, który wyciąga dane z DB i generuje raport do pliku xlsx. Rozwiązanie dostarczone przez korpo w C# za miliony monet wciąga 8.5 GB ramu i zajmuje ok 4 minut. Ten śmieszny skrypcik w żałosnym php wciąga w szczycie 8 MB i generuje to samo w 3 sekundy.

Nawet nie wiem jakim pseudo-inteligentnym frazesem to podsumować

2
roSzi napisał(a):

JavaScript ma nieporównywalnie większy "szacun na dzielni"

Żaden uczciwy inżynier o JS nic dobrego nie powie.

Nawet nie wiem jakim pseudo-inteligentnym frazesem to podsumować

Jedni kretyni pracują w korpo, inni u nich zamawiają soft, który można zastąpić gotowym narzędziem (albo nawet jednym skryptem, jak sam to udowodniłeś).

4

Myślę, że są co najmniej dwa powody:

  1. PHP było stworzone przez kompletnego amatora, który miał niewielkie doświadczenie w projektowaniu języków. Pierwotnie PHP rozwijało się do "Personal Home Page". Innymi słowy był to zabawkowy język do pisania prostych stron internetowych na szybko, bez jakiś większych aspiracji, dla ludzi którzy raczej nie chcą się zajmować programowaniem na poważnie. Efekt jest taki, że wśród profesjonalistów kodujących w językach o pochodzeniu akademickim czy przemysłowym (np. Fortran, C, C++, później Java) do PHP przylgnęła opinia języka zabawkowego, stworzonego na szybko i ogólnie do mało poważnych zastosowań. Długa lista problemów w projekcie języka też jest efektem tego, że to był projekt hobbystyczny, pisany w standardzie "studenckim", bez jakiegoś poważniejszego zarządzania, więc długo do biblioteki dodawano po prostu każdą rzecz, którą ktoś uznał za potrzebną, bez analizy, czy jest to spójne z resztą języka. Wydaje mi się, że to też nie jest tak, że ludzie się śmieją z samego PHP, a bardziej że śmieją się z ludzi, którzy znają JEDYNIE PHP i którzy w PHP próbują robić rzeczy do których PHP nie zostało stworzone. Sam używałem kiedyś PHP do zrobienia na szybko małej stronki z elementami dynamicznymi i uważam, że było spoko (mimo tych "drobnych" wkurzających rzeczy z porównywaniem itp. - ale każdy język naprawdę ma taką listą różnych problemów).

  2. PHP ma bardzo niski próg wejścia. Tak niski, że nawet moja babcia by się nauczyła. No, dobra, może moja babcia to nie, ale mama pewnie tak. Generalnie języki uważane za łatwe (np. wszelkie języki rodziny Basic) czy języki tworzone dla nie-programistów (Cobol) budzą politowanie ze strony programistów, którzy poświęcili 10 tys. godzin na opanowanie czegoś trudnego C++ czy Javy wraz z ekosystemem (nawet jeśli takie C++ czy Java mają równie długą listę zabawnych rzeczy, które są nieprzemyślane czy zrobione po prostu źle). Podobnie jak programiści Haskella patrzą na programistów Javy czy C z góry, a programiści Idrisa i Coq pewnie śmieją się z programistów Haskella. Wydaje mi się, że tu działa taka zasada, że jeśli ktoś używa prostych narzędzi, to pewnie nie chciało mu się uczyć. W innych zawodach też tak jest - znacznie większy szacunek wzbudzi robotnik obsługujący wielką zmechanizowaną koparkę niż robotnik kopiący rów łopatą, mimo że kopanie rowu łopatą zapewne jest bardziej męczące (ale każdy to umie, a obsługiwać koparkę nie każdy).

0

Po pierwsze nie wszyscy. Mysle ze nawet wiekszosc nie smieje sie.

Po drugie niektorzy moga plakac. Albo z tego powodu ze musza uzywac WordPressa, albo ze ... nie moga.

1

"PHP by-Przemo"

2

Za dużo styczności z PHP nie miałem, ale tak jak większość coś na studiach i raz na rok jakiś projekt w pracy, więc mogę się wypowiedzieć. Najważniejsze jest to, że PHP jest tragicznie napisany i nie miał być językiem programowania. Nie zgadzam się jednak z dwoma kwestiami w tym wątku.
Pierwsza to kasa (dolary ;)). Stety niestety, ale w PHP jest obecnie duża kasa i wątpie, żeby PHPowcy mieli przechodzić na Ruby czy Pythona gdzie kasa jest podobna, a ostatnio często nawet mniejsza zwłaszcza w Rubym. Poza tym PHP jest dużo bardziej podobny do Javy niż do tych dwóch i nawet główny framework czyli Symfony jest podobny do Springa, więc wiadomo co wybiorą. Nie każdemu też pasuje pójście na Javovca do korpo (85% ofert) i klepanie czegoś w jednym module przez rok, więc tu niestety nie ma co liczyć, że PHP padnie.
Druga to taka, że PHP jest łatwy. Tak może chyba napisać ktoś kto jako drugi język używa JS. Sorry, ale uczenie się tego szajsu to droga przez mękę. Nauka Pythona, C#, Javy i Rubiego to czysta przyjemność. Prawie wszystko jest logiczne i łatwe do nauki, a w PHP? Jak w lesie cytując klasyka. Różne nazwy funkcji, które nie wiadomo skąd się biorą i strony z dziesiątkami przykładów nielogiczności to według was niski próg wejścia? No chyba że dla kogoś programowanie to tylko wyświetlenie zmiennej i if to rzeczywiście próg wejścia jest niski, ale najgorszemu wrogowi nie życzę nauki PHPa. Szybciej pójdzie z chińskim. U mnie w pracy wszyscy narzekali właśnie na to, że tego nie da się nauczyć.
Dwie te rzeczy akurat moderatorzy napisali, więc chyba niski próg wejścia jest na to stanowisko ;)

5
wugg napisał(a):

Druga to taka, że PHP jest łatwy. Tak może chyba napisać ktoś kto jako drugi język używa JS. Sorry, ale uczenie się tego szajsu to droga przez mękę. Nauka Pythona, C#, Javy i Rubiego to czysta przyjemność. Prawie wszystko jest logiczne i łatwe do nauki, a w PHP? Jak w lesie cytując klasyka. Różne nazwy funkcji, które nie wiadomo skąd się biorą i strony z dziesiątkami przykładów nielogiczności to według was niski próg wejścia? No chyba że dla kogoś programowanie to tylko wyświetlenie zmiennej i if to rzeczywiście próg wejścia jest niski, ale najgorszemu wrogowi nie życzę nauki PHPa. Szybciej pójdzie z chińskim. U mnie w pracy wszyscy narzekali właśnie na to, że tego nie da się nauczyć.

PHP jest imperatywny, a więc chociażby z tego powodu łatwiejszy niż języki funkcyjne czy deklaratywne. A od innych języków imperatywnych jest łatwiejszy do nauki dzięki słabemu typowaniu, braku wskaźników i braku wymuszonej organizacji kodu. Te rzeczy to duże bariery dla totalnie początkujących. Do tego aby zrobić pierwszą stronkę w PHPie wystarczy napisać linijkę skryptu i wrzucić ją na byle hosting, efekt widać od razu. W Javie czy C# trzeba najpierw ogarnąć i skonfigurować bardziej skomplikowane środowisko.

Dwie te rzeczy akurat moderatorzy napisali, więc chyba niski próg wejścia jest na to stanowisko ;)

Dziwne zatem, że nie jesteś moderatorem. ;)

2

A co ma linijka skryptu do łatwości nauki? To w takim C# mam jeszcze łatwiej, bo ściągnę sobie porządny i oficjalny edytor, a program mogę od razu odpalić, nie muszę szukać żadnego hostingu.
Musisz się uczyć wskaźników żeby programować w Pythonie, Rubym, Javie czy C#? Słabe typowanie ma być zaletą w nauce? To chyba zależy po co sie uczy, bo jeśli z myślą o pracy to jakim cudem to jest zaleta? Przecież jak masz typowanie to nie musisz się zastanawiać tak jak w PHP czemu coś nie działa z powodu błędnego typowania tylko od razu to wiesz. Tak samo brak wymuszonej organizacji kodu. Jak się raz coś tam napisze to potem nie da się do tego wrócić bo nie można zrozumieć i to jest według Ciebie zaleta w szybkiej nauce?
Oczywiście słyszałem że PHP 7 jest całkiem niezłe i wiem, że jest pełno poważnych aplikacji w nim pisanych, ale pisanie, że jest łatwy do nauki programowania to kompletna ignorancja, bo te poważne aplikacje nie są pisane w takim stylu o jakim ty tu piszesz. Żeby jakoś normalnie w tym szajsie pisać trzeba się przy okazji dużo wzorców nauczyć, a typowanie to obowiązek, więc przestańcie polecać nowym PHP... Wiem że przez bootcampy jest obawa o miejsca pracy, ale wrzucanie kogoś na minę o nazwie PHP to przesada i stracone wiele czasu na naukę podczas gdy można zacząć z normalnym językiem i od początku uczyć się dobrze programować. Przecież ogarnięcie Javy i Springa jest dużo przyjemniejsze, łatwiejsze i szybsze niż ogarnięcie jakiegoś frameworka PHP tak żeby nie pisać spaghetti.

2
wugg napisał(a):

A co ma linijka skryptu do łatwości nauki?

Nie tyle łatwości, co przyjemności czyli fałszywie pojmowanej efektywności. Początkujący chce widzieć jak najszybciej efekt swojej pracy. W PHP zobaczy go szybciej niż w C#.

To w takim C# mam jeszcze łatwiej, bo ściągnę sobie porządny i oficjalny edytor, a program mogę od razu odpalić, nie muszę szukać żadnego hostingu.

Tja, powiedz to tym, których przerasta pobranie i instalacja odpowiedniej wersji VS i wybranie odpowiednich opcji potrzebnych do robienia tego, czego potrzebują.

Słabe typowanie ma być zaletą w nauce?

Oczywiście - do słabego typowania nie musisz nawet rozumieć, że liczba to nie jest tekst.

Przecież jak masz typowanie to nie musisz się zastanawiać tak jak w PHP czemu coś nie działa z powodu błędnego typowania tylko od razu to wiesz.

A jak nie masz typowania, to nie musisz tracić czasu na deklarowanie typów, ani zastanawiać się, co gdzie ma być gdzie zwracane ani przekazywane, ani myśleć o konwertowaniu przed wykonywaniem operacji na niekompatybilnych typach.

Tak samo brak wymuszonej organizacji kodu. Jak się raz coś tam napisze to potem nie da się do tego wrócić bo nie można zrozumieć i to jest według Ciebie zaleta w szybkiej nauce?

Tak. Po prostu piszesz kod w pliku, bez myślenia o jakichś przestrzeniach nazw, klasach i innych bzdurach niepotrzebnych w skali mikroprojektów do nauki pętli.

Oczywiście słyszałem że PHP 7 jest całkiem niezłe i wiem, że jest pełno poważnych aplikacji w nim pisanych, ale pisanie, że jest łatwy do nauki programowania to kompletna ignorancja, bo te poważne aplikacje nie są pisane w takim stylu o jakim ty tu piszesz.

Ale ja nie piszę o tworzeniu poważnych aplikacji, tylko o niskim progu wejścia dla początkującego, bo o tym wcześniej tu była mowa. Jeśli pogubiłeś się w wątku, to nie jest to mój problem.

Żeby jakoś normalnie w tym szajsie pisać trzeba się przy okazji dużo wzorców nauczyć, a typowanie to obowiązek, więc przestańcie polecać nowym PHP...

Jeszcze nigdy nikomu PHP nie polecałem, i nie zamierzam. Po prostu udzielam Ci obiektywnej odpowiedzi na pytanie, które zadałeś. ;]

Przecież ogarnięcie Javy i Springa jest dużo przyjemniejsze, łatwiejsze i szybsze niż ogarnięcie jakiegoś frameworka PHP tak żeby nie pisać spaghetti.

No tak, bo w Springu zamiast spaghetti można stosować encja na twarz i pchasz, więc jest 100x bardziej profesjonalnie. :)

2

Przecież ogarnięcie Javy i Springa jest dużo przyjemniejsze, łatwiejsze i szybsze niż ogarnięcie jakiegoś frameworka PHP tak żeby nie pisać spaghetti.

Widać, że Spring widziałeś w kalendarzu wiszącym w kuchni. W przeciwnym wypadku nie chrzaniłbyś takich głupot.

0

Nie tyle łatwości, co przyjemności czyli fałszywie pojmowanej efektywności. Początkujący chce widzieć jak najszybciej efekt swojej pracy. W PHP zobaczy go szybciej niż w C#.

Przecież pisałeś:

PHP jest imperatywny, a więc chociażby z tego powodu łatwiejszy niż języki funkcyjne czy deklaratywne. A od innych języków imperatywnych jest łatwiejszy do nauki dzięki słabemu typowaniu, braku wskaźników i braku wymuszonej organizacji kodu.

I do tego się odniosłem. Ja tutaj wyraźnie widzę napisane, że PHP jest łatwiejszy od innych, więc nie pisz mi co początkujący chce widzieć najszybciej. To że ktoś coś od razu zobaczy to nie znaczy że się szybciej nauczy. Wbrew pozorom PHP nie służy tylko do wyświetlenia zmiennej.
Ja pisałem o tym, że PHP nie jest łatwy do nauki, bo jest żałośnie i niespójnie napisany, a Ty wyskakujesz mi z tym, ze szybciej widać pierwsze efekty.

Tja, powiedz to tym, których przerasta pobranie i instalacja odpowiedniej wersji VS i wybranie odpowiednich opcji potrzebnych do robienia tego, czego potrzebują.

Ściąga się instalator i klika next, next, next. Zresztą po polsku też jest i przede wszystkim cała dokumentacja jest po polsku. W PHP też? Teraz sprawdziłem i nie widzę. Jakie jest oficjalnie polecane IDE do PHP? Na hostingu też trzeba się zarejestrować. W C# ściągasz jeden plik, który potem robi wszystko za Ciebie. To jest trudniejsze od minimum 3 rzeczy z PHP?

Oczywiście - do słabego typowania nie musisz nawet rozumieć, że liczba to nie jest tekst.

Skoro nie trzeba rozumieć to znaczy że się nie uczy. To nie jest zaleta w nauce. To jest może zaleta w szybkości zrobienia czegoś, ale nie zaleta w nauce, która potem umożliwi pracę.

A jak nie masz typowania, to nie musisz tracić czasu na deklarowanie typów, ani zastanawiać się, co gdzie ma być gdzie zwracane ani przekazywane, ani myśleć o konwertowaniu przed wykonywaniem operacji na niekompatybilnych typach.

Czyli zamiast uczyć się raz a porządnie polecasz uczyć się 2 razy - najpierw bez typów, a potem z typami, wiedząc że to pierwsze w poważnej pracy się nie przyda? Przypominam, że w PHP 7 też jest typowanie, więc po się uczyć czegoś co jest nieprzydatne i wprowadza tylko zamieszanie, a przede wszystkim przez to może powstawać dużo błędów, które można łatwo wyeliminować stosując typowanie? W każdym normalnym IDE jest też podpowiadanie typowania i konwersji, no chyba że przy okazji polecasz też naukę w Notatniku.

Tak. Po prostu piszesz kod w pliku, bez myślenia o jakichś przestrzeniach nazw, klasach i innych bzdurach niepotrzebnych w skali mikroprojektów do nauki pętli.

To nie są bzdury nawet w mikroprojektach, a jak już na siłę coś takiego chcesz to są do tego lepsze języki. Takie uczenie się na odwal się na początku potem tylko przeszkadza.

Ale ja nie piszę o tworzeniu poważnych aplikacji, tylko o niskim progu wejścia dla początkującego, bo o tym wcześniej tu była mowa. Jeśli pogubiłeś się w wątku, to nie jest to mój problem.

Ja się odniosłem do tekstu, że PHP jest łatwy. Napisałem też coś o niskim progu wejścia, ale to też podtrzymuję, bo już głupie operacje na stringach i tablicach to w PHP pełno niespójności, a te stringi i tablice to chyba właśnie próg wejścia? Porównaj sobie proste operacje na tych dwóch rzeczach w PHP i w jakimś normalnym języku. Jak takie dziwne nazywanie metod może być niskim progiem wejścia?

Jeszcze nigdy nikomu PHP nie polecałem, i nie zamierzam. Po prostu udzielam Ci obiektywnej odpowiedzi na pytanie, które zadałeś. ;]

Nie jest obiektywna, bo pisząc, że PHP ma niski próg wejścia udowadniasz, że nie pisałeś nigdy w tym szajsie.

No tak, bo w Springu zamiast spaghetti można stosować encja na twarz i pchasz, więc jest 100x bardziej profesjonalnie. :)

100x może nie, ale na pewno lepsze niż to co proponuje PHP.

Widać, że Spring widziałeś w kalendarzu wiszącym w kuchni. W przeciwnym wypadku nie chrzaniłbyś takich głupot.

Co jest głupotą? Wiem, że Spring nie jest jakoś super napisany i za bardzo na nim wzorować się nie można, ale to i tak dużo lepsze niż PHP.

1
somekind napisał(a):
wugg napisał(a):

Słabe typowanie ma być zaletą w nauce?

Oczywiście - do słabego typowania nie musisz nawet rozumieć, że liczba to nie jest tekst.

Przecież jak masz typowanie to nie musisz się zastanawiać tak jak w PHP czemu coś nie działa z powodu błędnego typowania tylko od razu to wiesz.

A jak nie masz typowania, to nie musisz tracić czasu na deklarowanie typów, ani zastanawiać się, co gdzie ma być gdzie zwracane ani przekazywane, ani myśleć o konwertowaniu przed wykonywaniem operacji na niekompatybilnych typach.

Mając silne typowanie też możesz nie musieć się bawić w deklarowanie typów - wystarczy język wspierający type inference. Swoją drogą silne typowanie z inferencją (np. Kotlin) wydaje mi się dużo wygodniejszym rozwiązaniem, niż silne z wymogiem deklaracji (C, Java) czy słabe (PHP, Python) - jeśli coś ma się wywalić przez niezgodność typów, wywali się na etapie kompilacji (o ile występuje), a nie w runtime. Do nauki też powinno być łatwiejsze, niż dłubanina z typami Ene<Due,Rike<Fake<Torba<Borba<...>>>>> czy debugowaniem skryptów, które wywalają się, bo próbujesz iterować po liczbie a stack trace g... Ci mówi i nawet nie wiesz, jak to ugryźć - w końcu dopiero się uczysz ;)

Zresztą, słabe typowanie słabym typowaniem, ale nawet w Pythonie coraz częściej uciekam się do tych złych, niedobrych, niepythonicznych type hints i modułu typing bo zwyczajnie prościej się pisze kod, gdy zaczyna się coraz bardziej rozrastać.

wugg napisał(a):

Tak samo brak wymuszonej organizacji kodu. Jak się raz coś tam napisze to potem nie da się do tego wrócić bo nie można zrozumieć i to jest według Ciebie zaleta w szybkiej nauce?

A da się wrócić do kodu, który ktoś na siłę pisał obiektowo, na siłę wpychał w klasy albo tworząc jednego SuperBlobClass, w którym jest wszystko i nic, albo podzielił na klasy bez jakiegoś większego zamysłu nad tym dzieleniem (w końcu się uczy), bo hurr durr to jest obiektowy język, wszystko musi być w klasach bo się nawet nie skompiluje?

Da się łatwo nauczyć nowicjusza Golanga, w którym musisz umieścić swój projekt we właściwym katalogu w swoim systemie plików, żebyś był w ogóle w stanie dołączać biblioteki czy importować własne pliki nie dostając przy tym pie**olca? W którym dokumentacja musi być pisana niesformatowaną prozą, bo taki sposób twórcy uznali za prosty i słuszny, a generowanie dokumentacji z Doxygena na jedno kopyto z innymi językami było dla nich zbyt mainstreamowe? Który wymusza na programiście zwracanie z funkcji dwóch wartości, aby obsłużyć błąd (jedna na typ zwracany, druga na.. błąd)? Który oficjalnie nie jest obiektowy, za to możesz sobie zdeklarować sobie osobno interfejs, a osobno funkcje wykonujące się na tym interfejsie, a jak jakiś typ ma realizować interfejs, to implementujesz funkcję na tym interfejsie dla tego typu.... i tak dalej?

To jest prostsze od powiedzmy Pythona, w którym możesz napisać sobie kilka klas, które coś tam reprezentują, bo tak jest akurat wygodniej, a potem dopisać prosty, prymitywny, skryptowaty, nieobiektowy skrypt który robi robotę korzystając przy tym z klas, bo tak jest wygodniej?

Dziedziczenie, żeby dokleić jakąś jedną metodę do nie-swojej klasy w Javie ma być prostsze od napisania na boku extension function w Kotlinie, które może zajmować nawet jedną linijkę, a zrobi to samo i właściwie nawet nie wymaga zrozumienia koncepcji dziedziczenia, bo z punktu widzenia kodu źródłowego.. po prostu "doklejasz" dodatkową metodę do klasy?

somekind napisał(a):
wugg napisał(a):

Przecież ogarnięcie Javy i Springa jest dużo przyjemniejsze, łatwiejsze i szybsze niż ogarnięcie jakiegoś frameworka PHP tak żeby nie pisać spaghetti.

No tak, bo w Springu zamiast spaghetti można stosować encja na twarz i pchasz, więc jest 100x bardziej profesjonalnie. :)

Tak coś czuję, że ogarnięcie języka + frameworka na początku i tak zaowocuje pisaniem spaghetti, choćby nie wiem jak łatwy i przyjemny w nauce był ten framework ;) Taki Flask jest dziecinnie prosty, aplikację typu "Hello World" można napisać w bodajże 7 linijkach z importem włącznie, a mimo to łatwo narobić w nim spaghetti i to w wariancie carbonara.

2
wugg napisał(a):

Ja tutaj wyraźnie widzę napisane, że PHP jest łatwiejszy od innych, więc nie pisz mi co początkujący chce widzieć najszybciej. To że ktoś coś od razu zobaczy to nie znaczy że się szybciej nauczy.

Taki ktoś szybciej nauczy się tworzyć to, co jest mu w danej chwili potrzebne. Nie jest to najlepsza strategia długoterminowa, ale nie o tym ta dyskusja.

Ściąga się instalator i klika next, next, next.

Najpierw trzeba wiedzieć, który instalator ściągnąć. Praktyka forum pokazuje, że niektórzy początkujący nawet z tym mają problemy. I to też nie jest tak prosto z tym klikaniem w "next", bo domyślne opcje instalacji niekoniecznie zawierają to, co jest potrzebne.

Zresztą po polsku też jest i przede wszystkim cała dokumentacja jest po polsku. W PHP też?

Jeśli do PHP nie ma polskiej dokumentacji takiej jaką daje MS, to punkt dla PHP. A nawet sto punktów.

Jakie jest oficjalnie polecane IDE do PHP?

Jak do prawie każdego języka - to od JetBrains.

Skoro nie trzeba rozumieć to znaczy że się nie uczy. To nie jest zaleta w nauce.

Znowu wychodzisz z błędnych założeń. Jeśli nie jest mu to do niczego potrzebne, to nauczenie się tego nie jest żadną zaletą.

To jest może zaleta w szybkości zrobienia czegoś, ale nie zaleta w nauce, która potem umożliwi pracę.

Czyli ludzie nie pracują w PHP? Odważna teza.

Czyli zamiast uczyć się raz a porządnie polecasz uczyć się 2 razy

Niczego nie polecam. Przestań dopowiadać sobie jakieś swoje imaginacje do moich słów.

Przypominam, że w PHP 7 też jest typowanie, więc po się uczyć czegoś co jest nieprzydatne i wprowadza tylko zamieszanie, a przede wszystkim przez to może powstawać dużo błędów, które można łatwo wyeliminować stosując typowanie?

Ale to nie jest dyskusja o tym, które typowanie jest lepsze, bo to jest oczywiste. Pytałeś czemu PHP ma niski próg wejścia - odpowiedź brzmi: "bo klepanie w nim nie wymaga nauki szeregu koncepcji koniecznych dla innych języków programowania".

Ja się odniosłem do tekstu, że PHP jest łatwy. Napisałem też coś o niskim progu wejścia, ale to też podtrzymuję, bo już głupie operacje na stringach i tablicach to w PHP pełno niespójności, a te stringi i tablice to chyba właśnie próg wejścia? Porównaj sobie proste operacje na tych dwóch rzeczach w PHP i w jakimś normalnym języku. Jak takie dziwne nazywanie metod może być niskim progiem wejścia?

Skoro zatem PHP jest taki trudny, czemu tak wielu ludzi od niego zaczyna, i czemu twierdzą, że jest "łatwy na początek"?

100x może nie, ale na pewno lepsze niż to co proponuje PHP.

Takie teksty są charakterystyczne dla ludzi, którzy mało w życiu widzieli, chyba głównie studentów pierwszych lat.
Jestem pewien, że dobrzy programiści PHP piszą kod wielokrotnie lepiej zaprojektowany, stabilny i bezpieczny niż miszczowie Springa, którzy są przekonani, że wystarczy pisać w magicznym frameworku, żeby było profesjonalnie.


superdurszlak napisał(a):

Mając silne typowanie też możesz nie musieć się bawić w deklarowanie typów - wystarczy język wspierający type inference.

I to rozwiąże problem przekazywania inta do funkcji oczekującej stringa?

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