Python - pytania.

0

Witam, mam pytanie dot. jezyka Python. Szczerze mowiac nigdy nie maczalem w nim palcow, podstawy mam aktualnie w html, php itd, ale to male podstawy. Zawsze cos mnie odpychalo od tego Pythona, ale dzis cos sie zmienilo. A mianowicie co nie co poczytalem i przemowila mi jego wszechstronnosc. Mozna w Pythonie tworzyc dynamiczne strony (cos jak w javascript?) jezeli tak jest to wbudowane czy jakis dodatkowy framework (jesli framework to jaki?). To jest jezyk z typu backend czy frontend? Python ma cos wspolnego z html czy jest niezalezny? Jak html mozna polaczyc z css, php to Pythona mozna rowniez w cos polaczyc? Jesli tak w jakie jezyki? Przepraszam za te zielonawe pytania i z gory dziekuje za odpowiedz :). Jeszcze jedno do budowania wiekszych serwisow/aplikacji webowych lepszy pythob czy php?

0

Python to backend i jest do niego kilka frameworków webowych. Nie, nie jest alternatywą dla JS, nie ma nic wspólnego z html, niemniej można w nim robić aplikacje webowe.

0
Shalom napisał(a):

Python to backend i jest do niego kilka frameworków webowych. Nie, nie jest alternatywą dla JS, nie ma nic wspólnego z html, niemniej można w nim robić aplikacje webowe.

Dziekuję, ale jest jakis framework, aby mozna bylo pisac dynamiczne strony w pythonie? Do większych serwisow web lepszy python czy php? Slyszalem, ze przy wiekszym kodzie w php robi sie balagan a w pythonie jak ta sprawa wyglada?

0
  1. Nie, Python nie służy do tworzenia dynamicznych stron (frontu) - tzn. jest Python.js transpilowany do JavaScriptu, ale pracy w tym to raczej nie znajdziesz.

  2. Jest to język przede wszystkim backendowy (głównie Django). Nie da się go bezpośrednio łączyć z HTML jak PHP, ale to i tak kiepski pomysł. Ma natomiast systemy szablonów tak jak każdy inny język używany w backendzie (w skrócie - strony da się jak najbardziej robić).

  3. Zależy co rozumiesz przez "duże aplikacje webowe" - w każdym razie Python nie ma tu mniejszego zakresu zastosowań niż PHP, a język ogólnie uznawany jest za lepszy.

Jedyny język do frontu to JavaScript (choć tak jak pisałem - są transpilatory, szerzej stosowane języki transpilowane do JS to TypeScript, CoffeeScript i może jeszcze Dart).

0
Maciej Cąderek napisał(a):
  1. Nie, Python nie służy do tworzenia dynamicznych stron (frontu) - tzn. jest Python.js transpilowany do JavaScriptu, ale pracy w tym to raczej nie znajdziesz.

  2. Jest to język przede wszystkim backendowy (głównie Django). Nie da się go bezpośrednio łączyć z HTML jak PHP, ale to i tak kiepski pomysł. Ma natomiast systemy szablonów tak jak każdy inny język używany w backendzie (w skrócie - strony da się jak najbardziej robić).

  3. Zależy co rozumiesz przez "duże aplikacje webowe" - w każdym razie Python nie ma tu mniejszego zakresu zastosowań niż PHP, a język ogólnie uznawany jest za lepszy.

Jedyny język do frontu to JavaScript (choć tak jak pisałem - są transpilatory, szerzej stosowane języki transpilowane do JS to TypeScript, CoffeeScript i może jeszcze Dart).

Rowniez dziekuje za odpowiedz. Wlasnie mam dylemat nad wyborem Pythona lub PHP. Czy Python jest podobnie szybki jak PHP? Ja chce isc glownie w kierunku aplikacji webowych i nie wiem co wybrac. Php czy Pythona. A z praca latwiej znalezc w php czy wlasnie pythonie?

0

Standardowa implementaja Pythona jest wolniejsza od PHP7, choć są też implementacje szybsze od pehapa, np. PyPy, natomiast rzadko prędkość środowiska jest decydująca - w każdym razie nie powinieneś się tym kierować przy wyborze. Ważniejsze na początku są walory edukacyjne, a tu góruje Python. Najlepiej popisz kilka miesięcy w obu i zdecydujesz co Ci lepiej leży. Co do pracy - nie pracuję ani w jednym ani w drugim - przejrzyj portale pracy - ilość ofert, wymagania itp, możesz zacząć tutaj: Praca

0

Teraz dzięki Node.js nie musisz chyba uczyć się drugiego języka programowania do backendu. Ponieważ masz mniej nauki znasz javascript i przechodzisz na Node.js doczytując framework Express. Python i Django to taka konkurencja, bo raczej to samo napiszesz w Node.js po stronie serwera co w PHP/Symfony czy Ruby/RoR, kwestia jedynie wydajności. Raczej wszystkie podobnie wydajnie, potem dopiero wyższa półka Java/C#/C/C++ i ich frameworki, co do tych ostatnich to w czystych C/C++ piszą po stronie serwera gdy jest potrzebna olbrzymia wydajność.

0

A mianowicie co nie co poczytalem i przemowila mi jego wszechstronnosc.

