Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Jak nauczyć się Pythona od podstaw?

Python jest wysokopoziomowym językiem programowania, który sukcesywnie zdobywa coraz większe zainteresowanie. Charakteryzuje się rozbudowanym pakietem bibliotek, które otrzymujemy w standardzie.

Dlaczego Python? Ponieważ jest prosty i intuicyjny. Ponadto składnia Pythona powoduje, że kod łatwo się czyta. Zresztą nie trzeba poprzestawać na znajomości jednego języka. Próg wejścia podczas nauki kolejnego będzie zdecydowanie niższy. Zatem jeśli chcesz nauczyć się programowania w Pythonie tylko nie wiesz jak zacząć, ten wpis pomoże Ci w znalezieniu pomocnych źródeł.

Należy również zaznaczyć o różnicach występujących pomiędzy Pythonem w wersji 2.x, a tym w wersji 3.x. Ostatnie wydanie wersji 2.x nastąpiło w roku 2010 - od tego czasu edycja ta ma co prawda zapewnione wsparcie jedna nie jest już rozwijana. W przeciwieństwie do 3.x, będącą na tą chwilę gałęzią, do której wciąż wychodzi nowa funkcjonalność. Jeżeli nadal ktoś jest niezdecydowany co do wybranej edycji - więcej na ten temat można przeczytać na stronie projeku. Ja skupiłem się na wersji 3.x aczkolwiek nie przeszkadza to w sprawnym posługiwaniu się starszym wydaniem.

Rzetelne przejście przez wymienione niżej pozycje zagwarantuje solidne podstawy, które pozwolą swobodnie poruszać się w przyszłych projektach. Wszystkie przedstawione przeze mnie źródła są w języku angielskim.

Od czego zacząć?

Na początek polecę pozycję, która niezwykle gładko wprowadza w zagadnienia programowania w Pythonie. Książka "A Byte of Python" autorstwa Swaroop C.H., w wersji elektronicznej, jest w pełni darmowa. Pełna kopia dostępna jest pod tym adresem. W książce prócz wprowadzenia do Pythona znajduje się wiele porównań do innych języków (Java, C++). Pozycję tą czyta się szybko, ponadto przedstawia jasne objaśnienia i dobre przykłady - zwłaszcza gdy dopiero zaczynamy przygodę z programowaniem. Książka stanowi bardzo zwięzłe wprowadzenie oraz przedstawia język w łatwy do zrozumienia sposób.

Z książek dobrych na początek sporo pozytywnych opinii słyszałem o "Learn Python the Hard Way", której autorem jest Zed Shaw. Jednak ponieważ nie miałem okazji jej przeczytać to nic ponad to nie jestem w stanie dodać.

Kurs interaktywny

Polecam również, fenomenalny według mnie, internetowy kurs Pythona na codecademy. Całość podzielono na dwanaście tematów. Każdy z nich zawiera od kilku do kilkunastu lekcji, kończących się zadaniami i przykładami. Wszystko zamknięto w niezwykle czytelnej formie. Na dodatek każdy z tematów uzupełniono o linki prowadzące do dodatkowych źródeł takich jak kolejne szkolenia, książki czy choćby niezwykle pomocne wątki społeczności StackOverflow.

Podstawowy kurs jest darmowy, przy czym istnieje możliwość wykupienia miesięcznej subskrypcji, która daje dostęp do dodatkowych quizów i projektów do każdego z tematów. Jednak by poznać Pythona w zupełności wystarczą możliwości konta podstawowego.

Polecam przerobienie materiału z obu wymienionych pozycji równolegle.

Python w kolejce do lekarza

Gdyby to nie wystarczyło istnieje wiele aplikacji na androida, które również oferują mniej bądź bardziej interaktywne kursy. Learn Python autorstwa SoloLearn stanowi bardzo kompetentny i darmowy kurs dostępny na urządzeniach przenośnych. Podzielony na dziewięć rozdziałów sprawnie wprowadza w meandry programowania w Pythonie i miejscami całkiem dobrze uzupełnia terminy, których zabrakło w dwóch wyżej wymienionych pozycjach.

Dodatkowe ćwiczenia

