Witam. Myślę nad rozpoczęciem nauki języka Python. Wiem, że teoretycznie jest językiem "dość łatwym" do nauki. Chodzi mi jaka ścieżkę mógłbym obrać po nauczeniu się podstaw i do jakiej najlepiej nadaje się Python? Czytałem, że jest bardzo dobry do bazy danych, analiz, nauczanie maszynowe. Te kierunki mnie nie interesują, a z tego co wiem z neta do innych kierunków niż wyżej wymienione są lepsze języki specjalizujące się w danym kierunku. Czy w takim razie lepiej uczyć się innego języka? Uczyłem się wcześniej trochę c++ i java, lecz jakoś Python najłatwiej przyswajam
- Rejestracja:około 4 lata
- Ostatnio:ponad rok
- Postów:34

- Rejestracja:ponad 6 lat
- Ostatnio:dzień
- Lokalizacja:Silesia/Marki
- Postów:5505
LuFCc napisał(a):
Te kierunki mnie nie interesują
Może prościej będzie jak odwróci się pytanie i powiesz co ciebie interesuje?
a z tego co wiem z neta do innych kierunków niż wyżej wymienione są lepsze języki specjalizujące się w danym kierunku
Ciekawe, chętnie poznałbym te jezyki. Możesz podrzucić nazwy?
BTW to że istnieje język lepiej wyspecjalizowany nie koniecznie oznacza że nie używa sie Pythona. Często o wyborze języka programowania do projektu nie decyduje programista tylko polityka firmy. Np tak gdzie pracuję większość rzeczy pisze się w Scali bo niektóre projekty używają Sparka (A Spark jest domyślnie dla Scali). Ale polityka firmy jest taka że nawet jeśli projekt nie używa sparka to powinien być pisany w Scali (chodzi np o łatwość przesywania programistów między projektami)
- Rejestracja:około 7 lat
- Ostatnio:22 minuty
- Postów:872
Gdzie python daje radę:
- tam gdzie jest nisza. Całe data science, pisanie skryptów ułatwiających pracę dla specialistów nie będących za bardzo zainteresowanych szerokopojętym programowaniem
- pisanie skryptów: łatwo piszę się proste rzeczy, każdy programista jako tako zna pythona
- prototypowanie: trzeba coś napisać na szybko byle działało
- testy: nie potrzeba wydajności, dużo testerów na ten język
Gdzie python jest średni:
- pisanie ogólno pojętych backendów (czyli to co robi większość programistów): słaba wydajność, średni tooling, dynamiczne typowanie (zależy jak kto na to patrzy)
Gdzie python ssie:
- oprogramowanie, które musi działać szybko tj. krótkie czasy odpowiedzi lub małe zużycie zasobów. Python może być szybki, jeśli ograniczysz się do używania funkcji napisanych pod spodem w C. Niestety taki kod często jest brzydki więc lepiej po prostu użyć czegoś innego
- Rejestracja:około 4 lata
- Ostatnio:ponad rok
- Postów:34
Np. aplikacje webowe, desktopowe, mobilne, strony www. Czytałem na innych forach i artykułach, że Python zyskał teraz na popularności przez nauczanie maszynowe bo jest na to bardzo duże zapotrzebowanie, że mobilne lepsza Java, webowe lepsza Java Script itd. Nie mowie, że tak jest tylko chce zacząć naukę i chciałbym się dowiedzieć jak w końcu jest z tym Pythonem.

- Rejestracja:ponad 6 lat
- Ostatnio:dzień
- Lokalizacja:Silesia/Marki
- Postów:5505
LuFCc napisał(a):
mobilne,
Tu czesto dużego wyboru nie masz. Na Androida natywnie jest Kotlin, kiedyś była Java (w siensie Java dalej jest natywna, ale Kotlin jest promowany). Na iOS jest Swift, kiedyś był Object-c. Są języki i frameworki które mówią że są przenośne jak React Native (więcej nie powiem bo nie wiem). Na mobilki raczej w Pythonie aplikacji nie napiszesz
desktopowe
mało takich ofert pracy, Raczej języki natywne Rust/C++ lub na windowsie C#
aplikacje webowe
strony www.
Jak to rozróżniasz? Jeśli strony www mają mniej logiki od aplikacji webowych to strony www to PHP (jak to forum). Aplikacje webowe za to dzielą się na frontend i backend. Frontend to JavaScript. Backend - zwykle co sobie tylko zamarzysz. ja robiłem w Scali, Kotlinie i Javie (niekoniecznie w tej kolejności)
UPDATE nie znajdziesz jednego języka do wszystkiego. Musisz się określić co chcesz robić i wybrać pod to język. Albo wybrac jezyk i sprawdzić czy są do niego oferty pracy
UPDATE 2 Po manyśle stwierdzam że najbardziej uniwersalny może być JavaScript. Co prawda go nie lubię, ale jak chcesz spróbować wszystkiego to może to być najlepszy wybór

