Dlaczego ludzie używają języka Python?

advertisement
Dlaczego ludzie używają języka Python?
Ponieważ w dzisiejszych czasach jest wiele
języków programowania, jest to zwykle pierwsze
pytanie początkujących. Biorąc pod uwagę, że
obecnie jest około 1 miliona użytkowników Pythona, naprawdę nie ma sposobu na odpowiedź
na to pytanie z całkowitą dokładnością. Wybór
narzędzi programistycznych czasami opiera się
na unikalnych ograniczeniach lub preferencjach
osobistych.
Najważniejsze czynniki wskazane przez użytkowników Pythona wydają się następujące:
Jakość oprogramowania
Dla wielu, język Python skupia się na czytelności, spójności i jakości oprogramowania,
w ogóle te właściwości odróżniają go od innych
narzędzi w świecie skryptów. Kod Pythona jest
przeznaczony do odczytu, a zatem do wielokrotnego użytku i łatwy w utrzymaniu, co czyni
go znacznie bardziej atrakcyjnym niż tradycyjne
języki skryptowe. Ujednolicenie kodu Pythona
ułatwia zrozumienie go, nawet, jeśli nie został
przez Ciebie napisany. Ponadto Python ma
głębokie wsparcie dla bardziej zaawansowanych mechanizmów ponownego wykorzystania
oprogramowania, takich jak oprogramowanie
obiektowe (OO – Object-Oriented) i programowanie funkcjonalne.
Efektywność programowania
Python zwiększa produktywność programowania wiele razy niż skompilowane lub wpisywane statycznie języki takie jak C, C++ i Java.
Kod Pythona jest zazwyczaj od jednej trzeciej
do jednej piątej wielkości równoważnej kodowi
C++ lub kodowi Java. Oznacza to, że jest mniej
do wpisywania, mniej do debugowania, a tym
samym mniej do utrzymania po wykonaniu.
Programy w języku Python są również uruchamiane natychmiast, bez długiego procesu kompilacji i łączenia kroków wymaganych przez inne
narzędzia, co dodatkowo zwiększa prędkość
i efektywność programowania.
Przenoszenie programów
Większość programów Python działa niezmiennie na wszystkich głównych platformach
komputerowych. Przenoszenie kodu Pythona
między Linuksem i Windowsem jest na ogół
tylko kwestią skopiowania kodu skryptu między
maszynami. Ponadto Python oferuje wiele opcji
do kodowania przenośnych graficznych interfejsów użytkownika, programów dostępu do baz
danych, systemów opartych na sieci WWW i nie
tylko. Nawet interfejsy systemu operacyjnego,
w tym uruchamianie programów i przetwarzanie
katalogów, są tak samo przenośne jak w Pythonie.
Wsparcie bibliotek
Python jest wyposażony w dużą liczbę gotowych i przenośnych funkcji, zwanych standardową biblioteką. Ta biblioteka obsługuje tablicę
zadań programowania na poziomie aplikacji,
od dopasowywania wzorca tekstu do skryptów
sieciowych. Ponadto Python można rozszerzyć
zarówno z bibliotekami domowymi, jak i szeroką
gamą oprogramowania do obsługi aplikacji innych firm. Domena firmy zewnętrznej Pythona
oferuje narzędzia do tworzenia stron WWW,
programowania numerycznego, dostępu do
portu szeregowego, tworzenia gier i wiele innych (zobacz na przyszłość, aby pobrać próbkę). Rozszerzenie NumPy zostało na przykład
opisane, jako wolne i mocniejsze niż system
programowania numerycznego Matlab.
Integracja składników
Skrypty Pythona mogą łatwo komunikować
się z innymi częściami aplikacji, korzystając
z różnych mechanizmów integracji. Takie integracje pozwalają językowi Python na używanie,
jako produktów narzędzi dostosowywania i rozszerzenia. Dzisiaj na potrzeby kodu Pythona
można przywoływać biblioteki C i C ++, mogą
być nazywane, jak w programach C i C ++ oraz
mogą integrować się z komponentami języków
Java i .NET. Ponadto są w stanie komunikować
się ze strukturami takimi jak COM i Silverlight,
SERWIS ELEKTRONIKI
1
Dlaczego ludzie używają języka Python?
mogą współpracować z urządzeniami przez
porty szeregowe i mogą współdziałać poprzez
sieci z interfejsami, takimi jak SOAP, XML-RPC
i CORBA. To nie jest narzędzie samodzielne.
Przyjemność
Łatwa obsługa i wbudowane zestawy narzędzi, jaki oferuje Python sprawiają, że programowanie jest bardziej przyjemnością niż przykrym
obowiązkiem. Chociaż może to powodować
niezauważalne korzyści, to jego wpływ na wydajność jest ważnym atutem.
Z tych czynników pierwsze dwa (jakość i wydajność) są prawdopodobnie najbardziej atrakcyjnymi korzyściami dla większości użytkowników Pythona więc zasługują na pełniejszy opis.
Jakość oprogramowania
Projektując, Python implementuje rozmyślnie
prostą i czytelną składnię oraz bardzo spójny
model programowania. Jak potwierdzają wymieniane doświadczenie podczas konferencji
dotyczącej języka Python, wynik jest taki, że
język Python wydaje się „pasować do intelektu”
– to znaczy, cechy języka oddziałują w sposób
spójny i ograniczony, co naturalnie wynika z niewielkiego zestawu sedna koncepcji.
Ułatwia to naukę, zrozumienie i zapamiętanie
języka. W praktyce programiści języka Python
nie muszą stale odwoływać się do podręcznika
języka podczas czytania lub pisania kodu. To
konsekwentnie zaprojektowany system, który
pozwala znaleźć wiele zaskakujących ujednoliconych kodów.
Według filozofii, Python przyjmuje podejście
nieco minimalistyczne. Oznacza to, że chociaż
zazwyczaj jest wiele sposobów realizacji zadania kodowania, zazwyczaj jest tylko jeden
oczywisty sposób, kilka mniej oczywistych alternatyw i mały zestaw spójnych interakcji w całym
języku. Ponadto Python nie podejmuje żadnych
arbitralnych decyzji. Gdy interakcje są niejedno-
2
znaczne, wyraźna interwencja jest preferowana
w stosunku do „magii”: W interpretacji Pythona,
precyzyjne jest lepszy niż domyślne, a proste
jest lepsze niż skomplikowane.
Poza tradycyjnymi ramami projektowymi,
Python zawiera takie narzędzia, jak moduły
i narzędzia OOP (Object-Oriented Programming), które w naturalny sposób zachęcają do
wielokrotnego używania kodu. Ponieważ Python
koncentruje się na jakości, takie samo podejście
mają oczywiście programiści Pythona.
Wydajność programowania
Podczas wielkiego boomu internetowego
w połowie lat dziewięćdziesiątych trudno było
znaleźć wystarczająco dużo programistów do
wdrażania projektów oprogramowania. Programiści zostali poproszeni o wdrożenie systemów
tak szybko, jak Internet ewoluował.
W późniejszych okresach zwolnień i recesji
gospodarczej warunki zmieniły się. Pracownicy zajmujący się programowaniem byli często
proszeni o wykonywanie tych samych zadań
z jeszcze mniejszą liczbą osób.
W obu tych scenariuszach program Python
udostępnia, jako narzędzie pozwalające programistom uzyskać więcej pracy przy mniejszym
wysiłku. Jest celowo zoptymalizowany pod kątem szybkości rozwoju – jego prosta składnia,
możliwość dynamicznego pisania, brak skompilowanych kroków i wbudowany zestaw narzędzi
pozwala programistom na opracowanie programów w ułamku czasu potrzebnym podczas korzystania z innych narzędzi. Efektem netto jest
to, że Python zazwyczaj zwiększa wydajność
programistyczną wielokrotnie przekraczając
poziomy obsługiwane przez tradycyjne języki.
To dobra wiadomość zarówno w czasie boomu,
jak i kryzysu, a wszędzie tam, gdzie przemysł
oprogramowania jest wiodący.
SERWIS ELEKTRONIKI
Download