Po opanowaniu podstaw można już śmiało próbować własnych sił. Dlatego niżej przedstawiam kilka prostych programów, które można napisać samemu w ramach rozgrzewki przed większymi projektami.

  1. Symulator rzutów kością do gry. Jak sama nazwa wskazuje projekt ten zakłada napisanie programu, który symuluje rzuty kośćmi. Program wpierw powinien zapytać użytkownika o podanie ilości kości, którymi będzie rzucał. Powinien również zapytać o wielkość kości. Następnie, dla każdej kości, wygeneruje losowo liczbę z przedziału od 1 do wielkości jaką przyjęliśmy za ilość ścian. Program powinien wypisać wszystkie wyrzucone wyniki. Na koniec niech program zapyta użytkownika czy ponowić rzuty.
  2. Szablon tekstowy. Program powinien wpierw pytać użytkownika o serię słów. Gdy wszystkie wymagane dane zostaną wprowadzone, program powinien umieścić je w przygotowanym wczesniej szablonie, który następnie zostanie wyświetlony użytkownikowi.
  3. Paragrafówka. Albo inaczej tekstowa gra przygodowa. Gra powinna pozwalać użytkownikowi poruszać się po pomieszczeniach w oparciu o dane wprowadzone przez użytkownika na podstawie podanych opisów każdego pomieszczenia. Aby to stworzyć, należy ustalić kierunki, w których użytkownik może się poruszać, określić sposób śledzenia pozycji użytkownika oraz tak by móc stwierdzić jak daleko użytkownik może zajść. Innymi słowy, należy stworzyć "ściany" wokół pomieszczeń, które informują użytkownika, o tym, że nie może poruszać się dalej w danym kierunku. Ponadto gra powinna przekazywać graczowi informacje o jego otoczeniu i obecnym położeniu. Poziom rozbudowania zależy już od poziomu ambicji. Sam projekt nadal bazuje na użyciu danych wprowadzanych przez użytkownika. Może to być stosunkowo prosta gra, ale jeśli zamierzasz używać złożonych słów, kodowanie będzie znacznie trudniejsze, zwłaszcza jeśli chcesz, aby gracz mógł wchodzić w interakcję z rzeczywistymi obiektami w grze.

Własna gra

Ucząc się swojego pierwszego języka programowania warto oprzeć się na przykładach, które łatwo do nas trafią. Jeśli chcemy posortować muzykę na dysku według własnych upodobań możemy stworzyć program, który pokataloguje nasz zbiór na podstawie wybranych właściwości utworów. A jeśli interesują nas gry to czemu nie stworzyć własnej? W tym drugim przypadku polecam książkę "Making Games with Python & Pygame", której autorem jest Al Sweigart. Pozycja w wersji elektronicznej jest darmowa i dostępna z tego miejsca. Mając już pewną wiedzę na temat programowania w Pythonie, książka doskonali umiejętności na przykładzie jedenastu, dokładnie opisanych linijka po linijce, gier. Jeśli interesujemy się grami, wówczas jako suplement do już uzyskanej wiedzy sprawdzi się znakomicie. Tym bardziej, że lektura motywuje do eksperymentowania.

Pozostając przy temacie gier chcę również wspomnieć o dość ciekawym portalu codingame. Pomysł jest o tyle interesujący, że wymaga od nas uzupełnienia kodu dla opisanej gry bądź programu. Następnie na naszym kodzie wykonywane są liczne testy i jeśli za każdym razem został zwrócony oczekiwany wynik możemy z czystym sumieniem podjąć się kolejnego wyzwania. Bądź zabrać za refaktoryzację kodu. Same zadania są dość zróżnicowane i zahaczają o wiele pojęć związanych z programowaniem. Do tego wyzwania są uzupełniono o poziome trudności i opis poruszanych zagadnień. Dodajmy tryb multiplayer i otrzymamy oryginalny pomysł na naukę programowania. Choć na początku cele misji mogą wydawać się mało intuicyjne tak z każdą kolejną robi się coraz bardziej przytulnie.

Wszystko jest obiektem