- Rejestracja:ponad 3 lata
- Ostatnio:ponad rok
- Postów:133
Zacznij zatem od Python. Naucz się rozwiązywać problemy przy pomocy tego języka.
W programowaniu język programowania nie jest najważniejszy. Najważniejsze jest to, czy umiesz rozwiązać jakiś problem zachowując czytelność, integralność i możliwość przyszłych zmian.
Tego nie nauczysz się z książek ale z praktyki, słuchania innych i ciągłemu doszkalaniu.
- Rejestracja:około 4 lata
- Ostatnio:ponad rok
- Postów:34
Powiem tak. Python wydaje mi się najlżejszy do przyswojenia. Lecz wnioskując jest on najlepszy w Data Science, machine learning co w ogóle mnie nie interesuje. Tak to teraz rozumie . Nie chodzi mi by był to język do wszystkiego, tylko w miarę możliwości "prosty" i specjalizował się w jednej dziedzinie co wyżej pisałem, a python chyba taki nie jest?

- Rejestracja:ponad 6 lat
- Ostatnio:dzień
- Lokalizacja:Silesia/Marki
- Postów:5505
specjalizował się w jednej dziedzinie co wyżej pisałem
Ale w której dziedzie. Podaj dziedzinę to dostaniesz najlepszy jezyk do tego. A jak nie to JavaScript





- Rejestracja:około 11 lat
- Ostatnio:5 minut
- Postów:8406
Uczyłem się wcześniej trochę c++ i java, lecz jakoś Python najłatwiej przyswajam
To w czym problem?
Myślę nad rozpoczęciem nauki języka Python.
Aha, wszystko jasne. "myślę nad rozpoczęciem" to eufemizm na "prokrastynuję".
Nie mowie, że tak jest tylko chce zacząć naukę i chciałbym się dowiedzieć jak w końcu jest z tym Pythonem.
Wejdź sobie na portale pracy z IT (JustJoin.it, NoFluffJobs itp.) i wyszukaj oferty z Pythonem, to będziesz miał pewne przybliżenie, jakie jest zapotrzebowanie na rynku.
zyskał teraz na popularności przez nauczanie maszynowe bo jest na to bardzo duże zapotrzebowanie
- Na wszystko jest bardzo duże zapotrzebowanie w IT. O wszystkim można tak powiedzieć. Jednak zwykle "dużo zapotrzebowanie" dotyczy osób z doświadczeniem, a nie juniorów, którzy zaczynają dopiero karierę.
- Uczenie maszynowe wymaga zaawansowanej matmy, więc ma duży próg wejścia (no chyba że już matmę znasz, bo np. kończyłeś kierunek ścisły i byłeś dobry w matmie)


- Rejestracja:prawie 14 lat
- Ostatnio:około 2 godziny
- Postów:3169
Do grania w CTF. ALbo szybkiego przetwarzania danych, sprawdzenia czegos itp.

- Rejestracja:ponad 6 lat
- Ostatnio:dzień
- Lokalizacja:Silesia/Marki
- Postów:5505
LuFCc napisał(a):
Aplikacje webowe, strony www. Jest sens nauki Python?
Na nofluffjobs jest aktualnie 17 ofert z frameworkiem Django, Chyba najpopularniejszym frameworkiem w Pythonie do robienia stron. Sam sobie odpowiedz czy to dużo czy mało


