Dlaczego przestałem pisać w PHP

in #polish6 years ago

elephant.jpg

Na poczatku było PHP

Wielokrotnie słyszałem żarty o programistach PHP. Było to dla mnie trochę smutne. Pisałem w PHP i podobał mi się ten język. Myślę, że pisałem niezły obiektowy kod…. ale wśród innych kolegów programistów, zawsze czułem się jak drugoligowiec. Nieważne, że pisałem testy, używałem nowoczesnego frameworka.

Generalnie mocno zwracam uwagę na to, co mówią inne osoby. Zacząłem rozważać, czy nie nauczyć się innego języka. Zarobki w językach takich jak Ruby czy Java są wyższe, co dodatkowo mnie motywowało. Nie było to jednak wystarczające aby się “przebranżowić”.

Konferencja Dockera

Epizod który ostatecznie zadecydował o zmianie PHP na inny język, wydarzył się na konferencji dockera w Krakowie. Jak to na konferencjach, między wykładami zawsze jest okazja pogadać, napić się piwa, poznać innych programistów. Rozmawiałem z nowo poznanym kolegą i miło się gadało. Trochę o dockerze, trochę o innych technologiach. W końcu powiedział, że pisze w Scala i zapytał w czym ja piszę. Zrobiło mi się trochę ciepło, ale przecież nie będę kłamał. Kiedy odpowiedziałem, rozmówca popatrzył na mnie takim wzrokiem, że do dziś go pamiętam. Kilkadziesiąt sekund później rozmowa się skończyła.

Moja opinia o PHP

W moim przypadku o zmianie języka w 100% zadecydowała opinia, jaka przyklejona jest do PHP. Myślę, że wynika ona z tego, że dużo kodu w PHP pisali ludzie, którzy nie byli programistami. Niski próg wejścia powoduje, że właściwie każdy może napisać stronę lub skrypt w PHP. Z tego powodu jakość kodu wielu projektów nie była zbyt wysoka.
Obecnie we frameworkach takich jak Symfony, czy Laravel można pisać naprawdę dobry kod. W wielu aspektach Symfony jest wg. mnie lepsze od Ruby on Rails. Np. stosuje natywnie wzorzec entity oraz repository, w Railsach trzeba to implementować na własną rękę.

Kiedy teraz jakiś kolega piszący w Ruby żartuje z PHP, zawsze tłumaczę mu, że w PHP da się napisać to samo co w Ruby, że to nowoczesny i obiektowy język. Mam szczerą nadzieję, że wspomniana negatywna łatka z czasem zniknie z PHP.

Jakie są Twoje doświadczenia? Miałeś do czynienia z negatywną opinią odnośnie PHP? A może sam masz taką opinie? Jeśli tak śmiało napisz komentarz.

Sort:  

Kto dba o to w jakim jezyku sie pisze... Albo twoi rozmówcy to idioci albo ty nie wyłapałeś zwykłych nieagresywnych śmieszków

Myślę, że to czy język ma znaczenie zależy od poziomu i doświadczenia. O ile sam język jest bez znaczenia. to już używanie wzorców, znajomość pisania obiektowego / funkcyjnego wpływa mocno na to jakim się jest programistą. Generalnie PHP najczęściej jest używane w zastosowaniach webowych. Wydaje mi się, że pisanie aplikacji webowych jest jednym z łatwiejszych działów programowania. Przynajmniej nie wymaga aż tak dużej wiedzy na początku. Przez to wielu programistów innych języków np java patrzy na PHP-owców z góry. Pewnie są to osoby początkujące, bo tacy często nie mają pełnej wiedzy i nie rozumieją, że to nie język czyni programistę.

To do uśmieszków, to rzeczywiście koledzy w pracy robili je pół żartem. Natomiast zdarzenie z konferencj było realne. Rozmówca poprostu przestał ze mną rozmawiać. W swojej karierze, miałm sporo sytuacji gdzie słyszałem negatywne opinie o PHP. Pewnie nigdy nie pisałeś w tym języku, skoro nie doświadczyłeś tego.

Dokładnie tak jak mówisz, w każdym języku można tworzyć cuda jak i kalkulatory ^^

Moim zdaniem, o ile samo napisanie aplikacji webowej, może się okazać kaszką z mleczkiem, o tyle napisanie aplikacji działającej, funkcjonalnie wnoszącej jakąś korzyść użytkownikowi, może się okazać nie lada wyzwaniem! Dlaczego?

