Wątek przeniesiony 2016-08-24 10:10 z Edukacja przez aurel.

Czy PHP wymiera?

0

Hmm swoją pracę rozpocząlem w phpie jako totalny świeżak. Nie wiedziałem nic, słyszałem tylko wszędzie jaki to php jest fuj i w ogóle niedorozwinięty. Programuje w tym ponad 5 lat i wg mnie php'a czeka jeszcze świetlana przyszłość. Dlaczego? Ano dlatego że da się w nim pisać kod dobrej jakości. Popieram że php miał i nadal ma pewne bolączki - niespójność nazewnictwa funkcji,kolejności parametrów i odmienne porównywanie wartości różnego typu. Ale... od php7 przecież to się zmienia. Aplikacja która obecnie utrzymujemy po przejściu na php7 zaliczyła wzrost wydajności o 100% (albo o 50% zależy jak patrzeć :P). Dorzućmy do tego tdd, psr7, ww. symfony i inne takie - dostaniemy wtedy obraz bardzo fajnego narzędzia. Do sektora bankowego php na pewno nie trafi, ale do web-dev'u jest jak znalazł. No i taki tescik wynalazlem - https://blog.famzah.net/2016/02/09/cpp-vs-python-vs-perl-vs-php-performance-benchmark-2016/
Od razu uprzedzam ze to pierwszy z brzegu na frazę "php7 vs java" w google, więc odnoszę się do tego tylko pobieżnie.

0

A W Jakich Frameworkach piszecie? Bo Probowalem Laravel i BLEEEEEEEEEEEEEEEE......... Symfony 2 jest calkiem przyjemne

0

ten test to jakaś totalna bzdura. Java jest porównywalna w wydajności z C a nie 12x wolniejsza, chyba że ktoś liczył czas podniesienia JVM. Poza tym autor nie wiem po co użył ArrayList (i autoboxingu) skoro wie jaki będzie rozmiar tablicy wynikowej. - vpiotr dzisiaj, 02:26

Porównywalna wydajnością z C ? Z tego co pamiętam to zazwyczaj mieści się w C^2, nawet jak ją mocno podrasowali nie porównywałbym jej z C ..

1

Kwestia performancu w obecnych czasach nie jest już tak kluczowa. Często dana technologia ma 'wystarczający' performance.

1

php nie wymiera, można powiedzieć, że dzięki Symfony jest przeżywa coś w rodzaju renesansu. Ja słyszałem jakieś 2-3 lata temu, że java umiera. Sprawdziło się?

0
Wielki Lis napisał(a):

ten test to jakaś totalna bzdura. Java jest porównywalna w wydajności z C a nie 12x wolniejsza, chyba że ktoś liczył czas podniesienia JVM. Poza tym autor nie wiem po co użył ArrayList (i autoboxingu) skoro wie jaki będzie rozmiar tablicy wynikowej. - vpiotr dzisiaj, 02:26

Porównywalna wydajnością z C ? Z tego co pamiętam to zazwyczaj mieści się w C^2, nawet jak ją mocno podrasowali nie porównywałbym jej z C ..

Ze 2x wolniejsza od C w microbenchmarkach, ale za to rzędy wielkości szybsza niż czysty Python, PHP czy nawet Erlang.
Ten benchmark co podałeś jest pisany przez jednego gościa przez co jest wątpliwej jakości, bo ciężko być orłem z kilkunastu języków jednocześnie. Tutaj: http://benchmarksgame.alioth.debian.org/u64q/java.html jest benchmark, gdzie programy testowe są podsyłane przez wielu ludzi i jest zdecydowanie bardziej reprezentatywny.

Zamiast mierzyć wydajność języków w abstrakcyjnych zadaniach można zmierzyć je w tym co chcemy robić - serwowaniu zawartości z serwera webowego. Tego typu benchmarki są tutaj: https://www.techempower.com/benchmarks/

