PHP czy Python do webdevelopment (dla początkującego)

0

Nauczyłem tworzyć się proste strony WWW oparte o czysty HTML/CSS. Dodatkowo poznałem podstawy SQL z MySQL. Teraz przyszła pora na backend. Jeśli chodzi o znajomość programowania to mam podstawową wiedzę, ponieważ kilka miesięcy temu uczyłem się programować w C++ (podstawy, proste programy konsolowe), nie mniej jednak brakuje mi zaawansowanej wiedzy na temat OOP, które chciałbym nadrobić w konkretnym języku.

Zastanawiam się, który język będzie bardziej przyjazny na początek do zapoznania się z tworzeniem dynamicznych stron WWW. Do którego języka jest łatwiejszy dostęp do materiałów i z którym jest prościej zacząć? Zależy mi na dostępności literatury (najlepiej po polsku do postaw), poradników i kursów, w których autor tworzy przykładową aplikację typu CRUD. Oczywiście najlepiej z wykorzystaniem programowania obiektowego.

Pobieżnie przejrzałem jeden i drugi język i w przyszło na pewno chcę korzystać z obu, ale któryś musi być pierwszy...

Podsumowując najbardziej zależy mi na tym aby w danym języki (być może z frameworkiem) można było stworzyć prostą stronę WWW z rejestracją, logowaniem, dodawaniem, usuwaniem treści itp.

Co moglibyście polecić?

1

Python jest językiem dobrym dla początkujących którzy nie mieli wcześniej styczności z programowaniem.
Ja zaczynałem od PHP, ponieważ znajomość tego języka była wymagana na egzaminie zawodowym. I osobiście uważam, że w Twoim przypadku lepiej zacząć od PHP. Jest bardzo duza społeczność PHPersow, na pewno więcej materiałów niż w przypadku Pythona plus częściej jest używany do prostych stronek, które chciałbyś robić.
Python(Django) z kolei jest używany do tworzenia aplikacji internetowych, do prostych stron www raczej nie.

0

jesli robisz to z mysla o pracy to zdecydowanie latwiej bedzie z PHP, zreszta porownaj sobie wymagania w ogloszeniach o prace dla python i dla PHP. Co do hate'u na PHP - w mojej ocenie rynek pracy stoi calkiem niezle, zarobki tez sa OK.

0

Zdecydowanie Python, Ruby lub Elixir, nie wolno się cofać do spaghetii code w PHP.

0

Do stronek to się teraz używa Reacta czy Angulara, a nie PHP.
Wymagania w Pythonie i PHP są obecnie podobne, projekty także.
W Pythonie są jednak trochę lepsze zarobki, więc bardziej się opłaca. Ruby sobie odpuść, bo zarobki słabsze od PHP.

8
Czarny Karp napisał(a):

Do stronek to się teraz używa Reacta czy Angulara, a nie PHP.

to prawda jak bakend robiłem w reakcie i angularze, plus dżejkuery też, za kontakt z bazom otpowiadał css

0
TheLiner napisał(a):

Python jest językiem dobrym dla początkujących którzy nie mieli wcześniej styczności z programowaniem.
Ja zaczynałem od PHP, ponieważ znajomość tego języka była wymagana na egzaminie zawodowym. I osobiście uważam, że w Twoim przypadku lepiej zacząć od PHP. Jest bardzo duza społeczność PHPersow, na pewno więcej materiałów niż w przypadku Pythona plus częściej jest używany do prostych stronek, które chciałbyś robić.
Python(Django) z kolei jest używany do tworzenia aplikacji internetowych, do prostych stron www raczej nie.

Co mógłbyś polecić na początek do nauki tak aby uczyć się z głową i już pod konkretne zastosowanie? Korzystasz z "frameworków"?

Uczynny Polityk napisał(a):

jesli robisz to z mysla o pracy to zdecydowanie latwiej bedzie z PHP, zreszta porownaj sobie wymagania w ogloszeniach o prace dla python i dla PHP. Co do hate'u na PHP - w mojej ocenie rynek pracy stoi calkiem niezle, zarobki tez sa OK.

