background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

1

Wstęp do języka

Wstęp do języka

Python

Python

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

2

Plan prezentacji

Plan prezentacji

Kilka słów o autorze języka Python

Kilka słów o autorze języka Python

Cele i założenia przyświecające Pythonowi

Cele i założenia przyświecające Pythonowi

Kto wykorzystuje dzisiaj Pythona

Kto wykorzystuje dzisiaj Pythona

Porównanie z innymi językami

Porównanie z innymi językami

Porównanie z PHP

Porównanie z PHP

Porównanie z Ruby

Porównanie z Ruby

Koniec

Koniec

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

3

Guido van Rossum

Guido van Rossum

Urodzony w Holandii

Urodzony w Holandii

Stopień uniwersytecki   Amsterdam 1982 r.

Stopień uniwersytecki   Amsterdam 1982 r.

National Institute of Standards and Technology

National Institute of Standards and Technology

Corporation for National Research Initiatives

Corporation for National Research Initiatives

Rozwijał język ABC oparty na Simula

Rozwijał język ABC oparty na Simula

Python   1989 r. jako następca ABC

Python   1989 r. jako następca ABC

Fan Latającego Cyrku Monty Pythona

Fan Latającego Cyrku Monty Pythona

Obecnie   zatrudniony przez Google

Obecnie   zatrudniony przez Google