PS:
Zresztą, gdy ten gość z famzah.net zrobił wersję, która nie testuje szybkości boxingu w Javie to wyszło mu, że Java jest zaledwie 27% wolniejsza od C++. A przy tym trzeba pamiętać, że C++ nie sprawdza indeksów tablic ani null pointerów (tzn da się to zrobić w C++, ale trzeba robić to explicite; Java robi to zawsze).

2

0

Co do porównań PHP (i innych języków) z Javą, nb. dwóch dziadków lat 90., można zauważyć jeszcze następującą kwestię: w JEE występuje ciągle sporo narzędzi generalnie uważanych za profesjonalne, i z reguły są najbardziej "mature" na rynku, typu jakieś kolejkowanie, serwery aplikacji itd. I to jeden z powodów, dla którego Java moim zdaniem nie zniknie w przeciągu co najmniej 10 lat. Tworzenie takich narzędzi, zyskiwanie popularności, rozwój (z reguły powolny), testowanie przez społeczność itd. zajmuje 5+ lat (5 lat to i tak malutko). I tu faktycznie jako platforma (nie - język) JEE się broni.

Nie znaczy to jednak, że tak pozostanie zawsze. Inne popularne technologie przejmują rozwiązania z tych, w których się sprawdziły (np. choćby Symfony, który dosłownie bierze całe specyfikacje JSR jak Validation https://jcp.org/en/jsr/detail?id=303 czy też rozwiązania bezpośrednio ze Srping, Django, RoR i innych, albo choćby Java z reczami typu Groovy czy Jython).

Inna sprawa, że dzisiaj można wykorzystywać łatwo wiele różnych technologii korzystając generalnie z innej, więc droga w PHP czy innych językach do narzędzi typu RabbitMQ albo nawet napisanych w C stoi otworem.

Moim zdaniem jedną z najlepszych dróg obrał Facebook: zaczął od PHP, a rzeczy, które wymagały największej optymalizacji, teraz są po stronie C - najszybszego języka wysokiego (jeszcze? bo to podobno ostatnio kontrowersyjna sprawa...) poziomu. W ten sposób stopniowo można rozbudowywać każdą web-aplikację / portal. Branie więc Javy do takich celów często mija się z celem.

0
Maximus Decimus meri napisał(a):

A W Jakich Frameworkach piszecie? Bo Probowalem Laravel i BLEEEEEEEEEEEEEEEE......... Symfony 2 jest calkiem przyjemne

Ale konkretnie. Co Ci się takiego nie podoba w tym Laravelu? I która wersja? 5x czy 4x bo to też duża różnica.

Na 99%, zakładając że masz wybór a nie narzucony framework, wybierzesz do realizacji dowolnej, nawet małej aplikacji typu prosty blog ten framework, który Tobie się najbardziej podoba, czyli jak piszesz Symfony. Albo dlatego że inni to polecają (ale to że go wybrałeś to też mogło być wynikiem pewnej reklamy społeczności i programistów). A prawda jest taka, że w Laravelu pewne rzeczy się robi łatwiej i szybciej i jest taki zakres zastosowań, gdzie będzie pod pewnymi względami lepszy od Symfony i na odwrót. Miej to na względzie, że technologie dobiera się do konkretnego zastosowania a nie dlatego, że coś Ci się podoba. Możliwe że Laravel jest mocniejszy w realizacji startupów, gdzie chodzi o to żeby szybko napisać, dzięki czemu biznes może szybciej wystartować, tak jak to oferują Railsy albo DJANGO. Są więc pewne zalety ale to wszystko kosztem czegoś.

0
Maximus Decimus meri napisał(a):

A W Jakich Frameworkach piszecie? Bo Probowalem Laravel i BLEEEEEEEEEEEEEEEE......... Symfony 2 jest calkiem przyjemne

Na tyle bleee że coraz więcej ofert jest własnie w nim. Firma w której pracuje 1,5 roku przeszła na laravela i cały czas szukamy porządnych devów. I co powiem w laravela bardzo płynnie wszedłem (zaczynaliśmy od 4.2) I na prawde to jest bardzo przyjemny framework tylko trzeba poczytać, a nie robić apke nic o nim nie wiedząc + niestety ale bardzo wiele tutoriali jest źle napisanych. Należy korzystać z oficjalnej dokumentacji oraz z kursów samych twórców laravela oraz z ich forum to się bedzie wiedział jak robić łatwo, szybko, przyjemnie i elegancko :)