Po kilku latach mogę powiedzieć, że co jak co, ale python ma bardzo skromne pole. Natomiast wszechstronność o której wspominasz sprowadza się do pisania programów, które nikt nie użyje. Dla przykładu możesz programować pod windowsa, ale będziesz miał sporo tortur, by na windowsie wszystko Ci ładnie działało. Natomiast na platformie mobilnej będziesz musiał usera zachęcić, żeby przy okazji zainstalował sobie kivy, bo inaczej to krucho będzie z odpaleniem Twojej apki.

Jedyne pola, gdzie Pythona można użyć to zastosowania naukowe i praca z backendem, które mocno polegają na bazach danych, ponieważ czyste przetwarzanie danych w pythonie nie należy do najlepszych (python jest pamięciożerny, szybko fragmentuje pamięć, wymusza korzystanie z procesów tam gdzie normalnie wystarczyłby Ci wątki).

Poza tym zwróć uwagę, że w dzisiejszych czasach coraz więcej logiki programuje się po stronie klienta. Dlatego korzyści z korzystania z rozbudowanych frameworków są coraz mniejsze. Natomiast często spotykam się z projektami gdzie część kodu pisze się asynchronicznie, a część synchronicznie co też nie jest fajnie, bo musisz mieć na uwadze dodatkowy podział bibliotek.

Jakbym teraz zaczynał od początku to szedłbym w kierunku NodeJS/ES6 + reactjs/angular2 + websockety. W ten sposób będziesz mógł łatwiej znaleźć fajną pracę, bo osobom startującym z pythonem jest dużo trudniej.

0

python ma niski próg wejścia dlatego zwykle sam w sobie nie wystarcza, coś jak html/css we froncie

0

@Yolo ja chce się rozwijać w kierunku Node.js/JS/Angular/MongoDB czy to dobra technologia przyszłościowa? Chce się jej dobrze nauczyć i tak szybko nie zmieniać na inną. Ogarniam też Python/Django ale skoro Node.js jest napisane w Javascript to po co mam tracić pamięć w mózgu na naukę Pythona, jak mogę lepiej przez ten czas doczytać o JavaScript czy tam jego pochodnych. Nie wiem co twórcy tego frontend języka mają w planach, czy zastąpią go Typescript czy Coffescript lub Dart. Ale myślę że łatwiej mi będzie przejść na te języki niż na Pythona. Składnia podobna do niego i mogę pisać w Javascript aplikacje pod WebOS 3.0 LG lub odejść od pisania stron i zajmować się grami w Unity 3D. Myślę że leniwość ludzi wygra i moda na Node.js po stronie serwera backend łatwo się wymieniająca z frontend przyjdzie do Polski. Może i przegoni Ruby/RoR bo wydajnością podobne lub sporo szybszy Node.js.

0

@Yolo ja chce się rozwijać w kierunku Node.js/JS/Angular/MongoDB czy to dobra technologia przyszłościowa?

Początki z JS będą dużo prostsze, ale mimo to w JS duuuużo trudniej idzie pojąć jak pisać porządny kod. Rzadko spotkasz kogoś kto stosuje SOLID, jednostkowe testy czy obietnice/generatory. Do tego uwzględnij ciągle zmieniające się trendy w JS, a zrozumiesz czemu za pół roku zaczniesz przepisywać swój program :)

Ogólnie jeśli chodzi o rynek to moim zdaniem musisz potrójnie się starać, żeby trafić na projekt w którym są fajni i kumaci ludzie. Inaczej przyjdzie Ci utrzymywać g**no-kod.

0
Świetny Kot napisał(a):

@Yolo ja chce się rozwijać w kierunku Node.js/JS/Angular/MongoDB czy to dobra technologia przyszłościowa?

Angular to framework zrobiony w JS. Ogólnie rzecz biorąc i patrząc na trendy oraz statystyki będzie dużo pracy związanej z JS. Bądź na bieżąco z samą specyfikacją ECMAScript, bo ona się zmienia. Angular jest zgodny z ECMA 6, a w czerwcu została wydana wersja 7.0.
Jeśli chodzi o Angulara to niebawem będzie Angular 2, który obecnie jest w fazie alpha. W angularze 2 kładą naciśk na korzystanie z TypeScript lub/i CoffeeScript, więc odpowiedź nasuwa się sama, żeby dorzucić do swojego asortymentu te dwa języki.
Jeśli chodzi o Node, to nie mam bladego pojęcia. Korzystałem z niego tylko na poziomie npm ;)
Jeśli chodzi o MongoDB to trudno mi powiedzieć, ogólnie trzymam się zasady, że dobrze jest znać jakąkolwiek bazę. :)

0

Dziekuje za odpowiedzi. Co do tej wszechstronnosci w Pythonie dziekuje YOLO za odpowiedz. Chyba na razie bede poszerzal swoje horyzonty w html, css, javascript, php. Czy Node.js jest z nimi porownywalne?

0

Node.js możesz zastąpić PHP i odwrotnie. Łącząc JavaScript + PHP masz dwa języki do nauki, a ucząc się Node.js + JavaScript masz tylko jeden język programowania do nauczenia. Do tego wszystkie te frameworki Angular, jQuery pisane są w JavaScript.

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