„Ponad  6  lat  temu,  w grudniu  1989,  szukałem  hobbystycznego projektu programistycznego,  który  zająłby  mnie  w tygodniu  przed 
świętami. Moje biuro miało być zamknięte, ale miałem domowy komputer. Zdecydowałem się napisać interpreter dla nowego jezyka 
skryptowego,  nad  którym  wtedy  myślałem:  pochodną  ABC,  która  przemawiałaby  do  hakerów  Unixa  i  C.  Jako  roboczy  tytuł 
wybrałem  Python,  będąc  wielkim  fanem  Latającego  Cyrku  Monty  Pythona.  (Wprowadzenie  do  Programming  Python,  Mark  Lutz, 
wyd. O'Reilly)”„

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

4

Guido   Cele języka Python

Guido   Cele języka Python

Łatwy i intuicyjny język, ale jednocześnie równie potężny jak 

Łatwy i intuicyjny język, ale jednocześnie równie potężny jak 

jego konkurenci

jego konkurenci

Oparty na zasadzie open source, aby każdy mógł wnieść 

Oparty na zasadzie open source, aby każdy mógł wnieść 

wkład do jego rozwoju

wkład do jego rozwoju

Zrozumiały kod w prostym angielskim

Zrozumiały kod w prostym angielskim

Przydatność do rozmaitych codziennych celów, owocująca 

Przydatność do rozmaitych codziennych celów, owocująca 

krótkim czasem programowania 

krótkim czasem programowania 

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

5

Kto używa języka Python

Kto używa języka Python

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

6

Kto używa języka Python

Kto używa języka Python

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

7

Kto używa języka Python

Kto używa języka Python

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

8

Kto używa języka Python

Kto używa języka Python

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

9

Python vs World

Python vs World

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

10

Python vs PHP

Python vs PHP

Dokumentacja na poziomie dobrym

Dokumentacja na poziomie dobrym

Bardzo nowoczesny

Bardzo nowoczesny

Guido jako BDFL

Guido jako BDFL

Duża społeczność

Duża społeczność

Zadowalająca szybkość działania

Zadowalająca szybkość działania

Niska dostępność na serwerach

Niska dostępność na serwerach

Dobre narzędzia dla developerów

Dobre narzędzia dla developerów

Brak bardzo dobrego edytora

Brak bardzo dobrego edytora

Przeciętna popularność

Przeciętna popularność

Brak analogów składni C++

Brak analogów składni C++

Ukierunkowanie na czytelność kodu

Ukierunkowanie na czytelność kodu

Nowoczesne narzędzia i biblioteki

Nowoczesne narzędzia i biblioteki

Trudny w konfiguracji środowiska WEB

Trudny w konfiguracji środowiska WEB

Bezpieczny

Bezpieczny

Python to dla niektórych Religia

Python to dla niektórych Religia

Nowoczesna składnia

Nowoczesna składnia

Fantastyczna dokumentacja

Fantastyczna dokumentacja

Przestarzały

Przestarzały

Skłóceni Developerzy

Skłóceni Developerzy

Kolosalna ilość informacji

Kolosalna ilość informacji

Bardzo wolny

Bardzo wolny

Dostępny na każdym hostingu

Dostępny na każdym hostingu

Słabe narzędzia dla developerów

Słabe narzędzia dla developerów

Fantastyczne środowiska IDE

Fantastyczne środowiska IDE

Ogromna popularność

Ogromna popularność

Bazowanie na składni C++

Bazowanie na składni C++

Wymaga samodyscyplina programisty

Wymaga samodyscyplina programisty

Budowanie na przestarzałym kodzie

Budowanie na przestarzałym kodzie

Dostępny ad-hoc

Dostępny ad-hoc

Sztuczne zabezpieczenia języka

Sztuczne zabezpieczenia języka

PHP to język programowania

PHP to język programowania

Zahamowany rozwój

Zahamowany rozwój

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

11

Python vs Ruby

Python vs Ruby

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

12

Python vs Ruby

Python vs Ruby

Dokumentacja na poziomie dobrym

Dokumentacja na poziomie dobrym

Bardzo nowoczesny

Bardzo nowoczesny

Guido jako BDFL

Guido jako BDFL

Duża społeczność

Duża społeczność

Zadowalająca szybkość działania

Zadowalająca szybkość działania

Bardzo niska dostępności na serwerach

Bardzo niska dostępności na serwerach

Dobre narzędzia dla developerów

Dobre narzędzia dla developerów

Brak bardzo dobrego edytora

Brak bardzo dobrego edytora

Przeciętna popularność

Przeciętna popularność

Brak analogów składni C++

Brak analogów składni C++

Ukierunkowanie na czytelność kodu

Ukierunkowanie na czytelność kodu

Nowoczesne narzędzia i biblioteki

Nowoczesne narzędzia i biblioteki

Trudny w konfiguracji środowiska WEB

Trudny w konfiguracji środowiska WEB

Bezpieczny

Bezpieczny

Python to dla niektórych Religia

Python to dla niektórych Religia

Nowoczesna składnia

Nowoczesna składnia

Dokumentacja na poziomie dobrym

Dokumentacja na poziomie dobrym

Bardzo nowoczesny

Bardzo nowoczesny

Matz jako czczone Guru społeczności

Matz jako czczone Guru społeczności

Duża społeczność

Duża społeczność

Troszkę wolniejszy (zależy kto i co testuje)

Troszkę wolniejszy (zależy kto i co testuje)

Niska dostępność na serwerach

Niska dostępność na serwerach

Dobre narzędzia dla developerów

Dobre narzędzia dla developerów

Obecne wsparcie w NetBeans

Obecne wsparcie w NetBeans

Duża popularność

Duża popularność

Brak analogii do składni C++

Brak analogii do składni C++

Ukierunkowanie na wygodę programisty

Ukierunkowanie na wygodę programisty

Nowoczesne narzędzia i biblioteki

Nowoczesne narzędzia i biblioteki

Trudny w konfiguracji środowiska WEB

Trudny w konfiguracji środowiska WEB

Bezpieczny

Bezpieczny

Ruby to dla niektórych Religia

Ruby to dla niektórych Religia

Nowoczesna składnia

Nowoczesna składnia

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

13

Python vs Ruby - ciąg dalszy

Python vs Ruby - ciąg dalszy

Wywodzi się z języka ABC

Wywodzi się z języka ABC

Obiektowy

Obiektowy

Prosta składnia ułatwia start początkującym

Prosta składnia ułatwia start początkującym

Zapożycza z wielu języków: LISP, PERL, 

Zapożycza z wielu języków: LISP, PERL, 

Python   napisany z powodu braku języka 

Python   napisany z powodu braku języka 

programowania pasującego twórcy (Python 

programowania pasującego twórcy (Python 

już istniał)

już istniał)

Super obiektowy

Super obiektowy

Bardzo rozbudowana składnia powoduje iż 

Bardzo rozbudowana składnia powoduje iż 

ciężko przebrnąć przez początki

ciężko przebrnąć przez początki

background image

Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana 

14

Polish Python Coders Group

Polish Python Coders Group

http://www.python.org.pl/

http://www.python.org.pl/

http://forum.python.org.pl/

http://forum.python.org.pl/

irc.freenode.net:6667#python

irc.freenode.net:6667#python