3

uwaga, post stronniczy. PHP nie jest moim ulubionym językiem.

jest też "zła tradycja", mianowicie wordpress - sam się zastanawiam czy wordpress zrobił więcej szkody czy pożytku. Niby wiele rzeczy uprościł, ale pokazał, że "PHP" to prosty i prymitywny język dzięki któremu każdy może postawić strono-bloga w 15 minut... no i za tym poszedł zły wizerunek "języka prostackiego", co nie jest prawdą

A nieprawda.
PHP od początku było językiem prostackim, gdy powstał Wordpress został napisany prostacko, i PHP teraz jest językiem prostackim do którego frameworki jak Laravel doszywają nogi żeby zrobić z niego ośmiornicę (parafrazując wiadomo kogo).

PHP to w zasadzie przerośnięty system szablonów. Bardzo specjalizowany. Całe wykonanie programu w PHP to domyślnie wypisywanie na ekran. Żeby program w PHP w ogóle zaczął się wykonywać, trzeba to zmienić i dopisać <?php na początku. Nie kojarzę ani jednego innego popularnego języka który by tak działał. A początki PHP to statyczny HTML + dynamiczne elementy. Żeby stworzyć jakiś layout na stronie, były dwie opcje:

  • tworzyło się "begin_page.php" i "end_page.php", i każdą stronę zaczynało i kończyło odpowiednim includem
  • tworzyło się "index.php" który includował plik z GETa (tzn. index.php?page=about.php etc) - witajcie LFI, RFI i inne wesołe vulny.

Miało to jedną dużą zaletę - każdy mógł stworzyć swoją dynamiczną stronę.
Miało to też jedną dużą wadę - każdy mógł stworzyć swoją dynamiczną stronę.

Każdy człowiek mógł kupić książkę "od zera do PHP kodera" czy podobną, i zacząć tworzyć strony, które jakoś tam działały, a tak naprawdę pod spodem były splątamym potworem spaghetti, trzymającym się jakoś tylko dzięki kilometrom taśmy i ha
cków.

No i PHP to obiektywnie język, który roi się od WTFów. Z równie popularnych języków, może z nim konkurować chyba tylko javascript.

Żeby nie było że tylko narzekam.

Z drugiej strony, tyle stron stoi na PHP, że programistów PHP będzie potrzeba jeszcze bardzo, bardzo długo. Pracy w nim na pewno nie zabraknie. Ma renomę języka w którym mało płacą, ale moim zdaniem to dlatego, że sporo programistów PHP to poczatkujący piszący proste stronki, albo robiąca freelancing dla januszy biznesu, albo klepiąca moduły do wordpressa. W momencie kiedy ktoś faktycznie zna język dobrze, to zarobi nie mniej niż w innych językach (zresztą, tak jest wszędzie).

W dodatku słyszałem dobre rzeczy o PHP7. Może to takie odświeżenie dla php jak ES6 dla javascriptu :P. Zobaczymy, na razie nie miałem styczności za bardzo.

ten test to jakaś totalna bzdura. Java jest porównywalna w wydajności z C a nie 12x wolniejsza, chyba że ktoś liczył czas podniesienia JVM. Poza tym autor nie wiem po co użył ArrayList (i autoboxingu) skoro wie jaki będzie rozmiar tablicy wynikowej. - vpiotr dzisiaj, 02:26