W tym momencie będziemy dysponować już solidnymi zasobami wiedzy i doświadczenia, które przyda się w przypadku kolejnej omawianej pozycji: "Python 3 Object-oriented Programming" autorstwa Dusty Phillips. Jak sam tytuł mówi książka opisuje zawiłości programowania obiektowego. Nie jest to jednak typowa książka o Pythonie. Pierwszy rozdział nie jest prostym wprowadzeniem do języka. Zamiast tego skupia się na diagramach UML (swego rodzaju grafy - wizualizacje logiki działania programu) oraz teoriach związanych z programowaniem obiektowym. Co ciekawe, wciąż dobrze się to czyta. Dalej robi się już nieco bardziej standardowo. Bo w kolejnych rozdziałach porządnie zagłębiamy się w temat obiektowości. Pojawiają się wzorce projektowe, które warto znać. Wiele miejsca poświęcono również zagadnieniom poprawnego testowania kodu. By na koniec skupić się na dobrym zarządzaniu pamięcią, czy obsługą wielu wątków. Książka jest obszerna w przykłady i ćwiczenia i została napisana przystępnym językiem. Nie jest to jednak pozycją darmowa, a nie zamierzam reklamować konkretnego sklepu, dlatego też nie podaję linka.

Jest git

Git to darmowy, rozproszony systemem kontroli wersji oprogramowania przeznaczony do obsługi zarówno małych jak i bardzo dużych projektów. System kontroli wersji pozwala nam na śledzenie i archiwizowanie zmian w kodzie programu. A co za tym idzie pozwala cofać się w historii zmian bądź dotrzeć do autora konkretnej zmiany. Obecnie istnieje wiele projektów korzystających z repozytoriów git-a. Dobrym miejscem na pierwsze kroki w gicie może ponownie okazać się kurs na codecademy. Jednak, moim zdaniem, lepiej i obszerniej rozwiązano to w Learn Git Branching. Kompetentny i bardzo dobrze zrealizowany kurs zgrabnie przeprowadza przez kolejne zagadnienia. Zaś wykonanie pozwala z łatwością zwizualizować sobie poziomy abstrakcji git-a.

Co dalej?

Zacznij pisać. Refaktoryzuj kod. Poznaj wzorce projektowe. Ucz się jednego z wiodących frameworków. Wymyślaj i dodawaj nową funkcjonalność do już poznanych przykładów. Programowanie przynosi olbrzymie pokłady przyjemności i satysfakcji. Pomyśl co chcesz stworzyć? Może to jest strona do dzielenia się plikami w internecie albo odtwarzacz mp3? Albo dołącz do któregoś z otwartych projektów na GitHubie bądź innym repozytorium git-a.

Pozycje, które wymieniłem to tylko moja sugestia. A jeśli wydaje Ci się to nudne to zacznij urzeczywistniać własne konspekty i po prostu pisz. Napotykając na problem szukaj rozwiązania na bieżąco. A kiedy skończysz satysfakcja będzie wielka. 

porady programowanie hobby

Komentarze

0 nowych
DjLeo MODERATOR BLOGA  18 #1 28.09.2016 23:32

Fajny, wartościowy wpis. Python to mój pierwszy póki co język programowania, którego się uczę.

KoczurekK   10 #2 28.09.2016 23:47

No taki intuicyjny nie jest, dla optymalizacji ma dużo hardo-wysokopoziomowych operacji i jeśli trzeba napisać wydajny kod to wygląda jak sieczka z operatorów widywanych raz na dziesięć lat. :D

No, może trochę przesadzam, ale ja jestem „tym gościem od rodziny C”, więc Python wydaje się taki… dziwny.

apostolisthefirst   2 #3 28.09.2016 23:59

Microsoft Academy ma dobry kurs Pythona, po którego zaliczeniu dostaje się zniżki, a dla upartych można pójść na egzamin i dostać dyplom.

ttomas   11 #4 29.09.2016 00:20

Z mojego punktu widzenia, wygląda jak każdy obiektowy wysokopoziomowy język, czego nie widać na pierwszy rzut oka to IDE podpowie, jeśli nie podpowie to jest dokumentacja. A potem zaczynają się ciekawostki odpowiednie dla danego języka :).

  #5 29.09.2016 00:34

@KoczurekK: Python nie nadaje się do oprogramowywania rzeczy, w których krytyczna jest wydajność.

  #6 29.09.2016 01:03

Wpis trochę bez sensu. No chyba, że jest to pierwszy artykuł z całej serii traktującej wszystkie języki programowania. Po opublikowaniu serii okaże się, że porady będą identyczne dla każdego języka. Nie wiem jak do tej pory dawali sobie radę użytkownicy tego i innych języków. Chyba tylko udawali, że piszą programy.

  #7 29.09.2016 06:00