- Rejestracja:prawie 4 lata
- Ostatnio:prawie 2 lata
- Postów:137
KamilAdam napisał(a):
LuFCc napisał(a):
Aplikacje webowe, strony www. Jest sens nauki Python?
Na nofluffjobs jest aktualnie 17 ofert z frameworkiem Django, Chyba najpopularniejszym frameworkiem w Pythonie do robienia stron. Sam sobie odpowiedz czy to dużo czy mało
to chyba zależy od stronki, bo na justjoin.it około 100, not bad chociaż java ma kilka razy więcej (edit bo jakoś dziwnie oni to policzyli i wyszło za dużo xD )
- Rejestracja:ponad 18 lat
- Ostatnio:24 minuty
że Python zyskał teraz na popularności przez nauczanie maszynowe bo jest na to bardzo duże zapotrzebowanie
Ale ty serio myślisz że tu chodzi o klepanie crudów ML przez juniroów? to o czym mówisz to matematyka i statystyka która w pewnym momencie zostanie zapisana w kodzie pythona albo jakaś statystyka do analizy danych itd. To nie będzie klepanko model.detect(zdjecie) Chyba że mówisz o frontach na ta czymś takim.
- Rejestracja:ponad 18 lat
- Ostatnio:24 minuty
ale to ty chcesz sie przebranżowić czy co?
- Rejestracja:około 3 lata
- Ostatnio:ponad rok
- Postów:2310
Nie ma znaczenia jaki pierwszy jezyk wybierzesz (byle nie był jakiś patologiczny, a python patologiczny nie jest)
I tak niewyobrażalnym jest etap pracy (zleceń) komercyjny ze znajomością jednego. Programista z jednym językiem, to jeszcze nie programista. Dopiero potem ma jakiekolwiek horyzonty
Statystycznie zawodowo używa sie innych/ego języków/a niż pierwszy uczony.
Więc spokojnie się ucz, w realnych projektach zobaczysz co ci leży, co nie pasuje,do jakiej dziedziny cie zycie zaniesie.
Chodzi mi jaka ścieżkę mógłbym obrać po nauczeniu się podstaw
Żadną.
15k odjeżdża, kolego


- Rejestracja:ponad 3 lata
- Ostatnio:ponad rok
- Postów:133
Wybór języka do nauki programowania przypomina mi wybór młotka. Czy lepszy mały, a może taki duży - a może jednak pneumatyczny ?
W tym wyborze, "najlepszego" narzędzia, pomija się aspekt tego czy w ogóle wiesz co to jest młotek, po co ten młotek, czy kiedykolwiek używałeś młotka ?
Ja mam takie przekonanie - że kurna użyj wreszcie jakiegoś młotka. Powbijaj nim pinezki, potem małe gwoździe.
Z czasem przyjdzie "objawienie" i będziesz wiedział, że dużego gwoździa małym młoteczkiem nie wbijesz, a młota pneumatycznego najlepiej używać mając słuchawki wygłuszające na uszach.
- Rejestracja:około 12 lat
- Ostatnio:około 5 godzin
- Postów:1431
LuFCc napisał(a):
Jeszcze jedno pytanie
Według was prostszym i przyjemniejszym językiem do nauki jest Java Script czy Python?
W sumie obojętnie. Oba też są podobnie przydatne z perspektywy bycia side-language w przyszłości, JavaScript bardziej przyda się osobom, które chcą robić full-stack, a Python osobom, które bardziej opsują. Prawdopodobnie większość osób tutaj zna w jakimś stopniu jeden i drugi.

- Rejestracja:ponad 7 lat
- Ostatnio:około 2 godziny
Python to pełnoprawny język programowania po stronie backend-u. Tam gdzie pracuję, w tym języku powstaje aplikacja desktopowa. Pewnie dałoby się ją napisać też w Javie, czy C#. W pewnych zastosowaniach Python jest faktycznie wolny, ale w takim przypadku można pewien komponent napisać w czymś bardziej wydajnym, a wynik obrabiać już w samym Pythonie. Takie przypadki jak się zdarzają, to są raczej rzadkie. Bardzo niedojrzałe jest dla mnie stwierdzenie, że Python jest wolny, to napiszmy całą apkę w C++, bo to szybkie. I się potem ludzie katują z C++.