Odnośnie offtopu o testach wydajności - jestem w stanie spokojnie stworzyć benchmark który "wykaże" że java jest np. 30% szybsza od C. A większość benchmarków jest tworzona przez ludzi którzy nie mają pojęcia ani o języku który benchmarkują, ani o benchmarkowaniu.

3

PHP zaczynało jako zestaw programików do obsługi strony domowej jednego kolesia w czasach, gdy Internet był zabawką dla nerdów. Nie nastraja to optymistycznie.

Jest o tym wpis na Wikipedii:

PHP development began in 1995 when Rasmus Lerdorf wrote several Common Gateway Interface (CGI) programs in C,[10][11][12] which he used to maintain his personal homepage. He extended them to work with web forms and to communicate with databases, and called this implementation "Personal Home Page/Forms Interpreter" or PHP/FI.
(...)
The syntax resembled that of Perl but was simpler, more limited and less consistent.[5]

Lerdorf did not intend the early PHP to become a new programming language, but it grew organically, with Lerdorf noting in retrospect: "I don’t know how to stop it, there was never any intent to write a programming language […] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way."[15]

Dalszego komentarza chyba nie trzeba.

0

No to co wybrać, chcę tworzyć jak najprościej czaty, serwisy, porównywarki cenowe, jak nie PHP to co? Pisanie większych rzeczy w JS mnie przeraża, a w Javie przerasta.

2

@Wibowit - No generalnie o tym pisałem - założenia projektowe PHP to na początku zdecydowanie nie było "poważny język do tworzenia stron".

Przykłady na to można mnożyć dziesiątkami. Na przykład, dlaczego najstarsze funkcje PHP się nazywają tak jak nazywają? Bo funkcją hashującą używaną do hashowania nazw funkcji (do lookupu podczas interpretowania) było... strlen. Więc jeśli było np. za mało funkcji z nazwą o długości 11 znaków, to nazwa nowo dodawanej funkcji powinna mieć właśnie tyle znaków (ja tu nawet nie żartuję).

Samo rozwinięcie PHP to też ciekawa historia - oryginalnie znaczyło to "Personal Home Page", ale w pewnym momencie tłumaczenie zostało zmienione na "PHP: Hypertext Processor". Nie jestem teraz pewny czy ostatecznie w takim razie PHP rozwija się do "Personal Home Page: Hypertext Processor", czy "(((((...): Hypertext Processor): Hypertext Processor): Hypertext Processor): Hypertext Processor)" :P

0

Wydaje mi się że pewne cechy przypisuje się PHP niesłusznie (tu biorę pod uwagę PHP od 5.3 w górę oraz to co oferują współczesne frameworki) albo przesadnie (nie wiem, może wielu się zatrzymało gdzieś z 10 czy 15 lat temu na tych systemach szablonów i Personal Home Page albo nadal klepią w tym starym stylu :-) ) ale bez przesady. To może być także PR, tu opinie są też ważne a można zarówno zniszczyć albo osłabić dobry produkt, jak i wypromować syf :-)

Teraz jak ktoś jest specjalistą Symfony, Laravel i innych frameworków a już tym bardziej jest w stanie napisać swój, wcale nie gorszy i dobrze orientuje się w złożonych serwisach na tym opartych, to z pewnością na słabe zarobki nie będzie narzekał. Oczywiście można się również nieźle obłowić (chyba na swoim), celując w strony na WP czy Drupalu (są poważne strony, które na tym stoją) albo Magento czy inne tego typu rzeczy.

I co z tego że próg wejścia w PHP jest niski? Ale już wejście w Symfony a nawet Laravel (mówię o tym żeby poprawnie tego używać) to nie lada wyzwanie, stawiam że co najmniej rok, jeśli nie więcej. Niektórzy twierdzą, że bez fundamentalnej znajomości PHP można zaczynać od razu od frameworków, tutaj zdania są podzielone, chociaż jak najbardziej można poznać PHP od fundamentalnej strony przeglądając kod i jak to jest rozwiązane we frameworkach. Pytanie czy to dobre podejście?