Python to ciekawy język, ale brakuje mi tego co ma C, C++ i D. Do nauki i rozwoju mogę go polecić. Ciekawe biblioteki matematyczne, biologiczne, chemiczne i dużo specjalistycznych typu Big Data, nauczanie maszynowe i do analizy fal mózgowych. Proste, przystępne opisy i dużo przykładów wykorzystania.

  #8 29.09.2016 07:00

Python jest dobry. Dużo rzeczy jest w nim zrobione.
Jest idealny do prototypowania a następnie przeniesienia np w celu poprawy wydajności na C lub C++

codeobiect   4 #9 29.09.2016 07:59

Bardzo dobrze się czytało, szkoda tylko, że taki krótki wpis ;)
Większość z polecanych pozycji próbowałem z większym bądź mniejszym skutkiem, ale Twój wpis zachęcił mnie do nowego spojrzenia na to wszystko.

sebatbg   3 #10 29.09.2016 08:11

Bardzo ciekawy wpis.

Szkoda tylco że CodeAcademy wciąż dla wersji 2.
Od siebie też chciałbym dorzucić trochę materiałów:

Polecam zajrzeć:

https://www.packtpub.com/packt/free-ebook/learning-python

Można zgarnąć książkę do podstaw pythona wartą ok 200 zł.


http://py4e.com/

Książka, podcasty, prezentacje, filmy video...i cała stronka do pobrania na githubie.

Mam nadzieję, że się przydadzą.

__Tux__   13 #11 29.09.2016 08:15

@KoczurekK: Niestety pisanie w językach skryptowych czasem wygląda tak słodko, że ludzie zapominają o pisaniu optymalnego kodu (no bo przecież co tu optymalizować). A jednak nie można szastać pewnymi mechanizmami.
Słyszałem rozmowę praktykantów w firmie, jeden z nich stwierdził, że Java jest lepsza od C++, bo jest w niej dużo rzeczy, np. obsługa sieci. Powiedziałem mu, że to nie jest elementem języka i myślałem, że się na mnie obrazi.

A co do nauki Pythona, niestety zdarza się, że trzeba szukać książek. Są informacje, które trzeba znaleźć w różnych zakamarkach dokumentacji i internetu, a w książkach są zebrane w pigułkę (nie zawsze).

Lizergus   4 #12 29.09.2016 08:27

Z tutoriali na YT : Learn to program Dereka Banasa
https://www.youtube.com/playlist?list=PLGLfVvz_LVvTn3cK5e6LjhgGiSeVlIRwt

Dive into Python 3
http://www.diveintopython3.net/

Learn Python the Hard Way
https://learnpythonthehardway.org/book/

Autor edytował komentarz w dniu: 29.09.2016 08:38
TrustNoOne   11 #13 29.09.2016 08:32

O. I to jest ciekawy wpis. Z linkami do spraw krok po kroku. Irytujące jest w innych wpisach o programowaniu to, że zwykle udzielają ogólnych informacji bez szczegółów pomagających rozpocząć podstawy. Ja np miałem problem z tym wszystkim pod W10..

SmallBoobsLover   7 #14 29.09.2016 08:43

ale do czego jest ten pyton? Co można zaprogramować?
Wiadomo photoshop - webdesign/digital painting / ux / reklamki / korekcja fotek.

a w pytonie co można zrobić? Aplikacje na komórki/PC?

Frankfurterium   10 #15 29.09.2016 08:52

@SmallBoobsLover: Python to język ogólnego przeznaczenia, więc oprogramować można w nim w zasadzie wszystko.

  #16 29.09.2016 08:52

Ma wiele wad, ale jak się je już przetrawi, to jest lepszy od takiego PHPa.

SmallBoobsLover   7 #17 29.09.2016 09:00

@Frankfurterium: no ale podaj przykłady jak możesz :)

grocalt   5 #18 29.09.2016 09:02

Język w którym wcięcia decydują o blokach kodu? Nie, dziękuję. Postoję... Czasami muszę coś w nim podłubać i krew mnie zalewa nad kontrolowaniem spacji/tabulatorów itp.

Autor edytował komentarz w dniu: 29.09.2016 09:03
aquarius779   2 #19 29.09.2016 09:04

@SmallBoobsLover:
W pythonie można napisano na przykład takie programy jak Inkscape, MyPaint, część rozszerzeń do XFCE, Mate, Gnoma jest napsiana w tym języku programowania. Istnieje także frameworki Django i Zope służące do tworzenia interaktywnych stron internetowych i aplikacji webowych. Python jest językiem interpretowanym więc możesz pisać w nim aplikacje na wszystkie systemy w których można zainstalować interpreter Pythona. Istnieją implementacje Pythona dla urządzeń mobilnych takie jak naprzykład: Kivy, sl4a, QPython

