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
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
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)”„
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
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
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
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
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
Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana
9
Python vs World
Python vs World
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
Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana
11
Python vs Ruby
Python vs Ruby
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
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
Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS – Informatyka Stosowana
14
Polish Python Coders Group
Polish Python Coders Group