Pod kątem pracy nie, ale mogę zrealizować 1-2 zlecenia dla znajomych, którzy chcieliby własną stronę WWW.

0
PoczątkującyWeb napisał(a):

Co mógłbyś polecić na początek do nauki tak aby uczyć się z głową i już pod konkretne zastosowanie? Korzystasz z "frameworków"?

Aby uczyć się z głową to potrzeba praktyki. Jesli chcesz nauczyć się podstaw to wystarczy wpisać w przeglądarkę zapytanie "PHP od podstaw", wyskoczy Ci prawdopodobnie kilka kursów PHP, tam poznasz podstawy składni, reszta już zalezy od Twojego zainteresowania. Nie ma wszak strony która Cie nauczy robić stronki za pomocą PHP krok po kroku. Ja bym jednak zaczął od nauki składni, programowania obiektowego, MySQL. Reszta to już też twoja inwencja twórcza, każdy bedzie polecał Tobie co innego(framework), ja też, ale wolę nie wywoływać burzy na tym forum. ;)
PS. Jesli chcesz robić stronki dla znajomych, to polecam popatrzeć na systemy CMS np. Wordpress. Myślę, że warto.

1

@UczynnyKarp Chyba nie wiesz czym jest spaghetti code. Syfiasty kod można napisać dosłownie w każdym języku. Elixir jest świetnym językiem, ale ma próg wejścia dość spory (mówię nie o CRUDach, a o OTP, procesach, supervisorach itp. oraz o znajomości robienia releasów etc.).

Do autora: PHP to tutaj świetny wybór - podstawy możesz sobie na początku robić proste stronki PHP zamiast czystych HTMLi, a potem stopniowo czytać o tym jak dalej rozwijać projekt - MVC, REST itp. Do tego polecam Symfony albo Laravel. Nawet bez frameworków PHP to wydajny język z prostą składnią, wieloma IDE i masą świetnych dodatkowych bibliotek.

0

Łatwy, ale niespójny i słabo zaprojektowany? Czy to się nie wyklucza? Skoro źle zaprojektowanego języka łatwo się nauczyć to czemu trudno się nauczyć dobrze zaprojektowanych? Np czemu trudno się nauczyć Javy, albo Pythona?

0

w PHP jest więcej pracy, odradzałbym wordpressa, marna kasa, marna satysfakcja. Symfony jest ciekawym. frameworkiem do php i przede wszystkim ma bardzo dobrą dokumentację. Uwaga hejterzy, w php też można fajnie zarobić :) No i jest dużo więcej tutoriali, kursów z php niż do python

0

Oba to gówna, a więc trudno cokolwiek doradzić.

2

nie mniej jednak brakuje mi zaawansowanej wiedzy na temat OOP, które chciałbym nadrobić w konkretnym języku.

Jestem zdania, że w konkretnym języku można się nauczyć podstaw OOP, jednak jeśli chcesz posiadać "zaawansowaną wiedzę na temat OOP", to wątpię, żebyś ją nabrał mając kontakt z tylko jednym językiem. Każdy język ma swoje dziwactwa i ograniczenia. Inaczej się będzie pisać obiektowo w Javie, inaczej w Pythonie, inaczej w PHP, JavaScripcie a inaczej w Smalltalku itd.

Znając tylko jeden język będziesz miał cały czas nałożone filtry typu "to tak wygląda, bo tak się robi w danym języku", natomiast taka zaawansowana obiektówka to raczej sposób myślenia, który wykracza poza język, a nie po prostu zwykłe klepanie klas. Mniejsze znaczenie będzie miała składnia danego języka, a większe znaczenie będzie miało to, czy jesteś w stanie zaprojektować jak poszczególne części twojej aplikacji będą ze sobą współpracować (czyli bardziej architektura oprogramowania, a nie język)

Co nie znaczy, że nie masz się uczyć języków. Ale OOP != nauka pisania klas w jakimś języku.

