Wprowadzenie

Python jest jednym z tych rzadkich języków, które można uważać jednocześnie za proste i wszechstronne. Nie mam wątpliwości, że będziesz zaskoczony, kiedy zobaczysz, jak łatwo jest skupić się na rozwiązaniu samego problemu, nie przejmując się składnią i ograniczeniami języka, w którym piszesz.

Oficjalne wprowadzenie do Pythona brzmi:

Python jest łatwym do nauki, wszechstronnym językiem programowania. Ma efektywne wysokopoziomowe struktury danych i proste, lecz efektywne podejście do programowania zorientowanego obiektowo. Elegancka składnia Pythona i dynamiczne typowanie w połączeniu z jego interpretowaną naturą, czynią z niego idealny język dla skryptów i szybkiego rozwoju aplikacji na wielu obszarach i na większości platform.

Większość z tych cech omówimy szczegółowo w następnej sekcji.

Skąd się wzięła nazwa języka

Guido van Rossum, twórca języka Python, nazwał język na cześć emitowanego w BBC „Latającego Cyrku Monty Pythona”. Osobiście nie przepada jednak za wężami, które zdobywają pokarm, oplatając się wokół zwierząt i miażdżąc je.

Jaki jest Python?

Prosty

Python jest prostym i minimalistycznym językiem. Czytanie dobrego programu Pythona przypomina czytanie w języku angielskim, oczywiście bardzo rygorystycznym angielskim. Ta pseudokodowa natura Pythona jest jednym z jego największych atutów. Właśnie ona pozwali Ci skoncentrować się na rozwiązaniu problemu, a nie na języku samym w sobie.

Łatwy w nauce

Jak zobaczysz, bardzo łatwo jest rozpocząć pisanie w Pythonie. Jak wspomnieliśmy, ma on niespotykanie prostą składnię.

Darmowy i o otwartym kodzie

Python jest przykładem FLOSS (ang. Free/Libré and Open Source Software — Wolne i Otwarte Oprogramowanie). Mówiąc krótko, możesz swobodnie rozprowadzać kopie tego oprogramowania, czytać jego kod źródłowy i wprowadzać w nim zmiany oraz używać jego fragmentów w nowych, wolnych programach. FLOSS bazuje na idei społeczności, która dzieli się wiedzą. To jeden z powodów, dla których Python jest taki dobry — został stworzony i jest ciągle ulepszany przez społeczności, która po prostu chce mieć lepszego Pythona.

Wysokopoziomowy

Kiedy piszesz programy w Pythonie, nie musisz się przejmować niskopoziomowymi detalami, takimi jak przydzielanie pamięci, itd.

Przenośny

Ze względu na to, że ma otwarty kod źródłowy, Python został przeniesiony (tzn. tak zmieniony, że może działać) na wiele platform. Systemy i architektury, na których możesz używać Pythona, to: Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE, PocketPC, a nawet telefony Nokia Series 60!

Wszystkie Twoje programy w Pythonie będą działać na większości tych platform bez konieczności dokonywania jakichkolwiek zmian, o ile tylko postępujesz na tyle ostrożnie, by unikać wykorzystywania cech specyficznych dla konkretnej platformy/systemu.

Możesz nawet dzięki bibliotece Kivy tworzyć gry dla Twojego komputera, iPhona, iPada czy Androida.

Interpretowany

To wymaga bardziej szczegółowego wyjaśnienia.

Program pisany w języku kompilowanym, jak C lub C++, jest tłumaczony z postaci źródłowej do języka zrozumiałego dla Twojego komputera (do tzw. kodu binarnego, czyli zerojedynkowego) przy pomocy kompilatora z różnymi flagami i opcjami. Kiedy uruchamiasz program, tzw. linker/loader kopiuje program z twardego dysku do pamięci i uruchamia go.

Python należy do innej grupy języków i nie potrzebuje kompilacji do postaci binarnej. Uruchamiasz program bezpośrednio z kodu źródłowego. Wewnętrznie Python tłumaczy źródło na pośredni format, zwany bytecode, a następnie interpreter uruchamia ów bytecode. To sprawia, że Python jest prostszy w użyciu, bo nie musisz przejmować się kompilacją programu, upewniać się, że dobrze zainstalowałeś i zlinkowałeś odpowiednie biblioteki, itd. Dzięki temu programy w Pythonie są bardziej przenośne, bo możesz skopiować swój program na inną maszynę i będzie po prostu działał!