Autor edytował komentarz w dniu: 29.09.2016 09:07
a...   1 #20 29.09.2016 09:23

Programowanie programowaniem, Python Pythonem, ale ja już umiejąc coś niecoś nie potrafię sobie nawet stażu zorganizować ;/ Więc chyba tak różowo jak wokół słychać wcale nie jest.

  #21 29.09.2016 09:26

@grocalt: po prostu masz inną wizję programowania i przyzwyczajenia; wcięcia wymuszają by kod był dobrze podzielony na metody, inaczej to po prostu nie będzie wyglądać

  #22 29.09.2016 09:27

@SmallBoobsLover: przykład tego co już zostało w Py zrobione? Youtube? Google (frontend, nie backend)?

raanst   7 #23 29.09.2016 10:02

Ja Pythona uczę się z tej pozycji:

http://helion.pl/ksiazki/python-dla-kazdego-podstawy-programowania-wydanie-iii-m...

Jest to mój pierwszy język programowania, a mam już 26 lat. W tej pozycji autor podaje wszystko wręcz łopatologicznie i najprościej jak się da. Nieco utknąłem w jednym rozdziale, ale muszę znaleźć czas by pchnąć to dalej ;)

  #24 29.09.2016 10:03

@KoczurekK: Po co w Pythonie coś optymalizować?
On jest wystarczająco wydajny. Jak komuś to nie pasuje to jest C++ i Go!.

  #25 29.09.2016 10:08

@SmallBoobsLover: W Pythonie obecnie dużo się pisze serwisów WWW, dzięki frameorkowi Django i Flask.
W aplikacjach na desktop w Pythonie, zwykle robi się tak, że piszą rdzeń w C++ i obudowują go skryptami w Pythonie. Tak jest w Blenderze i grze World of Tanks.

soon   2 #26 29.09.2016 10:09

Bardzo fajnie, że rynek kursów interaktywnych ciągle się rozwija i wdrażane są coraz to nowsze i ciekawsze projekty, które są w stanie zaangażować użytkownika. Niestety należę do tych osób, dla których nauka z książki jest zbyt mało atrakcyjna, przez co szybko się zniechęcam. Kursy interaktywne poprzez swoją przystępną formę ułatwiają wiele spraw (brak konieczności przepisywania przykładów, odnośniki do rozwinięcia funkcji, gotowe środowisko testowe) oraz wzbudzają w uczniu zainteresowanie.

  #27 29.09.2016 10:15

@d4kw0x: np. dawny Pardus Linux (dzisiaj PiSi) ;p

  #28 29.09.2016 11:16

Ja tam mam uraz do wcięć. Za moich czasow tak sie pisało w fortranie. Jak zrobia cos takiego jak swift ze bedzie mozna pisac normalny kod jak c java czy php do kompilatora pythona to moze sproboje

Frankfurterium   10 #29 29.09.2016 11:20

@a...: Znam osoby z naprawdę elementarną wiedzą na temat Pythona, które dostały umowę o pracę jako junior dev "na przyuczenie". Na razie klepią głównie skrypty konfiguracyjne i testy funkcjonalne, ale jednak się da.

  #30 29.09.2016 11:20