A choćby z tego względu, że samo PHP nie wystarczy, jeżeli postawiliśmy sobie za cel stworzenie czegoś przydatnego i intuicyjnego w obsłudze. Tak jak wspomniałem w mojej poprzedniej odpowiedzi, PHP doskonale nadaje się do budowania aplikacji serwerowych, dlatego by stworzyć kompletną i funkcjonalną aplikację potrzebujemy także klienta. I właśnie tutaj do gry wkracza HTML/CSS i JavaScript (nie czarujmy się, w dzisiejszych czasach ciężko sobie wyobrazić aplikację bez niego). Oczywiście przy odpowiednio dużym zespole, kompetencje można rozłożyć, natomiast kwestią, na którą chcę zwrócić tutaj uwagę jest to, że spora grupa programistów PHP te opisane technologie zna (często wręcz musi, przynajmniej w stopniu minimalnym), co pozwala stwierdzić, że rozpoczęcie naszej przygody z PHP może nie wymagać od nas dużej wiedzy na początku, ale stworzenie jakiejś wartości już tak, i to nie małej (w zasadzie to tyczy się każdego języka).

Sądzę, że @pozytywny trafił tutaj w sedno... wzajemne przekonywanie się, który język programowania jest lepszy, to trochę tak jakby mówić o wyższości Mac'a nad PC i vice versa. Wszystko zależy od kontekstu i naszych prywatnych preferencji. I właśnie z tego powodu, tego typu dyskusje są interesujące, oczywiście dopóki nie zaczniemy się obrzucać błotem i próbować przekonać kogoś do swojej opinii na siłę, bez merytorycznych argumentów :)

Pozdrawiam!

Dlaczego uważam, że programowanie webowe jest łatwiejsze? Otóż sam jestem właśnie takim programistą. Nie uważam aby było to coś łatwego. Już dobrych kilka lat się tym zajmuję, a nie nazywam się nawet seniorem. Chodzi o to, że w mojej pracy nie potrzebuje znać zaawansowanej matematyki, czy algoritmiki. Tworze poprostu interface-y pomiędzy urzytkownikami a bazą danych. Czasem jest to trudne, np ostatnio musiałem zrozumieć jak w kartografi rzutuje się płaszczyzne na kulę i jak się to zapisuje. Nie muszę nawet znać wielowątkowości.

W innych gałęziach programowania, wydaje mi się, że jest trudniej. Trzeba rozumieć jak działają urządzenia, znac różne protokoly wymiany danych.
Kiedy kolega pokazywał mi reverse ingeneering w assemblerze, odwracając wartość logiczną prostego if-a to dopiero szczena mi opadła jak można programować.


Nie upieram się, może jest tak że wydaje mi się to trudniejsze, bo tego nie znam

Cześć, poruszasz bardzo ciekawy temat do dyskusji :)

W moim otoczeniu również podnoszą się głosy jakoby PHP było językiem podrzędnym i słyszy się żarty na jego temat. Z moich obserwacji wynika, że często powyższe twierdzenia nie są podparte żadnymi argumentami, mało tego, w wielu przypadkach pochodzą one od niedoświadczonych programistów.

Zgadzam się z Tobą, że opinie innych są niezwykle ważne (szczególnie gdy wygłaszane przez ludzi, których znamy) i jak najbardziej zdrowym zachowaniem w moim mniemaniu jest ich wysłuchać i odnieść się do nich. Krótko mówiąc - warto zachować otwarty umysł, nawet gdy słyszymy twierdzenia całkowicie sprzeczne z naszymi. Jednakże ciężko jest mówić o merytorycznej dyskusji, zwłaszcza kiedy jedyne fakty, na których opieramy swoją opinię sprowadzają się do powtarzanych w kółko jak mantra sformułowań zasłyszanych od innych programistów, którzy w rzeczywistości nie mieli bliższej styczności z językiem i nie są w stanie wiele wprowadzić do dyskusji na jego temat.

Przykro mi słyszeć, że tak łatwo jesteśmy w stanie ulec wpływom innych tylko i wyłącznie dlatego, że nie mamy wystarczającej wiary aby obronić swoją opinię.

Nie zgodzę się z Twoją opinią, na temat tego, że negatywna etykietka która została przyklejona do PHP wynika z faktu, że w języku tym pisze wielu niedoświadczonych nie-programistów (w tym przypadku, moim zdaniem, przemawia to na korzyść języka, choćby z tego względu, że swoją przygodę z programowaniem możemy zacząć bezboleśnie, nie zniechęcając się ogromem wiedzy, który musimy posiąść nim napiszemy swój pierwszy program). Fakt, PHP nie wymusza na nas pisania kodu obiektowego, co z kolei może skutkować zatraceniem się w masywnych blokach niezrozumiałego, nietestowalnego i bezużytecznego kodu. Nie oznacza to, że tych samych błędów nie popełnimy w innych językach jak Java, C++ czy C#. Gro programistów dyskredytujących PHP, a mówiących o wyższości języka, w którym kodują także uprawia pseudo-obiektówkę, tworząc masywne klasy robiące-niewiadomo-co-czyli-wszystko-i-nic, zapomina, że kod ma być czytelny dla programisty, olewa testy itp.

