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