@aquarius779: rotfl... inkscape w pythonie? nope - tylko rozszerzenia. Z aplikacji których używam to tylko Anki SRS jest popełnione w pythonie i... działa ślamazarnie :[

jajecpl   10 #31 29.09.2016 11:53

@a...: Prowadzimy bardzo intensywną rekrutację do naszego nowego projektu dla klienta z branży telekomunikacyjnej (dziedzina LTE/5G). Zaletą pracy w naszym projekcie jest możliwość zmierzenia się z programowaniem w języku C w systemach RTOS z uwzględnieniem takich obszarów jak wielowątkowość, procesory sygnałowe (obróbka strumieni audio-wideo) oraz rzeczywisty wpływ na wydajność, niezawodność i wielozadaniowość systemów. Można się pokusić o stwierdzenie, że jest to swoisty powrót do korzeni dający jednocześnie możliwość budowania unikalnych kompetencji przy technologii LTE/5G jeszcze przed jej oficjalnym wdrożeniem w 2020 roku.

Poszukujemy developerów, testerów, analityków ze znajomością języka C, pythona oraz chęcią przyswojenia wiedzy w zakresie nowoczesnych technologii.

Jeżeli jest Pan zainteresowany rozmową, proszę o kontakt ze mną.

Oferta jest na poważnie, dobre zarobki...
Kontakt przez XMPP:

jajecpl@dobreprogramy.im

Autor edytował komentarz w dniu: 29.09.2016 19:47
  #32 29.09.2016 12:21

@DjLeo: No ja myślałem nauczyć się Pythona 3, Git, Django lub Pyramid, Tornado, Flask? I do tego baza PostgreSQL. A tu pojawiło się Node.js jeden język JavaScript do wszystkiego i mam dylemat czy nie pójść w to z MongoDB i Angular ES6 lub TrueCrypt.

raanst   7 #33 29.09.2016 12:38

@Frankfurterium: bardzo chętnie bym się zapoznał z taką ofertą pracy, masz jakieś namiary ;) ?

miclis   5 #34 29.09.2016 12:52

Jakieś niecałe 2 lata temu zacząłem uczyć się Pythona wykorzystując ten kurs z codeacademy. Po około miesiącu przyszła sesja i musiałem zostawić Pythona, by zająć się zaliczeniami, a potem jakoś do tego nie wróciłem. O ile sama nauka programowania była przyjemna, nie bardzo potrafiłem znaleźć codziennego zastosowania dla umiejętności programowania w tym języku.

kop524   5 #35 29.09.2016 13:26

Ja do Python i innych polecam interaktywny kurs po angielsku: https://www.sololearn.com/

Na prawdę fajny do nauki podstaw Python, C/C++, Web Dev itp. :)

  #36 29.09.2016 13:58

Gdy dawno temu (około 1995) stałem się posiadaczem sprzętu typu IBM XT jedyny sensowny program jaki miałem (na dysku 20MB) to Turbo Pascal i Cywilizacja. To było wspaniałe gdy można było przepisać program z gazety (np. Bajtek) i go przerobić aby działał na moim sprzęcie (EGA, monitor max 640x200) czysta bezsensowna radość patrzenia jak rysują się krzywe Lissajou. Kilka lat później w świecie Java już nie było tak fajnie, trzeba było planować co program ma robić i jak. Ale na szczęście to była tylko zabawa, takie bezsensowne spędzanie czasu przed komputerem (bo nie było Internetu w sensownej cenie).

KoczurekK   10 #37 29.09.2016 14:18

@Anonim (niezalogowany): #5
@Roman syn Ryżu (niezalogowany) #24

Jak się umie używać Pythona to wydajnościowo praktycznie nie odstaje od D/C/C++. Zresztą nie zawsze można optymalizować zmianą języka, np. mnie jakoś nie ciągnie do pisania backendu strony w czymś mocno przypominającym C/++.

@__Tux__ Że ktoś mający styczność z programowaniem tak uzasadnił lepszość języka? Dżizas, nawet programiści schodzą na psy. :(

mikolaj_s   14 #38 29.09.2016 14:26

Wpis na czasie, bo za rok Python na maturze, więc warto nauczyć się go nauczycielom tym co do tej pory używali Pascala ;)

__Tux__   13 #39 29.09.2016 14:49

@KoczurekK: Mimo mojej skłonności do znęcania się nad ludźmi, odpuściłem mu. I dobrze, bo potem miałem radochę jak szef kazał mu pisać w C++.

  #40 29.09.2016 14:50

@KoczurekK: Backend strony ma zwykle wąskie gardło w postaci bazy danych.
Więc nic ci nie da zmiana języka. Prędzej generowanie statyczne i cache.

  #41 29.09.2016 14:52

@__Tux__: Do tego Python nie jest kompletny,dopiero się rozwija.To nie jest ugruntowany C/C++.Z wersji na wersję może się zmienić działanie niektórych funkcji.

pocolog   12 #42 29.09.2016 14:53

@mikolaj_s: Jeśli Oni tak zdobędą swoje kwalifikacje to będzie niezły ubaw. Jak za czasów mojej szkoły kiedy naprędce przekwalifikowywali nauczycieli ZPT do Informatyki i lekcje wyglądały tak, że nauczyciel z zakreślonego znacznikiem tekstu w książce dyktował nam komendy DOS do zeszytu :D

  #43 29.09.2016 15:15

