PHP czy nodejs? Co łatwiejsze?

Odpowiedz Nowy wątek
2018-12-23 02:31
Świetny Jeleń
0

Witam,
Pytanie takie jak w temacie, co będzie łatwiejsze dla początkującego?

edytowany 1x, ostatnio: furious programming, 2018-12-23 15:39

Pozostało 580 znaków

2018-12-23 07:11
1

Wydaje mi się, ze PHP. JS ma kilka rzeczy, jak np. przekazywanie funkcji jako argumenty, albo domknięcia, które mogą być trudne do zrozumienia. Poza tym z PHP łatwiej przejdziesz na Jave/C# i inne pokrewne języki.

Przecie PHP też ma first-class functions i domknięcia. - Patryk27 2018-12-23 09:56
No tak ale w JS to troszkę inaczej dziala (domknięcia), a funkcji nie przekazuje się na co dzień. W JS to chleb powszedni. - Desu 2018-12-23 10:07
kiedyś w PHP nie było tego i się pisało nazwę funkcji(!), jak się chciało przekazać swojego handlera gdzieś. - LukeJL 2018-12-24 00:36

Pozostało 580 znaków

2018-12-23 22:50
Świetny Jeleń
0

Dzięki za odpowiedz. Może ktoś coś jeszcze dopowie?

Pozostało 580 znaków

2018-12-24 00:39
1

Z PHP od paru lat nie mam już styczności, ale wydaje mi się, że PHP jest łatwiejsze jako plattorma + sposób pisania (o ile nic się nie zmieniło).

W Node trudny jest asynchroniczny model programowania (rzeczy nie wywołują się po kolei, tylko jak chcą), w PHP po prostu piszesz synchroniczny kod (rzeczy wywołują się po kolei).

W PHP podstawowe funkcje do stron masz już out of the box, w JS nawet używając frameworka takiego jak express musisz dogrywać middleware do wszystkiego.

Pytanie jednak czy PHP jest dobrym wyborem dla początkujących? Moim zdaniem niespecjalnie, bo to dość partyzancki język robiony na kolanie i co chwila są jakieś pułapki, niespójności, chaos. Niestety JS też nie jest przyjaznym językiem dla początkujących, bo też są pułapki.

Jak dla mnie fajniejszym językiem dla początkujących jest Python, na pewno przyjemniej się pisze (chociaż sam poznałem PHP wcześniej od Pythona i krzywda mi się nie stała. Nawet początkowo lubiłem pisać w PHP).


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2018-12-24 00:39
Pokaż pozostałe 3 komentarze
@lambdadziara: pisze się normalne rzeczy backendowe, nawet wygodnie jest pisać w Node rzeczy, które wychodzą poza zwykłe REST czy rendering szablonów. Jakieś apki czasu rzeczywistego czy backend do gier multiplayer. - LukeJL 2018-12-24 15:08
@lambdadziara z błędami to jest różnie, trzeba się po prostu nauczyć debugować swoje aplikacje i pisać testy. Swoją drogą w takim Pythonie też jest z tym ból, bo tam też kompilator ci nie wyłapie błędu od razu. - LukeJL 2018-12-24 15:11
a czy typescript to nie jest czasem nadzbior js? To czemu nie korzystac z ts, skoro ma typy i klasy, wiec latwiej w nim pisac OOP, z ktorego wszyscy korzystaja? (choc ostatnio widzialam wzor na calki w lispie jako jedna funkcja z lambdami, ma to swoj urok) - lambdadziara 2018-12-24 15:22
@lambdadziara: to trochę jak z rybami na święta. Jedni lubią, drudzy nie. Ja nie lubię ryb (chyba, że w sałatce), tak samo nie lubię TypeScripta. Swoją drogą, żeby pisać klasy nie trzeba używać TypeScripta, bo JavaScript od wersji ES6 również ma klasy. Co do OOP natomiast to bez klas też da się pisać OOP, więc to nie jest żaden argument. A już typy w ogóle nie są potrzebne do OOP. - LukeJL 2018-12-24 16:18
@lambdadziara: Ja jakbym miał dobrowolnie używać TS (i samemu dodawać to do projektu) to raczej nie po to, żeby wykrywał błędy, tylko po to, żeby ułatwić życie innym programistom - TS pozwala na lepsze autocomplete w IDE i ogólnie typowanie wzmacnia "inteligencję kodu", bo edytorom łatwiej analizować statycznie kod na TS, z typowaniem itp. - LukeJL 2018-12-24 16:20

Pozostało 580 znaków

2018-12-24 12:40
Świetny Jeleń
0
LukeJL napisał(a):

Z PHP od paru lat nie mam już styczności, ale wydaje mi się, że PHP jest łatwiejsze jako plattorma + sposób pisania (o ile nic się nie zmieniło).

W Node trudny jest asynchroniczny model programowania (rzeczy nie wywołują się po kolei, tylko jak chcą), w PHP po prostu piszesz synchroniczny kod (rzeczy wywołują się po kolei).

W PHP podstawowe funkcje do stron masz już out of the box, w JS nawet używając frameworka takiego jak express musisz dogrywać middleware do wszystkiego.