{...state, foo: {...state.foo, bar: {...state.foo.bar} }
znowu wprowadza niepotrzebny dynamizm. Podobnie komponenty React wymyślają swoje idiomy, które też komplikują sprawę


move sematnci
z czasów C++11. Bardzo łatwo doprowadzić do sytuacji, gdzie robimy kopię kilkumegabajtowych strutkur, bo coś tam w systemie typów się nie zgodziło i musi być kopia. Rust podchodzi do tego zupełnie inaczej dzieki bagażowi doświadczeń zgromadzonych w C++ (i braku kompatybilności z C)
Często pisanie programów w C++ można porównać do zagadek logicznych. Fajna sprawa, ale nie, gdy chcę napisać działający program
- Rejestracja:około 3 lata
- Ostatnio:ponad rok
- Postów:2310
Saalin napisał(a):
LuFCc napisał(a):
Jeszcze jedno pytanie
Według was prostszym i przyjemniejszym językiem do nauki jest Java Script czy Python?
W sumie obojętnie. Oba też są podobnie przydatne z perspektywy bycia side-language w przyszłości, JavaScript bardziej przyda się osobom, które chcą robić full-stack, a Python osobom, które bardziej opsują. Prawdopodobnie większość osób tutaj zna w jakimś stopniu jeden i drugi.
Nooo, są różnice ...
O ile w pythonie można uzyskać mały ale kompletny i użyteczny program (command line / bazowy, bardzo minimalistyczny desktop)
Użytecznego programu webowego w JS nie uzyskasz, musisz nadgonić podstawy HTML, CSS, a i to ubogo, bez backendu to zabawki.
Nie ma, nie istnieje użyteczność w większej skali, jak sie zna jeden język.
EDIT: ii jeśli od wczoraj poznanie JĘZYKA (syntax, z bibliotekki standardowej print) wydaje sie czymś na miare Himalajów, to mam złą wiadomosć. Bez "ekosystemu" to zalażek do wstępu (z tych dwóch w JS palcem nie kiwniesz nad czymś ambitniejszym bez obszernego ekosystemu).
Mając 24h i ciekawość życiową, to dzis byś zadawał szczeólowe merytoryczne problemy, a nie oczekiwał wskazań "czy" się uczyć.

- Rejestracja:około 11 lat
- Ostatnio:5 minut
- Postów:8406
LuFCc napisał(a):
Jeszcze jedno pytanie
Według was prostszym i przyjemniejszym językiem do nauki jest Java Script czy Python?
Jako programista JavaScriptu (który zna również Pythona) mówię, że Python jest przyjemniejszy do nauki, jeśli chodzi o sam język.
Python jest bardziej spójny i przemyślany jeśli chodzi o język, składnię, bibliotekę standardową, a JavaScript jest pełen niespodzianek i zaszłości historycznych.
Z drugiej strony w JS można fajniejsze rzeczy zrobić, bo strony, animacje, grafikę, w Pythonie raczej się tego nie robi (chociaż jak ktoś się uprze, to można), więc jak będziesz się uczyć Pythona, to zwykle jakieś nudne rzeczy będziesz robić (chyba, że wejdziesz w machine learning albo będziesz robić jakieś wizualizacje w Jupyter, to może być fajne, ale to jednak ma wyższy próg wejścia).
Czyli:
- łatwiejszy powinien być Python
- ale w JS można fajniejsze rzeczy robić, chyba, że wejdziesz w machine learning, wtedy w Pythonie fajniejsze rzeczy będziesz mieć

- Rejestracja:prawie 5 lat
- Ostatnio:około 7 godzin
- Lokalizacja:Wrocław
- Postów:501
Ja zacząłem naukę od Pythona. Ogarnąłem podstawy, napisałem jakieś apki konsolowe lub z GUI i przystąpiłem do nauki Django. Django ma bardzo dobrą dokumentację i wymusza pewną architekturę oraz strukturę projektu. Zrobiłem jakiś projekcik z użyciem djangowych templatów, więc oczywiście musiałem też ogarnąć HTML i CSS. Potem ogarnąłem, że jest takie coś jak Django Rest Framework, więc również jego zacząłem się uczyć. Doszedłem do momentu, kiedy napisałem małe Rest API i no fajnie, ale raczej nie zrobię na kimś wrażenia aplikacją wypluwającą JSONy.
Zacząłem się uczyć JS, żeby połączyć to w całość, a było to dużo prostsze przez jakąś już znajomość Pythona. Nawet nie oglądałem ani nie przerabiałem żadnego kursu, a po prostu zacząłem w nim pisać. Słyszałem wcześniej, że są jakieś Vue i inne Reacty, więc pomyślałem, że spróbuję Vue i tak napisałem front do mojego API. Potem zrobiłem kolejny projekcik DRF + Vue, ale większy. Następnie pomyślałem, że spróbuję zrobić apkę, ale tym razem z backendem w JSie, ale Typescript też wydawał się interesujący, więc finalnie przy jego pomocy napisałem back, a do tego oczywiście Vue.
Potem przez jakiś czas równolegle doszkalałem się w Pythonie i JS/TS, bo szkoda mi było stracić czas na poznanie Pythona, aż finalnie dostałem pierwszą pracę w JSie i do dzisiaj praktycznie nie pisałem już w Pythonie oprócz jakichś systemowych skryptów. Morał jest taki, że na początku w ogóle nie zakładałem, że będę się uczył Javascripta, co dopiero mówiąc o pracy w nim, a miałem do niego duży uraz, bo w technikum nauczyciel molestował nas JQuery oraz po prostu nie umiał uczyć.
Technologia nie jest ważna, a umiejętność rozwiązywania problemów. Ja też nie uważam czasu poświęconego na naukę Pythona, czasem straconym. Dał mi zalążki programistycznego myślenia i nawet jeśli teraz go nie używam, to poznałem jego możliwości, które być może w przyszłości wykorzystam.

- Rejestracja:ponad 5 lat
- Ostatnio:22 dni
- Lokalizacja:Wrocław
Pytanie co chcesz robić. Jeśli crudy to są lepsze wybory niż python.
Python jest najczęściej wybierany do projektów typu data / cloud i w takowym stacku jest najlepiej opłacany. Nie każdego jednak takie projekty interesują.
Jako świeżak musisz nauczyć sie po prostu programować (Analityczne myślenie, rozbijanie problemów na mniejsze warstwy). Język to tylko narzędzie.

- Rejestracja:ponad 6 lat
- Ostatnio:dzień
- Lokalizacja:Silesia/Marki
- Postów:5505
Jeszcze mi sie przypomniało. Na Azure Functions documentation można odpalać Pythona. Znajomy miał taki projekt. Nie do końca rozumiem czemu wybrali Pythona zamiast Javy/Scali (może szybkość wstawania). JavaScript też tam jest (z szybko wstających)
python main.py
a nie src/main/com/my/supper/enterprise/application

Chyba python jest bardziej znany
Znajomy był akurat zatrudniany jako programista Scali, tylko ostatecznie architekt postanowił że napiszą w Pythonie. Większość firmy pisze w Scali :D
- Rejestracja:ponad 2 lata
- Ostatnio:ponad 2 lata
- Postów:15
Gdzie python najlepszy?
Do tematów powierzchownych, gdzie widzisz w głowie całe rozwiązanie i chcesz rozwiązanie wcielić w życie, bez nadmiernego angażowania się w obróbkę kodu.
Do tematów niepowierzchownych, gdzie nie widzisz w głowie całego rozwiązania i gdy chcesz lepiej zrozumieć problem, poprzez analizę danych / interaktywne programowanie, by szybciej znaleźć optymalne rozwiązanie.
Ja uznaję, że punktem sprzedaży pythona jest możliwość łączenia na raz obu wymienionych opcji, bez większego skupiania na inżynierii oprogramowania.
asyncio
a python jest na tyle wysokopoziomowym językiem, że nie chcę się tym zajmować: zamiast tego wolałbym green thready jakie ma go, ruby czy już niedługo java. Inna sprawa to jakość kodu i typowanie: programiści lubią statyczne typowanie w dużych projektach: po co mam wybierać pythona jak jest tyle alternatyw. Co do wydajności: jest mnóstwo artykułów, które opisują jak ich system jest przepisywany z pythona na X. Na samym początku wydajność nigdy nie jest problemem. Niestety projekt rośnie i masz związane ręcę