Python to przyszłość, ale nie opłaca się uczyć Py 2.x, tylko od wersji 3, i trzeba pamiętać o możliwie częstym używaniu Type Hinting. Przy dużych projektach każdą klasę trzymać w osobnym pliku (czekam na hejterów :D ). Programuję w tym języku już sporo czasu, i w życiu nie wrócę do PHPa.

mikolaj_s   14 #44 29.09.2016 15:54

@pocolog: Nie marudź :) Ja się tak wszystkiego sam uczę, to nie kwestia sposobu tylko stopnia opanowania języka. (Powiedz jak inaczej mam się nauczyć np. Scali?) Myślę, że gdy nauczyciel sam z własnej woli będzie chciał się nauczyć Pythona to się nauczy znacznie lepiej niż gdyby wysłali go na kurs na siłę bo nie ma dla niego godzin.

nintyfan   11 #45 29.09.2016 16:18

@KoczurekK: Można korzystać z typów C, jak z tablic z elementami określonego typu, itd,

  #46 29.09.2016 17:54

Do Start upów jak najbardziej Python czy Ruby ewentualnie trochę szybsze Node.js do jakiegoś czatu audio video. Zabierają pomalutku troszkę torcika PHP. A do korporacji i pracy jako szczur korporacyjny to przeważnie teraz Scala, nowa moda zamiast Java. Oczywiście wymagane jest trio do tego czyli HTML5 , CSS3 , ES6 i jakiś język SQL do baz danych.

cheshireCat   5 #47 29.09.2016 18:17

@__Tux__: " jeden z nich stwierdził, że Java jest lepsza od C++, bo jest w niej dużo rzeczy, np. obsługa sieci."

Byli i tacy co twierdzili że jest szybsza:) Ja w żadnym wypadku nie mam zamiaru się nabijać ale pewnych rzeczy nie da się przeskoczyć. Java jako język można powiedzieć że jest moim głównym.

cheshireCat   5 #48 29.09.2016 18:19

@.wewewe (niezalogowany): Deluge - klient torrenta jest chyba w całości w pythonie.

cheshireCat   5 #49 29.09.2016 18:23

@KoczurekK: Słusznie powiedziałeś, mają styczność. Z nazwaniem ich programistami to już przesadziłeś od praktykanta do programisty (dobrego) daleka droga i jeszcze wiele poglądów zweryfikują;) Ja np kiedyś (jeszcze pierwszym roku studiów) zachwycałem się c# a teraz omijam szerokim łukiem;)

  #50 29.09.2016 19:26

@SmallBoobsLover: Język uniwersalny oznacza, że możesz w nim napisać co Ci się podoba. Takiego Photoshopa też by można w nim napisać. ;)

Można, to nie znaczy, że ma to sens :D

  #51 29.09.2016 19:39

Niestety zaznajomiłem się z programowaniem poprzez BASIC w czasach królowania Atari i Commodore, więc nabyłem tik oceniania wszystkiego pod kątem wydajności i optymalizacji. Na dłużej dłubałem w asembler 6502, Forth, AMOS, Pascal i wreszcie docelowo C (C++ jakoś mniej). W dialektach typu JavaScript, czy Python (czytaj: interpretowany, wieloparadygmatowy, z dynamicznym typowaniem i z tym cholernym garbage collection) dosyć łatwo i intuicyjnie tworzy się kod, ale im dalej w las - tym gorzej. Rozrzutność w zarządzaniu zasobów i ogólna słaba wydajność, czy trudność w samym debugowaniu bardziej zaawansowanego kodu, jednak zniechęca do ich korzystania.

__Tux__   13 #52 29.09.2016 20:12

@cheshireCat: Każdy język jest stworzony do konkretnych rzeczy. Ludzie nie raz wpychają języki tam, gdzie się nie powinno.

kwpolska   6 #53 29.09.2016 20:41

Inne dobre źródła: oficjalny tutorial (na stronie python.org), Automate the Boring Stuff with Python, Think Python.

  #54 30.09.2016 00:54

Mi z nowych języków podobają się Rust i Ceylon, pozostałe mogłyby już powoli zacząć odchodzić do lamusa

shadou102   4 #55 30.09.2016 10:15