Pytanie jednak czy PHP jest dobrym wyborem dla początkujących? Moim zdaniem niespecjalnie, bo to dość partyzancki język robiony na kolanie i co chwila są jakieś pułapki, niespójności, chaos. Niestety JS też nie jest przyjaznym językiem dla początkujących, bo też są pułapki.

Jak dla mnie fajniejszym językiem dla początkujących jest Python, na pewno przyjemniej się pisze (chociaż sam poznałem PHP wcześniej od Pythona i krzywda mi się nie stała. Nawet początkowo lubiłem pisać w PHP).

Dzięki za odp. Faktycznie w wielu miejscach w sieci przeczytałem że, Python może być łatwiejszy, przyjaźniejszy dla początkującego ale ja celuję w web dev i natknąłem się na info że, Pythonowy framework Django może już nie być najlepsza opcją dla startujących, że szybko się w nim tworzy ale kosztem mniejszej kontroli nad wszystkim co dla początkującego może nie być za dobre. Co o tym myślisz?

Pozostało 580 znaków

2018-12-24 12:56
1

Masz na pewno mniej kontroli nad zapytaniami, które idą do bazy, bo masz ORM, który może być błogosławieństwem jak i przekleństwem.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);

Pozostało 580 znaków

2018-12-24 13:23
Świetny Jeleń
0
LukeJL napisał(a):

Masz na pewno mniej kontroli nad zapytaniami, które idą do bazy, bo masz ORM, który może być błogosławieństwem jak i przekleństwem.

Jako początkujący nie za bardzo to rozumiem ale dzięki. Wesołych :)

Pozostało 580 znaków

2018-12-24 13:29
1

Tzn. że nie widzisz co jest pod spodem. I pisząc w ORM możesz niechcący zrobić potworka, który będzie walił z 20 niezoptymalizowań zapytań do bazy danych. I czego efektem może być np. przeciążenie serwera, jak już wrzucisz swoją aplikację do internetu.

(a ORM to jest takie coś, co pozwala ci zapisywać do relacyjnej bazy danych (np. PostgreSQL) w taki sposób, że nie widzisz tabel, relacji czy zapytań SQL, tylko działasz na obiektach, i pod spodem te obiekty są automatycznie wkładane i wyjmowane z bazy).


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2018-12-24 13:32
w taki sposób, że nie widzisz tabel, relacji (...) - tabela jest synonimem słowa relacja (patrz: https://pl.wikipedia.org/wiki/Model_relacyjny). MySQL jest bazą relacyjną, ponieważ każda tabela ma swój własny schemat - MongoDB nie jest bazą relacyjną, ponieważ można tam wrzucić (mniej-więcej) dowolne dane. Relacyjność bazy danych nie ma nic wspólnego z istnieniem kluczy obcych (tzn. może istnieć relacyjna baza nieobsługująca kluczy obcych i vice versa). - Patryk27 2018-12-25 16:17
@Patryk27 w sumie wydawało mi się, że relacja dotyczy właśnie relacji między tabelami, kluczy obcych, ale możliwe, że byłem w błędzie. Obczaję ten link z wikipedii. - LukeJL 2018-12-25 18:25

Pozostało 580 znaków

2018-12-25 16:13
Świetny Jeleń
0

Mam jeszcze ostatnie pytanie z jakiego języka łatwiej będzie przejść na c# / jave w razie W jeśli takie przejście miało by miejsce w przyszłości. Uwzględniając Pythona, PHP i Node.js.

Pozostało 580 znaków

2018-12-26 02:23
0

Jak dopiero zaczynasz naukę programowania i jesteś na etapie wyboru języka programowania a jednocześnie rozważasz w przyszłości zmianę języka na C# to sugerowałbym od razu od niego zacząć. Ja z zawodu programistą nie jestem, ale pisałem trochę w PHP i jeszcze kilku mniej lub bardziej znanych językach i osobiście uważam, że PHP to zło, którego lepiej unikać szerokim łukiem...
Obecnie uczę się C# i asp.net i mimo, że jeszcze niewiele wiem to uważam, że to bardzo dobry wybór i nawet nie ma sensu go porównywać do PHP.

Pozostało 580 znaków

2018-12-26 04:49
0

Node.js.

Node.js to platforma, a język tam używany to JavaScript.

Mam jeszcze ostatnie pytanie z jakiego języka łatwiej będzie przejść na c# / jave w razie W jeśli takie przejście miało by miejsce w przyszłości. Uwzględniając Pythona, PHP i Node.js.

Przypuszczam, że najłatwiej z Pythona, bo najmniej podobny, a najtrudniej jest przejść z języka pozornie podobnego na inny, bo musisz się odzwyczajać masy rzeczy, które w jednym języku są, a w innym nie ma, albo które w obu językach są, ale różnią się niuansami.

A Python nawet składnię ma całkowicie inną niż Java i ogólnie całkowicie inny jest, więc jest duża szansa, że nie pomylisz języków.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 1x, ostatnio: LukeJL, 2018-12-26 04:50

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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