Zgadzam się, że w PHP można pisać czysty i przejrzysty kod, a frameworki takie jak Symfony czy Laravel pomagają w trzymaniu się wzorców, wymuszając na nas dobre praktyki. Ponadto warto dodać, że z ukazaniem się PHP7, otworzył się przed nami nowy świat, a twórcy języka udowodnili, że PHP jak najbardziej nadąża za dynamicznie zmieniającymi się realiami rynku IT.

Na koniec, chcę wspomnieć, że w moim mniemaniu, to co może stanowić o wspomnianej negatywnej łatce to brak zrozumienia faktu, że PHP jest językiem o charakterystycznym przeznaczeniu, a mianowicie jest doskonałym narzędziem do tworzenia aplikacji serwerowych API!

Sądzę, że wielu z nas, negatywnie wyrażających się na temat tego języka, najzwyczajniej nie zdaje sobie sprawy, że każdy język programowania (choć podobieństw jest masa) posiada swoje charakterystyczne cechy, co sprawia, że jest na swój sposób unikalny, a dobór preferowanego języka to coś personalnego, zupełnie jak z samochodem czy marką laptopa. Kluczowym jest tutaj natomiast samo rozumienie programowania, bo kiepski programista będzie kiepskim programistą bez względu na to, czy będzie pisał w Kotlinie, Scali czy Darcie...

Życzę dużo, dużo zaufania do siebie samego i sił by bronić swoje opinie!

Pozdrawiam!

Przykro mi słyszeć, że tak łatwo jesteśmy w stanie ulec wpływom innych tylko i wyłącznie dlatego, że nie mamy wystarczającej wiary aby obronić swoją opinię

To nie jest tak, że nie miałem wiary. Złożyło się na to sporo czynników. Min. chciałem poznać inny język, aby się rozwinąć.

Co do etykiety to możesz mieć rację, wiele osób poprostu nie rozumie do czego stworzony jest PHP. Do negatywniej opini mógł też przyczynić się Wordpress. Uważam tą platformę za świetną z punktu widzenia UX, ale programistycznie poprostu ciężko się tam pisze. Może programiści patrzą na PHP właśnie przez pryzmat Wordpressa, bo tylko jego znają.

Zgadzam się :) Według mnie wordpress, to takie małe piekiełko, które potrafi namieszać w głowie, jeżeli się mu na to pozwoli :)

Pozdrawiam!

Po wielu konferencjach nauczyłem się zamykać papy aroganckim Javowcom i pythonowcom... Jestem programistą JS i nie muszę chyba mowić, jaką wszyscy mają niechęć i polewę z tego jezyka.
Wystarczy jednak zadać jedno pytanie:

-JS to gunwo, jak można w tym kodować, to nie działa, tona bibliotek itp.
-A próbowałeś zrozumieć dlaczego nie działa?

W tym momencie rozmowa się kończy, polecam. Ogólnie bucowatość łatwo zgasić chęcią szczerego poznania, (obiektywnie oczywiście) dlaczego według kogoś język jest słaby. Niech Ci powie co i jak możesz robić lepiej, a nie co robisz źle. :)

Święte słowa, nic dodać nic ująć :)

Nie wiedziałem że ktokolwiek ma 'polewe' z JS. Raczej zawsze patrzyłem z szacunkiem na tych programistów, szczególnie patrząc po zarobkach.

Hm, dziwne podejście. Lepszy i gorszy język?
Język programowania to tylko narzędzie. Ma swoje konkretne zastosowania. PHP jest okay do swoich wybranych zastosowań i tyle. Jeśli potrzebujemy grubej aplikacji biznesowej komunikującej się na serwerze z tysiącami klientów i wykonującymi obliczenia lepiej zastosować Scalę lub Javę, bo jest kilkaset razy szybsza w wykonaniu niż PHP i ma ogromne narzędzia skalowania. Skrypty automatyzacji środowiska, boty albo proste implementacje AI (sieci neuronowe, zadania akademickie) najlepiej pewnie pyknąć w Pythonie. CMS, blog, sklep internetowy, portal informacyjny pewnie w PHP lub JS. Aplikację na mikrokontroler pewnie w C, wielowątkową desktopową, nastawioną na wydajność pewnie w Rust, Androidowa prosta apka pewnie w Java, i tak dalej i tak dalej.

To nie jest moje podejście. Zgadzam się ze wszystkim co napisałeś. Poprostu jako programista PHP dosyć często się z tym spotykałem.

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60695.64
ETH 2900.11
USDT 1.00
SBD 3.53