Python: Różnice pomiędzy wersjami
UWAGA! Zastąpienie treści hasła bardzo krótkim tekstem: „{{Język programowania infobox | nazwa = Python | logo = Python logo and wordmark.svg | data = 20 lutego 1991<ref>{{cytuj | autor = Guido Van Rossum | tytuł = The History of Python: A Brief Timeline of Python | data = 2009-01-20 | data dostępu = 2025-08-16 | url = https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html}}</ref>…” Znaczniki: Zastąpiono VisualEditor |
Nie podano opisu zmian |
||
| Linia 57: | Linia 57: | ||
* ''Nie da się'' - [[Krzysztof Zwierzyński]] | * ''Nie da się'' - [[Krzysztof Zwierzyński]] | ||
* ''Da się'' - nikt | * ''Da się'' - nikt | ||
Wersja z 22:26, 11 gru 2025
Logo języka | |
| Pojawienie się | |
|---|---|
| Paradygmat |
brak |
| Typowanie |
dynamiczne (chujowe) |
| Implementacja | |
| Pochodne |
f '(x), f ''(x) |
| Twórca | |
| Licencja |
007 (License to kill) |
Python – (pseudo)język programowania wysokiego poziomu klasyfikowany jako język ogólnego przeznaczenia; praktycznie służy głównie do szybkiego klejenia skryptów, które jakoś działają na mojej maszynie. Posiada rozbudowany pakiet bibliotek standardowych, z czego większość napisana jest w prawdziwych językach programowania. Nie zmienia to jednak faktu, że w tym języku nic się nie da zrobić.
Możliwości
Python jest znany z tego, że niemożliwe w nim jest m.in:
- manipulowanie słowem sterującym FPU,
- budowa programu wykorzystującego arytmetykę przedziałową,
- rozwiązanie problemów klasy NP algorytmami metaheurystycznymi.
Problemy
Wcięcia jako struktura sterująca
Python wyróżnia się tym, że:
- nie posiada jawnych znaczników bloków (np.
{}), - strukturę programu wyznaczają wcięcia i spacje.
Podejście to umożliwia ono generowanie błędów trudnych do znalezienia, polegających na tym, że jeden blok jest wcięty trzema spacjami, a inny czterema.
GIL
Centralnym elementem implementacji referencyjnej (CPython) jest Global Interpreter Lock (GIL) – mechanizm, który:
- uniemożliwia równoczesne wykonywanie bajtkodu w wielu wątkach,
- zapewnia, że każdy problem związany z równoległością zostanie automatycznie zastąpiony problemem z wydajnością.
W praktyce oznacza to, że:
- w Pythonie można tworzyć wiele wątków,
- ale tylko jeden może naprawdę wykonywać kod Pythona w danym momencie.
Zastosowania
Jedynymi znanymi zastosowaniami języka Python od 25 lat jego istnienia są:
- Szybkie skrypty i „klejenie” systemów – Python pełni rolę spoiwa pomiędzy bardziej poważnymi komponentami.
- Data science, uczenie maszynowe i AI – do Pythona podpinane są wysoko wydajne biblioteki wykonane np. w Delphi, dzięki czemu obliczenia są szybkie, bo nie są wykonywane w Pythonie,
- Aplikacje webowe – frameworki typu Django czy Flask pozwalają napisać serwis, który:
- działa wystarczająco dobrze, dopóki ruch nie przekroczy pewnego, niewygodnego progu (np. dwóch użytkowników jednocześnie),
- a potem można go przepisać na node.js (generując zyski dla teamu deweloperów).
Opinie eksperckie
- Nie da się - Andrzej Marciniak
- Nie da się - Krzysztof Zwierzyński
- Da się - nikt
- ↑ Guido Van Rossum, The History of Python: A Brief Timeline of Python [online], 20 stycznia 2009 [dostęp 2025-08-16].