Abgesehen davon, dass ich mich über Whitespace als Syntax ärgere, bin ich kein Hasser. Ich verstehe die Faszination von Python einfach nicht.
Ich schätze die Poesie von Perl und habe wunderschöne Webservices in Bash & Korn und Shebang programmiert gnuplot
. Ich schreibe Dokumente ein troff
und kümmere mich nicht um REXX. Ich fand tcl vor Jahren nicht nützlicher, aber was ist der große Gestank an Python ? Ich sehe Stellenanzeigen und viele Kandidaten mit dieser als Preis & Trophäe in ihren Lebensläufen.
Ich denke, in Wirklichkeit versuche ich, persönlich davon überzeugt zu werden. Ich kann einfach keinen Grund finden.
0x09
, würden Sie wahrscheinlich keine Einwände erheben und wahrscheinlich einen konsistenten Einzug in Ihrer bevorzugten Einzugsbreite verwenden. Dies ist das gleiche, was Python erlaubt.Antworten:
Python ist eine gut gestaltete Sprache mit einer einigermaßen übersichtlichen Syntax, einer umfassenden Standardbibliothek, einer hervorragenden Dokumentation und Dokumentation von Drittanbietern, einer weit verbreiteten Bereitstellung und der Unmittelbarkeit einer Sprache im "Skript" -Stil (dh ohne expliziten Kompilierungsschritt).
quelle
len
?__double_underscore_names__
, es mischt sichalllowercasefunctionames
mitmixed_underscore
undmixedCamelCase
Namen. Es erfordert eine:
am Endedef
oder Schleifen. Es verwendet eine Menge seltsame Abkürzungstr
,dict
,islice
. Es sieht so aus, als gäbe es überhaupt keine Konvention. Es ist ein reines Chaos. Peps, Pips, Zen ... es ist eher eine Python-Religion als eine Sprache. Es mag ein paar nette Features haben, aber es erklärt nicht, warum so viele Leute darüber so begeistert sind. An Pyhon ist nichts Besonderes. Nur ein weiteres schlecht gestaltetes Produkt.def
? Warum definiere ich eine Funktion mitdef
und nicht mitfunc
? Es gibt keine andere Sprache, die so uninteressant ist wie Python.Ich habe festgestellt, dass Python die natürlichste Programmiersprache ist, in der ich jemals Code geschrieben habe. Ich habe vor und nach Python in vielen Sprachen codiert, und in mehr oder weniger großem Umfang muss man sich mit der Sprache herumschlagen Lass es tun, was du willst. Python reduziert diesen Kampf massiv. Eric S. Raymond sagte , es viel besser als ich es kann in Warum Python?
Als ein verwandter Punkt behält Python seine Sauberkeit bei, auch wenn es sich schnell entwickelt. In den meisten Sprachen, mit denen ich gearbeitet habe, führt die Einführung neuer Sprachfunktionen zu vielen Falten. Aber mit Python kommen immer wieder wichtige Sprachfunktionen (die den Dekorateuren in den Sinn kommen) hinzu, ohne dass sie sich wie hässliche Hacks anfühlen.
quelle
Ich hoffe, das klingt nicht zu zynisch, aber IMO Python ist genau aus dem gleichen Grund wie Java, C # und Objective-C so beliebt. Nicht, weil die Sprachen selbst etwas Spektakuläres haben, sondern weil sie jeweils einen Firmensponsor haben, der viel Hype, viel Werbung und viele Bibliotheken und Unterstützung für ihre bevorzugte Sprache produzieren kann.
quelle
Ich habe die Erfahrung gemacht, dass die Leute, die wahre Freude am Programmieren haben, oft eine Sprache suchen, die besser zu ihnen passt als das, was sie in der Schule oder an der Universität gelernt haben. Grundsätzlich bedeutet dies, dass sie von PHP / Visual Basic / C ++ / Java / C # auf etwas Exotischeres (geschäftlich / beruflich) wie Python, Ruby, Haskell und sogar Perl umsteigen (wegen des enormen Hack-Werts und der Unbekanntheit).
Verstehen Sie mich nicht falsch, es gibt sehr erfahrene C # / VB.net-Programmierer, die sehr stolz auf ihre Arbeit und ihren Code sind Das haben sie dir in der Schule beigebracht. es muss deine eigene Entscheidung sein.
Ich glaube, Jeff Atwoord hatte einen Blog-Beitrag dazu, aber ich kann ihn nicht finden. Wenn ich es finde, aktualisiere ich diesen Kommentar.
quelle
Im Vergleich zu Ruby, das wirklich cool ist und erstaunliche Code Golf-Offs produziert, hat Python die Kernphilosophie "Es sollte einen - und am besten nur einen - offensichtlichen Weg geben, [Dinge] zu tun", was den idiomatischen Python-Weg bedeutet. Ich habe festgestellt, dass dies ein großer Vorteil gegenüber Ruby ist.
quelle
Ich habe Python aus dem gleichen Grund geliebt, den Eric S. Raymond beschreibt: Das Schreiben von Programmen in Python ist konzeptionell sehr ähnlich wie das Entwerfen von Code in meinem Kopf.
Das Lernen, ein guter Python-Programmierer zu sein, machte mich zu einem viel besseren C # -Programmierer. Zum einen hat es das Verständnis von LINQ erheblich erleichtert. Wäre ich nicht mit Klassen und Generatoren in Python
Dictionary<string, Func<T>>
umgegangenyield return
, hätte ich mich vielleicht nie an einen Typ gewöhnt. AOP ist jetzt viel einfacher zu verstehen, da ich Python-Dekoratoren verwendet habe. Die Liste geht weiter.quelle
Erstens sind kleine Sprachprobleme wie erzwungene Einrückungen in Python von geringer Bedeutung, wenn die Sprache selbst ausdrucksstark und nützlich ist. Anfangs wurde ich auch deswegen abgewiesen, lernte aber bald, daran vorbeizuschauen und empfinde es jetzt nicht einmal als Hindernis, weil die Sprache für mich so viel einfacher zu bearbeiten ist. Es ist wie Sigillen in Variablen in Perl Es ist eine harmlose Sprache, und jeder, der sich in der Sprache wohlfühlt, fühlt sich nicht gestört.
Um die Gründe zu verstehen, warum so viele Leute Python für großartig halten, versuchen Sie einfach, die Sprache zu lernen. Die Gründe sind größtenteils die gleichen wie in Perl. Ich finde, dass mir die Syntax in Python gefällt (z. B. Listenverständnis, OOP-Syntax usw.), aber das ist wirklich subjektiv und Ihre Meinung könnte abweichen. Ich bevorzuge Python für größere Projekte, während ich Perl für kleinere Skripte verwende.
Und das ist die Antwort auf Ihre Frage. Sie vergleichen Python mit Perl, bash und tcl. Die Sache ist, dass dies kein fairer Vergleich ist. Sprachen wie bash wurden zum Schreiben kleiner Skripte entwickelt, um allgemeine Aufgaben zu automatisieren. Einige Leute denken, dass Perl auch unhandlich wird, wenn der Code groß genug ist (gut geschriebenes Perl nicht, aber gut geschriebener Code ist in einem großen Projekt schwer zu bekommen). IMHO Python unterscheidet sich von anderen Skriptsprachen dadurch, dass es sowohl für große Projekte als auch für kleine einmalige Skripts sehr gut skalierbar ist. Ich denke, Ruby hat auch die gleiche Qualität.
quelle
Die Philosophie, dass der barmherzige Diktator seine Vorstellung von gutem Stil [1] durchsetzen sollte, seine Vorstellung von guter Programmierung, seine Vorstellung davon, wie man programmiert, frustriert mich regelmäßig. Ich denke nicht wie van Rossum. Seine Sprache widersetzt sich jedoch Versuchen, Nicht-Van-Rossum-Gedanken auszudrücken. Sein Denken funktioniert wirklich gut für viele ( die meisten?) Programmierer. Aber ich scheine nicht in sein Programmiermodell zu passen.
Deshalb glaube ich, dass Perl eine überlegene Sprache ist.
[1] Siehe seinen Blog über das Entfernen
reduce
.quelle
Ich denke, bis zu einem gewissen Grad ist Python die einzige Programmiersprache, die Sie jemals brauchen werden, es sei denn, Sie möchten einen OS-Kernel schreiben. Es eignet sich für die interaktive Verwendung, zufällige Hacks, Systemadministration, wissenschaftliche Anwendungen, Betriebssystemtools, Webanwendungen, GUI-Anwendungen, Einbettung usw. usw. Es ist portabel, kostenlos und weit verbreitet. Keine andere Programmiersprache deckt wirklich all diese Bereiche in der Praxis ab. Es ist eine wirklich gute strategische Investition für eine Person und ein Unternehmen.
quelle
Seit 2004 habe ich mit Python Folgendes entwickelt:
Bereits im Jahr 2004 war Python die Sprache der Wahl, da Python-Skripte mit nur geringen Änderungen auf Windows, Linux und Mac portierbar sind.
quelle
Für mich war Python ein lieber Freund. Es ist eine anständige Scripting- und Prototyping-Sprache. Die wichtigsten Dinge, an die ich denken kann, sind:
quelle
Es ist elegant und sehr einfach zu erlernen, und sobald Sie mit den Grundtypen (insbesondere Listen) vertraut sind, sind Ihrer Produktivität keine Grenzen gesetzt. Es ist perfekt für Prototyping-Algorithmen oder zum Schreiben in einer Pseudocode-ähnlichen Sprache, die sich schließlich direkt auf eine Maschine übertragen lässt, und es eignet sich hervorragend als Skriptsprache für sich wiederholende Jobs oder lästige Vorgänge mit Dateien. Ich verwende es als Klebesprache, um Teilprozesse miteinander kommunizieren zu lassen: Nicht so mächtig wie Bash für einige einfache Aufgaben, aber um einiges einfacher, wenn Sie mehr als nur eine einzige Codezeile tun müssen.
Und dann unterscheidet es nicht zwischen Funktionen und Unterprogrammen, Sie wissen, was ich meine.
quelle
Viele Python - Liebhaber Ich sehe gerade eingeschaltet aus C Umgebung und waren mit Sachen beeindruckt wie
"Hello "+ "World"
ist"Hello World"
. Ich würde also sagen, dass dies die erste Skriptsprache ist, die keine esoterischen / spezifischen Tags sammelt und sich so unter Märtyrern verbreitet wie Feuer in einem trockenen Wald. Und so entstandene Mode lebt nun für sich.quelle
Jetzt, wo ich ein bisschen weniger müde bin, die Frage neu angehen:
Python ist eine Sprache, die ich als besonders geeignet für wissenschaftliche Programmieraufgaben empfunden habe. Dies ist einer der Orte, an denen ihre Popularität ziemlich stark zunimmt. Ein paar Gründe warum:
Es ist nicht das A und O aller Programmiersprachen, aber es ist eine anständige "Ja, ich habe wahrscheinlich ein Werkzeug, um jedes Problem zu lösen" -Sprache, weshalb sie sich im Moment wahrscheinlich großer Beliebtheit erfreut.
quelle
Python ist sowohl in den verfügbaren Frameworks (Django, Zope usw.) als auch in den leicht importierbaren Bibliotheken, die wiederum viele Webfunktionen abdecken, eine sehr 'webby'-Sprache.
Für Webentwickler, die sich nur von einem HTML-, CSS + JS-Skillset (das in den letzten Jahren mitunter eine große Anzahl neuer Programmierer war) verabschiedet haben, ist dies meiner Meinung nach ein sehr attraktives Angebot (dito Ruby).
Auch Google ist nicht Microsoft ....
quelle
Ich denke, einer der Hauptgründe ist, dass Google zu 90% aus Python besteht.
Python ist jedoch auch eine einfach zu erlernende, leistungsstarke Programmiersprache. Es verfügt über effiziente Datenstrukturen auf hoher Ebene und einen einfachen, aber effektiven Ansatz für die objektorientierte Programmierung. Die elegante Syntax und die dynamische Typisierung von Python machen Python zusammen mit seiner interpretierten Natur zu einer idealen Sprache für die Skripterstellung und die schnelle Anwendungsentwicklung in vielen Bereichen auf den meisten Plattformen.
Der Python-Interpreter und die umfangreiche Standardbibliothek sind in Quell- oder Binärform für alle wichtigen Plattformen auf der Python-Website http://www.python.org/ frei verfügbar und können frei verteilt werden. Die gleiche Site enthält auch Distributionen von und Verweise auf viele kostenlose Python-Module, -Programme und -Tools von Drittanbietern sowie zusätzliche Dokumentation.
Der Python-Interpreter kann problemlos mit neuen Funktionen und Datentypen erweitert werden, die in C oder C ++ (oder anderen von C aus aufrufbaren Sprachen) implementiert sind. Python eignet sich auch als Erweiterungssprache für anpassbare Anwendungen.
quelle