Nie wiem co w dalszej perspektywie będzie z tym Laravelem, możliwe że to co teraz jest to jakaś moda, nie wiem tak jak to było z Kohaną (chyba 2.x), którą to podobno też Laravel zniszczył. Możliwe że hejt na niego jest związany raczej z obawami że wchodzi na rynek i jest walka, możliwe również że za X lat zostanie zniszczony przez coś innego i stanie się także "martwy" jak Kohana albo używany przez jakąś wąską społeczność. Z tych powodów można mieć dylemat: Symfony czy Laravel.

1

Coś się kończy coś się zaczyna. ~ Andrzej Sapkowski

To samo z czego już widzę czeka i JS. Programowanie to technologia, a ona idzie do przodu wraz z biegiem czasu. Za 20 lat będą pewnie inne języki i trzeba się będzie na nie przesiadać, bo oferują więcej - z resztą na tym powinien bazować programista, że nie przywiązuje się do języka, a uczy się programować ogólnie.

1

Widzę, że zamiast wątku jak w temacie, nawet admin zaczął pisać off-top pt. "co mi się nie podobało w PHP 20 lat temu" ;D
Well, simply... no comment. :P This is not a serious talk, or is it? ;)

drorat1 napisał(a):

wejście w Symfony a nawet Laravel (mówię o tym żeby poprawnie tego używać) to nie lada wyzwanie, stawiam że co najmniej rok, jeśli nie więcej. Niektórzy twierdzą, że bez fundamentalnej znajomości PHP można zaczynać od razu od frameworków, tutaj zdania są podzielone, chociaż jak najbardziej można poznać PHP od fundamentalnej strony przeglądając kod i jak to jest rozwiązane we frameworkach. Pytanie czy to dobre podejście?

Moje zdanie jest takie: bez podstawowej znajomości języka żaden framework nie ma sensu, ale bardziej chyba jednak się liczy ogólna znajomość i doświadczenie w programowaniu.

Co do obiektowych framework'ów, przydaje się znajomość programowania czysto obiektowego. Moim zdaniem, najlepiej zaczynać naukę programowania od nauki Javy SE. poza tym, bardzo pomaga zainteresowanie we wzorcach projektowych i tzw. best practices, jeśli chodzi o FW, od oczywistego MVC, poprzez Dependency Injection, podstawową architekturę kodu i rozbicie go na sensowne części (services, bundles, moduły itp.). Wszystko są to cechy nowoczesnych frameworków, bez względu na język programowania.

drorat1 napisał(a):

Nie wiem co w dalszej perspektywie będzie z tym Laravelem, możliwe że to co teraz jest to jakaś moda, nie wiem tak jak to było z Kohaną (chyba 2.x), którą to podobno też Laravel zniszczył. Możliwe że hejt na niego jest związany raczej z obawami że wchodzi na rynek i jest walka, możliwe również że za X lat zostanie zniszczony przez coś innego i stanie się także "martwy" jak Kohana albo używany przez jakąś wąską społeczność. Z tych powodów można mieć dylemat: Symfony czy Laravel.

Don't worry, really, hate jest na wszystko, od Javy po Cobole, C#, kompilatory C/C++, bazy danych, odmiany assemblerów, a nawet procesory, i wszystko inne ;) Na razie fakty są takie, że Laravel i SF budują pozycję standardu w środowisku PHP, a co będzie za 5-10 lat, można gdybać. To tyle, jeśli chodzi o przyszłość PHP (czyli jak w temacie). A poza FW, Wordpress czy Drupal są ciągle silne np. w USA (i innych krajach), tak szybko też nie odejdą.

1