Nauczyłem tworzyć się proste strony WWW oparte o czysty HTML/CSS.
Dodatkowo poznałem podstawy SQL z MySQL. Teraz przyszła pora na backend.
...
Podsumowując najbardziej zależy mi na tym aby w danym języki (być może z frameworkiem)
można było stworzyć prostą stronę WWW z rejestracją, logowaniem, dodawaniem, usuwaniem treści itp.

A po co się uczysz, jaka jest twoja motywacja? Po co chcesz się nauczyć robić strony?

1
TheLiner napisał(a):
PoczątkującyWeb napisał(a):

Co mógłbyś polecić na początek do nauki tak aby uczyć się z głową i już pod konkretne zastosowanie? Korzystasz z "frameworków"?

Aby uczyć się z głową to potrzeba praktyki. Jesli chcesz nauczyć się podstaw to wystarczy wpisać w przeglądarkę zapytanie "PHP od podstaw", wyskoczy Ci prawdopodobnie kilka kursów PHP, tam poznasz podstawy składni, reszta już zalezy od Twojego zainteresowania. Nie ma wszak strony która Cie nauczy robić stronki za pomocą PHP krok po kroku. Ja bym jednak zaczął od nauki składni, programowania obiektowego, MySQL. Reszta to już też twoja inwencja twórcza, każdy bedzie polecał Tobie co innego(framework), ja też, ale wolę nie wywoływać burzy na tym forum. ;)
PS. Jesli chcesz robić stronki dla znajomych, to polecam popatrzeć na systemy CMS np. Wordpress. Myślę, że warto.

Wordpress to kobyła, która nie powinna nawet zaistnieć. Wygodna dla klikaczy, ale wymagania systemowe ma zwyczajnie zbyt duże. Bez cache Wordpressa na przeciętnym serwerze potrafi ubić kilka jednoczesnych zapytań. Poza tym: chcesz tworzyć stronki dla januszy biznesu za 500zł, które po roku będą łatwym celem dla hackerów? Ok, to wtedy tylko Wordpress.

PHP to język zwyczajnie brzydki -> zamiast. . jest operatorem konkatenacji. $ przy nazwach zmiennych. Litości. Koszmar.

W Pythonie masz przynajmniej ludzką składnię. Brak klamerek, ale to aż tak bardzo nie przeszkadza. Można się przyzwyczaić. Poza tym Python nie jest językiem tylko do weba.

0
PoczątkującyWeb napisał(a):

Zastanawiam się, który język będzie bardziej przyjazny na początek do zapoznania się z tworzeniem dynamicznych stron WWW. Do którego języka jest łatwiejszy dostęp do materiałów i z którym jest prościej zacząć? Zależy mi na dostępności literatury (najlepiej po polsku do postaw), poradników i kursów, w których autor tworzy przykładową aplikację typu CRUD. Oczywiście najlepiej z wykorzystaniem programowania obiektowego.

Literatura do webdev w PHP przygniecie wszystko inne, ponieważ jest to język tylko do tej dziedziny przeznaczony.

Dodatkowo w PHP:

Python z drugiej strony:

  • jest fajniejszym językiem
  • webdev to nie jest jego jedyna ani nawet główna domena
  • może być łatwo rozszerzany o szybkie moduły w C/C++/Pascal
  • (-) ma dziwną (udawaną) enkapsulację

Jest jeszcze node.js (JavaScript po stronie serwera). Patrzyłeś na to?

2

(Lubisz estetykę i porządek) ? Python : PHP

0

Mnie w Pythonie denerwuje mnie, że jest dzika składnia i skrótowe nazewnictwo zamiast camelCase xD

0

A ja szukam jakiejś nowej technologi skryptowej do pisania małego backendu, ale czegoś nowszego od PHP, Python, Javascript, Ruby które pamiętają jeszcze lata 90 te.

1

Golang, polecam

0

Podepnę się pod temat aby nie tworzyć nowego.

Jaka książka do nauki PHP w najnowszej wersji aby zacząć od podstaw i programowania obiektowego? Trochę pisałem w Java ale wolałbym coś tylko do webu tj. OP.

0
Chory Młot napisał(a):

Podepnę się pod temat aby nie tworzyć nowego.

