Python
Python to interpretowany język programowania z silnym i dynamicznym systemem typów i automatycznym zarządzaniem pamięcią. Dzięki bogatej bibliotece standardowej, łatwości pisania i przejrzystej składni oprogramowanie w nim tworzone powstaje bardzo szybko. Stąd też promuje się go jako język do prototypowania aplikacji. Ogólny zalecany proces tworzenia oprogramowania w Pythonie wygląda następująco:
- napisz program
- przetestuj go, sprawdzając czy wydajność jest wystarczająca
- jeżeli tak to koniec
- jeżeli nie rozważ zastosowanie kompilatora JIT (PyPy)
- sprofiluj kod i znajdź wąskie gardła (moduł profile w bibliotece standardowej)
- zmodyfikuj kod aż osiągniesz żądaną wydajność lub przepisz wąskie gardła w C (lub użyj Cythona do zautomatyzowania tego)
W praktyce bardzo często okazuje się, że wydajność jaką osiągniemy już na początku jest wystarczająca, gdyż wąskie gardła już wcześniej zostały przeniesione do kodu w C. Tak jest np. z programowaniem gier przy wykorzystaniu istniejących bibliotek.
Zastosowania
Python jest używany w bardzo różnych dziedzinach. PyPI to repozytorium niektórych projektów wykorzystujących Pythona. Repozytorium można przeglądać m. in. pod kątem dziedzin zastosowań. Oto niektóre z zastosowań:
- bazy danych
- bezpieczeństwo
- dokumentacja
- druk
- edukacja
- gry
- graficzne interfejsy użytkownika
- internet
- inżynieria oprogramowania
- komunikacja
- multimedia
- oprogramowanie artystyczne
- obliczenia naukowe
- przetwarzanie tekstu
Kompilatory/Interpretery
CPython (bazowy, rekomendowany) - Jython - IronPython - MacPython - ActivePython
Biblioteka standardowa
Kietek - Wbudowane typy - Operacje na łańcuchach - Typy danych - Obliczenia numeryczne i matematyczne - Obsługa danych internetowych - Przetwarzanie dokumentów w językach znaczników - Formaty plików - Usługi kryptograficzne - Dostęp do plików i katalogów - Kompresja danych i archiwizacja - Dane trwałe - Usługi systemu operacyjnego - Opcjonalne usługi systemu operacyjnego - Komunikacja międzyprocesowa i sieciowa - Protokoły internetowe - Usługi multimedialne - Internacjonalizacja - Narzędzia wspomagające tworzenie oprogramowania - Debugger - Profilery - Usługi czasu wykonania - Usługi systemu unix - Usługi systemu MS Windows - Usługi systemu SunOS - Usługi systemu SGI IRIX - Inne
Przykłady
W tej części znajdują się przykłady obrazujące prostotę pisania aplikacji w Pythonie. W miarę możliwości znajdą się tutaj pojedyncze przykłady z różnych dziedzin.
Programowanie interfejsów
Interfejsy graficzne: pyGTK - pyQt - wxPython - pyKDE - pyGNOME - pyFLTK - FxPy - Tkinter
Interfejsy tekstowe: curses
Programowanie stron internetowych
Django - Flask - Pyramid - Bottle - Zope2 - Web2Py - Web.py
Programowanie gier
Biblioteka PyGame - pySDL2 - Panda3D
Programowanie aplikacja mobilnych i multiplatformowych
Analiza tekstu
Obliczenia naukowe
NumPy - SciPy
Symulacje: SimPy