Znając inny język w moim przypadku C++ bardzo trudne były początki w Pythonie ze względu na brak średników na końcu linii, wcięcia w tekście zamiast klamerek itp ale po przebrnięciu dostrzega się pewne zalety tego języka i w niektórych przypadkach można zrobić w nim bardzo dużo ciekawych rzeczy, w dość krótkim czasie. No i na koniec duża zaleta łączenie Pythona z innymi językami: C/C++, Java itp. To daje duże możliwości.

Autor edytował komentarz w dniu: 30.09.2016 10:18
  #56 30.09.2016 10:45

ale po co sie uczyc jakiegos dziwacznego i niechlujnego jezyka? nie lepiej zaczac od ruby? gdyby nie google to nikt by na pythona nie zwrocil uwagi.
ruby jest konsekwentny i elastyczny. Wszystko jest obiektem nawet liczby
w pythonie raz masz obiekt raz by obliczyc dlugos napisu uruchamiasz funkcje ;-)

  #57 30.09.2016 10:55

@DjLeo: To bardzo fajnie, ja też się uczę Pythona; artykuł może i jest wartościowy ale wolałbym aby instrukcje, kursy i książki do niego były w języku polskim, bo jak na razie to połowy nie rozumiem a drugą połowę się domyślam i takie to jest uczenie się. Pozdrawiam.

  #58 30.09.2016 11:33

@DjLeo: to przestan, ruby lepszy. zacznij od tego https://www.ruby-lang.org/pl/documentation/quickstart/

eskimosek   6 #59 30.09.2016 14:57

@raanst: Uczenie sie programowania z ksiazek to jakby uczyc sie jezdzic rowerem ogladajac tour de france.Ksiazki sa bardziej dla zaawansowanych,lepiej kursy na poczatek jak ten http://miroslawzelent.pl/

Autor edytował komentarz w dniu: 30.09.2016 15:03
  #60 30.09.2016 16:13

@Anonim (niezalogowany): Ceylon ma wsparcie RedHata, a Rust to taki nowszy kompilowany C++ oba fajne.

  #61 30.09.2016 16:17

@Anonim (niezalogowany): A dlaczego Python a nie Ruby czy Node.js, Elixir. Sam Python nie zastąpi PHP 7, tu ważny jest framework jak Django, Pyramid czy RoR. Nawet twórca Pythona twierdzi że wersja 4 nigdy nie powstanie.

  #62 30.09.2016 20:11

@a...: bo źle szukasz może, pythonowcow poszukują na wage złota

Cztery   3 #63 30.09.2016 23:08

Właśnie mój młodszy brat poszedł do gimnazjum. Kusi mnie zapoznać go właśnie z pythonem. Miałby się czym zająć na kółku informatycznym. Polecacie może jakiś polski tutorial, ewentualnie książkę dla takiego młodzieńca, żeby go też nie zniechęcić?

hasnamus   1 #64 02.10.2016 11:54

Cztery - python dla dzieci

http://ksiegarnia.pwn.pl/Python-dla-dzieci,114592565,p.html

sam się za to zabieram :)

a...   1 #65 03.10.2016 08:00

@cxvcxvx (niezalogowany):Pewnie źle. Chociaż z drugiej strony zapewne niemniejsze znaczenie ma fakt, że pisząc o Pythonie, mam na myśli Django, a to tylko webowy framework. Samego Pythona znam tyle o ile, czyli raczej podstawy.

Autor edytował komentarz w dniu: 03.10.2016 08:02
Adek92   9 #66 06.10.2016 20:50

Ja osobiście nie polecałbym tak bardzo pythona na początek przygody z programowaniem. No, chyba że ktoś jest już przekonany, że to jest właśnie ten język, z którym chce pracować wiele lat. Jeśli ktoś ogarnie jakiś język zbliżony do C to nie sądzę, by miał problemy z większością języków programowania. Natomiast znam przypadek znajomego ze studiów, który zaczął od pythona na jakimś tam kursie i później żałował, bo przejście do innych języków sprawiało mu bardzo duże problemy, najprostsze rzeczy związane z programowaniem np. w C były dla niego kompletnie niezrozumiałe. Python ma ten plus, że można się go nauczyć stosunkowo łatwo, ale nie daje moim zdaniem takich podstaw jak C/C++.

  #67 27.10.2016 22:19

Nie wiem czy słyszeliście o CodeQuack - to jest pierwsza polska szkoła programowania online, jest tam między innymi kurs Pythona https://codequack.com/pl/kursy/python-podstawy-programowania/lekcje