Zorientowany obiektowo

Python wspiera zarówno programowanie zorientowane procedurowo, jak i obiektowo.

W językach proceduralnych program jest oparty na procedurach i funkcjach, którą są niczym innym jak kawałkami funkcjonalności wielokrotnego użytku. W programowaniu zorientowanym obiektowo program jest oparty na obiektach, które łączą dane z funkcjonalnościami. Python jest wyposażony w potężne, choć proste mechanizmy programowania obiektowego, szczególnie w porównaniu do takich języków, jak C++ czy Java.

Rozszerzalny

Jeśli chcesz, aby szczególnie ważna część kodu działała bardzo szybko lub chcesz, aby część algorytmu nie była widoczna publicznie, możesz napisać tę część swojego programu w C lub C++ i użyć jej z poziomu Twojego programu w Pythonie.

Możliwy do wbudowania

Możesz wbudować Pythona w swój program C/C++, aby dać jego użytkownikom skryptowe możliwości.

Posiada rozległe biblioteki

Standardowa Biblioteka Pythona jest naprawdę ogromna. Pomoże Ci robić różne rzeczy związane z: wyrażeniami regularnymi, tworzeniem dokumentacji, testowaniem jednostek, wielowątkowością, bazami danych, przeglądarkami internetowymi, CGI, FTP, email, XML, XML–RPC, HTML, plikami WAV, kryptografią, GUI (ang. Graphical User Interface — graficznym interfejsem użytkownika), Tk i innymi rzeczami związanymi z systemem. Pamiętaj, że biblioteka standardowa jest obecna wszędzie tam, gdzie jest zainstalowany Python. Filozofię tę określa się mianem: baterie w pudełku.

Poza biblioteką standardową masz do dyspozycji ogromną liczbę wysokiej jakości bibliotek. Ich oficjalna lista znajduje się na Python Package Index.

Podsumowanie

Python jest rzeczywiście ekscytującym i potężnym językiem. Posiada odpowiednią kombinację wydajności oraz cech, które sprawiają, że pisanie programów w nim jest zarówno przyjemne i łatwe.

Python 3 a Python 2

Tą sekcję możesz zignorować jeśli nie jesteś zainteresowany różnicą pomiędzy Pythonem w wersji 2 a 3. Ale proszę bądź świadom, której używasz. Ta książka jest napisana dla Pythona w wersji 3.

Pamiętaj, że kiedy zrozumiesz i nauczysz się używać jednej wersji, możesz łatwo zrozumieć zmiany i używać innej. Najtrudniejszą częścią jest nauka programowania i zrozumienie podstaw samego jezyka. To jest cel tej książki i kiedy go osiągniesz, możesz z łatwością przełączać się pomiędzy wersjami w zależności od sytuacji.

Aby dowiedzieć się więcej o różnicach zajrzyj na:

Co mówią programiści?

Być może zechcesz przeczytać, co hakerzy i programiści mają do powiedzenia o Pythonie.

  • Eric S. Raymond jest autorem „The Cathedral and the Bazaar” („Katedry i bazaru”), słynnego eseju na temat otwartego oprogramowania i Linuksa. Mówi on, że Python stał się jego ulubionym językiem programowania. Artykuł ten był inspiracją dla moich pierwszych kontaktów z Pythonem.

  • Bruce Eckel jest autorem słynnych książek „Thinking in C++” („Myśleć w C++”) i „Thinking in Java” („Myśleć w Javie”). Mówi, że żaden język nie uczynił go tak produktywnym, jak Python. Twierdzi, że Python jest prawdopodobnie jedynym językiem, który skupia się na tym, by ułatwić pracę programiście. Przeczytaj cały wywiad, by poznać szczegóły.

  • Peter Norvig jest dobrze znanym hakerem i autorem Lispa, a obecnie Dyrektorem ds. Badań w Google. Mówi, że Python zawsze był integralną częścią Google. Możesz zweryfikować to, oglądając stronę Google Jobs, na której znajomość Pythona jest wymieniona jako jeden z wymogów dla przyszłych programistów Google. Również Guido van Rossum (twórca Pythona) dołączył do Google i może pracować nad kolejną wersją Pythona przez połowę swojego czasu pracy.

results matching ""

    No results matching ""