Python z mojej perspektywy

Gdybym na rozmowie kwalifikacyjnej otrzymał pytanie dotyczące wad i zalet Pythona, nie miałbym jednej klarownej odpowiedzi. Dlaczego? Ponieważ Python jak wybuchowa mieszanka, z jednej strony zapala entuzjazm do pracy, a z drugiej strony potrafi go ostudzić, a nawet zgasić.

Najmocniejszym punktem Pythona są niewątpliwie jego biblioteki i możliwości z nimi związane. To są niezliczone godziny pracy programistycznej, gotowe do użycia za darmo.

Python niczym klej, łączy efektywnie kody tych bibliotek, ponieważ nie narzuca konstrukcji i przez to daje programiście pole do większej swobody. To duży plus przy rozwiązywaniu zróżnicowanych problemów. Przeważnie, gdy język oferuje więcej swobody jest bardziej skomplikowany i złożony, natomiast Python jest świetnym dowodem na to, że nie zawsze tak być musi.

Przyjazna składnia Pythona pozwala na pisanie programów w krótkim czasie. To efekt kompromisów jakie zapadły podczas tworzenia języka, ale również bibliotek i frameworków, które kładą nacisk na użycie zgodne z intuicją.

Biorąc to wszystko pod uwagę, można śmiało stwierdzić, że Python jest językiem, który nie ogranicza, a oferuje szerokie możliwości. Nie bez przyczyny wiele firm wybiera ten język do zastosowań związanych z Machine Learning, Data Science, DevOps.

Python jak każdy inne narzędzie ma swoje limity. Na pewno nie jest to język pierwszego wyboru przy tworzeniu rozwiązań mobilnych, desktopowych czy też gier, ponieważ nie ma on wsparcia ze strony największych korporacji, które zajmują się rozwojem tych właśnie obszarów.

To nie znaczy jednak, że Python jest tu zupełnie na straconej pozycji. Mamy dostępne alternatywy w postaci frameworku Kivy dla platformy mobilnej i PySide dla aplikacji desktopowych. Więc dla chcącego nic trudnego :)

PySide jest portem na framework Qt
Interfejs jaki można wykonać z użyciem Kivy

Z mojej strony muszę powiedzieć, że Python niejednokrotnie mnie zaskoczył. Było tak na przykład podczas realizacji oprogramowania do prowadzenia zajęć online, gdzie uczniowie w tym samym czasie mieli uczestniczyć w sesji prowadzonej przez nauczyciela. Przeprowadziłem eksperymenty w różnych językach i ku mojemu zdziwieniu Python świetnie wpasował się w ten obszar.