• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python, wiadomo do czego, ale dlaczego?

Cloud VPS
0 głosów
1,020 wizyt
pytanie zadane 26 lutego 2018 w Python przez Secrus Nałogowiec (32,880 p.)
Hej. Bawię sie trochę z Pythonem i w wielu miejscach (także na tym forum) czytałem o uniwersalności Pythona, że do AI, że do Machine Learining, że do Backendu, że do BigData... To jestem w stanie zrozumieć, łopatką się łatwiej kopie niż grabkami. Pozostaje pytanie postawione w temacie. Dlaczego? Dlaczego Python jest tak uniwersalny i nadaje się do wielu rzeczy, do których nie nadają się (albo graniczą z masochizmem) inne języki?

1 odpowiedź

0 głosów
odpowiedź 27 lutego 2018 przez Benek Szeryf (93,190 p.)
edycja 27 lutego 2018 przez Benek

Moim zdaniem jest wiele czynników. Osobiście dla mnie najważniejszy jest fakt, że Python posiada bardzo dużo zaawansowanych bibliotek z wielu dziedzin informatyki i nauki. Dzięki temu nie muszę się zastanawiać, w jaki sposób napisać wybrane narzędzie, tylko przeczytam dokumentację i mogę rozwiązywać dane zagadnienie. Dobrym przykładem jest moduł numpy, który oferuje m.in. operacje macierzowe. Są one zaimplementowane z wykorzystaniem języka C (i biblioteki ATLAS), by przyspieszyć obliczenia. Wątpię, bym samodzielnie napisał tak zoptymalizowane narzędzie w C, zwłaszcza w krótkim czasie, gdy byłoby mi potrzebne na już. To jest główny powód tego, że nadaje się do wielu dziedzin, a jego popularność może wynikać z:

  • Python jest językiem interpretowanym, nie wymaga kompilacji. Dodatkowo jest językiem dynamicznie typowanym, co oznacza, że nie trzeba deklarować typu zmiennych. Oba te mechanizmy przypominają mi PHP z wcześniejszych wersji, gdzie można było w locie sobie pisać kawałek kodu i po odświeżeniu strony podejrzeć zmiany. Kojarzę, że obecne standardy PHP wymuszają listowanie typu przekazywanych argumentów. Wiele początkujących osób łapie zajawkę na programowanie dzięki PHP. Możliwe, że podobny mechanizm jest z Pythonem.
  • W przeciwieństwie do PHP Python posiada swój własny wiersz poleceń (Command Line Interface/ CLI), który umożliwia testowanie krótkich kawałków kodu. Wpisujemy kod, wciskamy Enter i otrzymujemy wynik. Ponadto istnieje nakładka na CLI - Ipython, która oferuje dużo większe możliwości, np. uzupełnianie kodu tabulatorem, przywracanie kodu złożonego z wielu linii, wbudowane magiczne komendy (można np. zbadać szybkość wykonywanego kodu).
  • Python posiada ciekawe wbudowane mechanizmy, np. List Comprehensions, generatory, dekoratory, docstrings oraz obsługuje kilka paradygmatów programowania.
  • Python jest dojrzałym językiem. Powstał w 1991 r., czyli ma 27 lat. Dzięki temu jest domyślnie instalowanych w dystrybucjach Linuxa. Nie trzeba się martwić o stawianie serwera, czy kompilowanie źródeł. Chyba że używa się Windowsa, no ale w przypadku tego OS, to tyczy się chyba wszystkich języków programowania.

Podsumowując Python nadaje się do wielu zadań, ponieważ ma ogromną ilość bibliotek. Szeroka liczba modułów wynika z różnorodnych, dobrze zdefiniowanych właściwości języka, które zachęcają do korzystania z tego języka.

komentarz 27 lutego 2018 przez Comandeer Guru (607,060 p.)

Kojarzę, że obecne standardy PHPwymuszają listowanie typu przekazywanych argumentów.

Nieprawda, jawne typowanie jest opcjonalne.

 W przeciwieństwie do PHP Python posiada swój własny wiersz poleceń (Command Line Interface/ CLI)

PHP również takowy posiada. 

Python jest dojrzałym językiem. Powstał w 1991 r., czyli ma 27 lat.

A JS powstał 4 lata później – rozumiem, że czyni go to dojrzałym językiem? ;)

Python nadaje się do wielu zadań, ponieważ ma ogromną ilość bibliotek. Szeroka liczba modułów wynika z różnorodnych, dobrze zdefiniowanych właściwości języka, które zachęcają do korzystania z tego języka.

A teraz zamiast Pythona podstaw JS ;) 

komentarz 27 lutego 2018 przez Benek Szeryf (93,190 p.)

Nieprawda, jawne typowanie jest opcjonalne.

Widziałem kilka razy deklarację @param. Ale zdaje się, że pomaga ona podczas generowania automatycznej dokumentacji.

PHP również takowy posiada. 

O, to przepraszam, mój błąd.

A teraz zamiast Pythona podstaw JS ;) 

Tutaj brak mi wiedzy, bo tylko otarłem się o podstawy podstaw w JS. Przejrzałem kilka wypowiedzi w Internecie, parę postów na SO i wynika z nich, że jednak nie da się tak łatwo podmienić jednego języka drugim. 

komentarz 27 lutego 2018 przez Comandeer Guru (607,060 p.)

Widziałem kilka razy deklarację @param.

Ale to nie jest nawet część języka. To zewnętrzny standard dokumentowania kodu. 

Podobne pytania

0 głosów
2 odpowiedzi 339 wizyt
0 głosów
1 odpowiedź 395 wizyt
0 głosów
2 odpowiedzi 503 wizyt
pytanie zadane 20 października 2016 w C i C++ przez Dawid Zając Nowicjusz (150 p.)

93,464 zapytań

142,459 odpowiedzi

322,730 komentarzy

62,844 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...