Poza tym, że jestem zirytowany białą spacją jako składnią, nie nienawidzę, po prostu nie fascynuje mnie Python.
Doceniam poezję Perla i zaprogramowałem piękne serwisy internetowe w bash & korn i shebang gnuplot
. Piszę dokumenty troff
i nie mam nic przeciwko REXX. Nie znaleziono żadnych tcl bardziej użyteczne lat temu, ale co to za wielki smród o Pythonie ? Widzę oferty pracy i wielu kandydatów z nagrodą i trofeum w swoich życiorysach.
Chyba w rzeczywistości staram się osobiście sprzedać to, ale nie mogę znaleźć powodu.
0x09
, to prawdopodobnie nie będzie sprzeciwiał i prawdopodobnie użyć spójnego wcięcia w preferowanej szerokości wcięcia. To jest to samo, na co pozwala Python.Odpowiedzi:
Python jest dobrze zaprojektowanym językiem z względnie czystą składnią, wszechstronną biblioteką standardową, doskonałą dołączoną dokumentacją i dokumentacją stron trzecich, szerokim wdrożeniem oraz bezpośredniością języka „skryptowego” (tj. Bez wyraźnego kroku kompilacji).
źródło
len
?__double_underscore_names__
, że miesza sięalllowercasefunctionames
zmixed_underscore
imixedCamelCase
nazwy. Wymaga:
końcadef
lub pętli. Wykorzystuje wiele dziwnym skrótemstr
,dict
,islice
. Wygląda na to, że w ogóle nie było konwencji. To czysty chaos. Peps, pipsy, zens ... to bardziej religia python niż język. Może mieć kilka fajnych funkcji, ale nie wyjaśnia, dlaczego tak wielu ludzi jest tak podekscytowanych. W pyhon nie ma nic specjalnego. Kolejny źle zaprojektowany produkt.def
? Dlaczego definiuję funkcję za pomocądef
a nie afunc
? Nie ma innej languague, która byłaby tak nieintuicyjna jak Python.Odkryłem, że Python jest najbardziej naturalnym językiem programowania, w jakim kiedykolwiek pisałem kod. Kodowałem w wielu językach przed i po Pythonie, i w większym lub mniejszym stopniu musisz walczyć z tym językiem, aby zrób to, co chcesz. Python znacznie zmniejsza tę walkę. Eric S Raymond powiedział to znacznie lepiej niż ja w Dlaczego Python?
W związku z tym Python utrzymuje swoją czystość nawet podczas szybkiej ewolucji. W większości języków, z którymi pracowałem, wprowadzenie nowych funkcji językowych powoduje wiele zmarszczek. Ale dzięki Pythonowi nawet najważniejsze funkcje językowe (przychodzą na myśl dekoratorzy) są dodawane przez cały czas, bez poczucia brzydkich włamań.
źródło
Mam nadzieję, że nie brzmi to zbyt cynicznie, ale Python IMO jest tak popularny z tego samego powodu, dla którego są Java, C # i Objective-C. Nie dlatego, że w samych językach jest coś spektakularnego, ale dlatego, że każdy z nich ma sponsora dla korporacji, który jest w stanie wygenerować dużo szumu, dużo reklam, a także wiele bibliotek i wsparcie dla ich preferowanego języka.
źródło
Z mojego doświadczenia wynika, że ludzie, którzy czerpią prawdziwą radość z programowania, często szukają języka, który im odpowiada, lepiej niż nauczył się w szkole lub na uniwersytecie. Zasadniczo oznacza to, że przejdą z domyślnego PHP / Visual Basic / C ++ / Java / C # do czegoś bardziej egzotycznego (biznesowego / zawodowego), takiego jak Python, Ruby, Haskell, a nawet Perl (z powodu jego ogromnej wartości włamań i niejasności).
Nie zrozum mnie źle, są bardzo doświadczeni programiści C # / VB.net, którzy są dumni i radują się ze swojej pracy i kodu (faceci StackOverflow są bardzo dobrym przykładem), ale nie zostajesz programistą pythonowym tylko dlatego, że tego nauczyli cię w szkole; to musi być twoja własna decyzja.
Myślę, że Jeff Atwoord miał na ten temat post na blogu, ale nie mogę go znaleźć. Jeśli go znajdę, zaktualizuję ten komentarz.
źródło
W porównaniu z Ruby, który jest naprawdę fajny i daje niesamowite gry w golfa, Python ma tę podstawową filozofię: „Powinien być jeden - a najlepiej tylko jeden - oczywisty sposób na zrobienie [rzeczy]”, co oznacza idiomatyczny sposób Pythona. Przekonałem się, że jest to ogromna zaleta w porównaniu do Ruby.
źródło
Zacząłem kochać Pythona z tego samego powodu, który opisuje Eric S. Raymond: pisanie programów w Pythonie jest koncepcyjnie bardzo podobne do myślenia o projektowaniu kodu w mojej głowie.
Nauka bycia dobrym programistą Python uczyniła mnie znacznie lepszym programistą C #. Na przykład znacznie ułatwiło zrozumienie LINQ. Mógłbym nigdy nie zaakceptować takiego typu
Dictionary<string, Func<T>>
, ani nie poczułbym się swobodnieyield return
, gdybym nie używał klas i generatorów w Pythonie. AOP jest teraz o wiele łatwiejsze do zrozumienia, kiedy używałem dekoratorów Python. I tak dalej.źródło
Po pierwsze, drobne dziwactwa językowe, takie jak wymuszone wcięcia w Pythonie, nie mają większego znaczenia, jeśli sam język jest niezwykle wyrazisty i użyteczny. Początkowo byłem z tego powodu odwrócony, ale wkrótce nauczyłem się patrzeć za nią, a teraz nawet nie czuję jej jako przeszkody, ponieważ język jest dla mnie o wiele łatwiejszy do pracy. Jest jak sigile w zmiennych w Perlu , jest nieszkodliwym dziwactwem językowym i nikomu, kto dobrze zna ten język, nie będzie mu to przeszkadzać.
Aby zrozumieć powody, dla których tak wiele osób uważa, że Python jest świetny, po prostu spróbuj nauczyć się języka. Powody są w większości takie same jak w Perlu. Uważam, że podoba mi się składnia w Pythonie (np. Listy, składnia OOP itp.), Ale to jest naprawdę subiektywne i twoja opinia może się różnić. Wolę Python dla większych projektów, podczas gdy wciąż używam Perla do mniejszych skryptów.
I to jest odpowiedź na twoje pytanie. Porównujesz Python do Perla, bash i tcl. Chodzi o to, że nie jest to uczciwe porównanie. Języki takie jak bash zostały zaprojektowane do pisania małych skryptów w celu automatyzacji typowych zadań. Niektórzy uważają, że Perl również staje się nieporęczny, jeśli kod staje się wystarczająco duży (dobrze napisany Perl nie, ale dobrze napisany kod jest trudny do zdobycia w dużym projekcie). IMHO Python różni się od innych języków „skryptowych” tym, że bardzo dobrze skaluje się zarówno do dużych projektów, jak i małych jednorazowych skryptów. Myślę, że Ruby ma tę samą jakość.
źródło
Filozofia, że życzliwy dyktator powinien egzekwować swoją ideę dobrego stylu [1], swoją ideę dobrego programowania, jego ideę programowania, frustruje mnie regularnie. Nie myślę jak van Rossum. Jednak jego język sprzeciwia się próbom wyrażania myśli innych niż van Rossum. Jego myślenie działa naprawdę dobrze dla wielu (większości?) Programistów. Ale wydaje mi się, że nie pasuje do jego modelu programowania.
Dlatego uważam, że Perl jest lepszym językiem.
[1] Zobacz jego blog na temat usuwania
reduce
.źródło
Myślę, że do pewnego stopnia Python jest jedynym językiem programowania, jakiego kiedykolwiek potrzebujesz, chyba że chcesz napisać jądro systemu operacyjnego. Nadaje się do użytku interaktywnego, losowych włamań, administracji systemu, aplikacji naukowych, narzędzi systemu operacyjnego, aplikacji internetowych, aplikacji GUI, osadzania itp. Itp. Jest przenośny, bezpłatny i szeroko stosowany. Żaden inny język programowania tak naprawdę nie obejmuje wszystkich tych dziedzin w praktyce. To naprawdę dobra inwestycja strategiczna dla osoby i firmy.
źródło
Od 2004 roku używam Pythona do opracowywania:
W 2004 roku Python był wybranym językiem, ponieważ skrypty Pythona są przenośne w systemach Windows, Linux i Mac z niewielkimi modyfikacjami.
źródło
Dla mnie Python jest drogim przyjacielem. To przyzwoity język skryptowy i prototypowy. Kluczowe rzeczy, o których mogę myśleć to:
źródło
Jest elegancki i bardzo łatwy do nauczenia, a kiedy znasz jego podstawowe typy (zwłaszcza listy), Twoja produktywność nie ma granic. Jest idealny do algorytmów prototypowych lub do pisania ich w języku pseudokodowym, który może ostatecznie umieścić bezpośrednio na maszynie, i jest naprawdę dobry jako język skryptowy do wykonywania powtarzalnych zadań lub wykonywania irytujących operacji na plikach. Używam go jako języka kleju do komunikacji między podprocesami: nie tak potężnego jak bash dla niektórych łatwych zadań, ale ZNACZNIE łatwiej, jeśli potrzebujesz zrobić więcej niż tylko jedną linię kodu.
A potem nie rozróżnia funkcji i podprogramów, wiesz o co mi chodzi.
źródło
Wielu miłośników Pythona właśnie przestawiło się z otoczenia C i byli pod wrażeniem rzeczy takich jak
"Hello "+ "World"
is"Hello World"
. Powiedziałbym więc, że jest to pierwszy język skryptowy, który nie zbiera ezoterycznych / specyficznych znaczników i rozprzestrzenia się wśród męczenników, takich jak ogień w wysuszonym lesie. I tak stworzona moda żyje teraz sama.źródło
Ponownie podchodzę do pytania, kiedy jestem już trochę mniej zmęczony:
Python jest językiem, który uważam za szczególnie odpowiedni do naukowych zadań programistycznych, co jest jednym z miejsc, w których jego popularność rośnie dość mocno. Kilka powodów, dla których:
To nie jest koniec wszystkich języków programowania, ale jest to przyzwoity język „Tak, prawdopodobnie mam narzędzie do rozwiązania wszelkich problemów”, dlatego prawdopodobnie cieszy się obecnie popularnością.
źródło
Python jest językiem bardzo „webby” zarówno w dostępnych frameworkach (Django, Zope itp.), Jak iw łatwych do importowania bibliotekach, które ponownie obejmują wiele funkcji internetowych.
Dla twórców stron internetowych, którzy odeszli od zestawu umiejętności HTML, CSS + JS (anegdotycznie duże źródło nowych programistów w ciągu ostatnich kilku lat), myślę, że dzięki temu jest to bardzo atrakcyjna propozycja (podobnie jak Ruby).
Ponadto Google nie jest Microsoft ....
źródło
Myślę, że jednym z głównych powodów jest to, że 90% google pochodzi z Pythona.
Jednak Python jest również łatwym do nauczenia się, potężnym językiem programowania. Ma wydajne struktury danych wysokiego poziomu i proste, ale skuteczne podejście do programowania obiektowego. Elegancka składnia i dynamiczne pisanie w Pythonie, wraz z jego interpretowaną naturą, sprawiają, że jest to idealny język do tworzenia skryptów i szybkiego tworzenia aplikacji w wielu obszarach na większości platform.
Interpreter języka Python i obszerna biblioteka standardowa są bezpłatnie dostępne w formie źródłowej lub binarnej dla wszystkich głównych platform ze strony internetowej Python, http://www.python.org/ i mogą być swobodnie dystrybuowane. Ta sama witryna zawiera także dystrybucje i wskaźniki do wielu bezpłatnych modułów, programów i narzędzi Pythona innych firm oraz dodatkową dokumentację.
Interpreter języka Python można łatwo rozszerzyć o nowe funkcje i typy danych zaimplementowane w C lub C ++ (lub innych językach wywoływanych z C). Python nadaje się również jako język rozszerzeń dla dostosowywalnych aplikacji.
źródło