Jaka książka do nauki PHP w najnowszej wersji aby zacząć od podstaw i programowania obiektowego? Trochę pisałem w Java ale wolałbym coś tylko do webu tj. OP.

Nie wiem po co się chcesz pakować w taki brzydki język backendu, skoro są nowsze i lepsze. Jedyna zaleta PHP to taka, że jest 30 razy łatwiejszy od Pythona i 90 razy łatwiejszy od Javy, na tym jego zalety się kończą. Z nowych książek to:
PHP7 Praktyczny kurs - Marcin Lis
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V - Luke Welling, Laura Thomson
PHP. Obiekty, wzorce, narzędzia. Wydanie V - Matt Zandstra

0
Mały Terrorystak napisał(a):
Chory Młot napisał(a):

Podepnę się pod temat aby nie tworzyć nowego.

Jaka książka do nauki PHP w najnowszej wersji aby zacząć od podstaw i programowania obiektowego? Trochę pisałem w Java ale wolałbym coś tylko do webu tj. OP.

Nie wiem po co się chcesz pakować w taki brzydki język backendu, skoro są nowsze i lepsze. Jedyna zaleta PHP to taka, że jest 30 razy łatwiejszy od Pythona i 90 razy łatwiejszy od Javy, na tym jego zalety się kończą. Z nowych książek to:
PHP7 Praktyczny kurs - Marcin Lis
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V - Luke Welling, Laura Thomson
PHP. Obiekty, wzorce, narzędzia. Wydanie V - Matt Zandstra

Co dokładnie masz na myśli mówiąc nowsze i lepsze? Sam właśnie zastanawiam się nad językiem do back-endu i chciałem postawić na PHP :)

0
Wesoły Karp napisał(a):
Mały Terrorystak napisał(a):

Co dokładnie masz na myśli mówiąc nowsze i lepsze? Sam właśnie zastanawiam się nad językiem do back-endu i chciałem postawić na PHP :)

No to postaw. Czy już nikt z początkujących nie przechodzi przez naukę poprzez własne doswiadczenia, tylko czekają na opinię innych?

Co do PHP to zawsze są jakieś wątki, że nie warto itp. Moim zdaniem to kwestia gustu, i trzeba jednak samemu próbować. (Możecie mnie hejtowac)

0
TheLiner napisał(a):
Wesoły Karp napisał(a):
Mały Terrorystak napisał(a):

Co dokładnie masz na myśli mówiąc nowsze i lepsze? Sam właśnie zastanawiam się nad językiem do back-endu i chciałem postawić na PHP :)

No to postaw. Czy już nikt z początkujących nie przechodzi przez naukę poprzez własne doswiadczenia, tylko czekają na opinię innych?

Co do PHP to zawsze są jakieś wątki, że nie warto itp. Moim zdaniem to kwestia gustu, i trzeba jednak samemu próbować. (Możecie mnie hejtowac)

Masz racje własne doświadczenie jest najważniejsze, lecz nie widzę nic złego w zapytaniu kogoś innego co myśli na dany temat, jako początkujący może dowiem się czegoś nowego ;)

0

PHP byłby idealny gdyby zmienili składnię na bardziej oczywistą bez $ i . jako konkatenacja xD

Python za to pod względem estetyki czasami irytuje z podkreśleniami i skrótowymi nazwami słów kluczowych na których oszczędzasz 1 lub 2 znaki xD Wielki deal bulwo.

0

To prawda, że syntax pythona działa tak, że trzeba liczyć ilość spacji/tabulatorów albo będą błędy?

0

Ktoś mnie pewnie zje za tego posta, ale jak dla mnie Python, PHP i Ruby posiadają podobne możliwości jeżeli chodzi o rozwiązania webowe. Wybierz język, który bardziej się Tobie podoba.

To bee or not to bee napisał(a):

To prawda, że syntax pythona działa tak, że trzeba liczyć ilość spacji/tabulatorów albo będą błędy?

Python za pomocą wcięć definiuje sobie bloki, także jest bardzo restrykcyjny w tej kwestii. Zmiana wcięcia może zmienić całą logikę. :)

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