Na razie fakty są takie, że Laravel i SF budują pozycję standardu w środowisku PHP, a co będzie za 5-10 lat, można gdybać. To tyle, jeśli chodzi o przyszłość PHP (czyli jak w temacie). A poza FW, Wordpress czy Drupal są ciągle silne np. w USA (i innych krajach), tak szybko też nie odejdą.

Odpowiem sobie po ok. 4 latach, że nic się właściwie nie zmieniło z powyższych - poza wyższymi wersjami. ;) To tak z czysto encyklopedycznej, dziennikarskiej powinności... do tego stopnia, że zacząłem się czasami zastanawiać, czy WP już zostanie na zawsze jedynym CMS'em, który się liczy.

0
forsberg napisał(a):

Odpowiem sobie po ok. 4 latach, że nic się właściwie nie zmieniło z powyższych - poza wyższymi wersjami. ;) To tak z czysto encyklopedycznej, dziennikarskiej powinności... do tego stopnia, że zacząłem się czasami zastanawiać, czy WP już zostanie na zawsze jedynym CMS'em, który się liczy.

Tak, zabawnie poczytać starsze komentarze, a jeszcze zabawniejsze, że pomimo mnogości bardziej nowoczesnych rozwiązań (czasami na siłę wciskanych), nadal nie ma porządnego cms'a z solidnym zapleczem i taką role spełnia 20-letni staruszek.

3

Jeśli chodzi o CMS i inny software (co jest trochę odrębną sprawą niż PHP), to IMHO sytuacja jest następująca:

  • GIMP jest również b. stary - czy coś go zastąpiło? nie
  • Linux jest również b. stary - czy coś go zastąpiło? nie
  • internet, HTML, CSS, HTTP... jest również b. stary - czy nastąpiła jakaś rewolucja? nie
  • podobnie WordPress
  • tak samo wspomniana branża motoryzacyjna: nikomu się nie opłaca robić większych innowacji, jeśli nie zmieni to rynku (poza tymi forsowanymi przez nowych, doszywanych Ford'ów i Tesl'ów w Ameryce - których tak naprawdę nikt nie potrzebuje ani nie chce, ale amerykański marketing potrafi zdziałać cuda) :P

A jednak czasy się zmieniły od ok. 20 lat. Teraz nikt poważnie już nie inwestuje w tzw. "software" (tj. desktop), wszyscy idą w web lub mobile - a to co innego. I kombinują jak wydrzeć jak największy kawałek tortu na istniejącym rynku, a najlepiej go zmonopolizować, narzucając ludziom subskrypcje (patrz: Adobe).

I pewnie dlatego WP także się już nie zmieni specjalnie, nie zostanie zastąpiony - co najwyżej zostanie mu zabrane trochę rynku przez coraz bardziej udoskonalane rozwiązania typu Wix.

Nikogo nie interesuje szerszy punkt widzenia ani praca nad rozwiązaniami, które spowodowałyby rewolucję - poza małą grupką, chyba coraz mniejszą, sieciowych anarchistów-idealistów, takich jak Linus Torvalds.

Spójrzcie, co się dzieje z Oracle / Javą, na przykład. Opłaty można już nawet dorzucać do czegoś, co było uznawane za darmowe.

0

@forsberg: gimpa zastąpiło https://affinity.serif.com/en-gb/photo/ tania apka mająca dużo więcej opcji i lepsza w obsłudze niż gimp :)

1
forsberg napisał(a):

Spójrzcie, co się dzieje z Oracle / Javą, na przykład. Opłaty można już nawet dorzucać do czegoś, co było uznawane za darmowe.

Jest wersja płatna (ze wsparciem) i darmowa (ta stała się standardem w ostatnich wersjach).

2

Znam Affinity, mam poprzednią wersję Draw Plus z Serif (wektorowy program, nie rastrowy), do moich potrzeb idealny. Ale z Gimpa korzystam, bo dobrze działa, na każdym sprzęcie i w razie czego na linux da się także używać.

Czy zastąpił - no cóż. Gimp jest darmowy, i jest dobry. :)

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