it-swarm-eu.dev

Warum so beliebt bei Python?

Abgesehen davon, dass ich mich über Whitespace als Syntax ärgere, bin ich kein Hasser, ich bekomme einfach nicht die Faszination für Python.

Ich schätze die Poesie von Perl und habe wunderschöne Webdienste in bash & korn und Shebang gnuplot programmiert. Ich schreibe Dokumente in troff und habe nichts gegen REXX. Ich habe tcl vor Jahren nicht mehr nützlich gefunden, aber was ist der große Gestank an Python? Ich sehe Stellenangebote und viele Kandidaten damit als Preis und Trophäe in ihren Lebensläufen.


Ich denke in Wirklichkeit versuche ich persönlich, mich dafür zu verkaufen, ich kann einfach keinen Grund finden.

55
Jé Queue

Python ist eine gut gestaltete Sprache mit einer einigermaßen sauberen Syntax, einer umfassenden Standardbibliothek, einer hervorragenden Dokumentation von Inklusiv- und Drittanbietern, einer weit verbreiteten Bereitstellung und der Unmittelbarkeit einer Sprache im "Scripting" -Stil (dh keinem expliziten Kompilierungsschritt).

61
Greg Hewgill

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 mehr oder weniger Ausmaß muss man die Sprache bekämpfen, um sie dazu zu bringen, das zu tun, was man will. Python reduziert diesen Kampf massiv. Eric S Raymond sagte es viel besser als ich in Warum Python?

Als verwandter Punkt behält Python seine Sauberkeit bei, auch wenn es sich schnell weiterentwickelt. In den meisten Sprachen, mit denen ich gearbeitet habe, führt die Einführung neuer Sprachfunktionen zu vielen Falten. Aber mit Python sogar zur Hauptsprache Features (Dekorateure kommen in den Sinn) werden ständig hinzugefügt, ohne sich wie hässliche Hacks zu fühlen.

76
Chinmay Kanchi

Ich hoffe, das klingt nicht zu zynisch, aber IMO Python ist aus genau dem gleichen Grund so beliebt wie Java, C # und Objective-C. Nicht, weil die Sprachen selbst etwas Spektakuläres haben, sondern weil sie jeweils einen Magacorporate-Sponsor haben, der in der Lage ist, viel Hype, viel Werbung und viele Bibliotheken zu produzieren und ihre bevorzugte Sprache zu unterstützen.

26
Mason Wheeler

Ich habe die Erfahrung gemacht, dass Menschen, die wahre Freude am Programmieren haben, oft nach einer 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 der Standardeinstellung PHP/Visual Basic/C++/Java/C #) zu etwas Exotischerem (geschäftlich/beruflich) wie Python wechseln , Ruby, Haskell und sogar Perl (wegen seines enormen Hack-Werts und seiner Dunkelheit).

Versteh mich nicht falsch, es gibt sehr erfahrene C #/VB.net-Programmierer, die sehr stolz und erfreut auf ihre Arbeit und ihren Code sind (die StackOverflow-Leute sind ein sehr gutes Beispiel), aber Sie tun es nicht. Ich werde kein python Programmierer, nur weil sie dir das in der Schule beigebracht haben; es muss deine eigene Entscheidung sein.

Ich denke, Jeff Atwoord hatte einen Blog-Beitrag dazu, aber ich kann ihn nicht finden. Wenn ich es finde, werde ich diesen Kommentar aktualisieren.

11

Im Vergleich zu Ruby, das wirklich cool ist und erstaunliche Code-Golf-Offs hervorbringt, Python hat diese Kernphilosophie: "Es sollte einen - und vorzugsweise nur einen - offensichtlichen Weg geben, [Dinge] zu tun." "was die Redewendung bedeutet Python Weg. Ich habe festgestellt, dass dies ein großer Vorteil gegenüber Ruby ist.

9
Dan Rosenstark

Ich fing an, Python aus dem gleichen Grund zu lieben, den Eric S. Raymond beschreibt: Das Schreiben von Programmen in Python ist konzeptionell sehr ähnlich dem Denken, Code in meinem Kopf zu entwerfen.

Das Lernen, ein guter Python Programmierer zu sein, machte mich zu einem viel besseren C # -Programmierer. Zum einen machte es das Verständnis von LINQ viel einfacher. Ich hätte vielleicht nie einen Typ wie Dictionary<string, Func<T>> Angenommen oder mich mit yield return Gewöhnt, wenn ich in Python keine Klassen und Generatoren verwendet hätte. AOP ist jetzt viel einfacher zu verstehen, da ich Python Dekorateure verwendet habe. Die Liste geht weiter.

8
Robert Rossney

Erstens sind unbedeutende Sprachmerkmale wie erzwungenes Einrücken in Python spielt keine Rolle, wenn die Sprache selbst sehr ausdrucksstark und nützlich ist. Ich wurde auch zunächst abgewiesen, lernte aber bald, darüber hinwegzuschauen und Fühle es jetzt nicht einmal als Hindernis, weil die Sprache für mich so viel einfacher zu bearbeiten ist. Es ist wie ein Siegel in Variablen in Perl, es ist eine harmlose Sprach-Eigenart 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 denken Python ist großartig, versuchen Sie einfach, die Sprache zu lernen. Die Gründe sind meistens die gleichen wie bei Perl. Ich finde, dass mir die Syntax in Python (zB 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 immer noch 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 auch an Perl wird unhandlich, wenn der Code ausreichend groß wird (gut geschriebenes Perl nicht, aber gut geschriebener Code ist in einem großen Projekt schwer zu bekommen). IMHO Python unterscheidet sich darin von anderen 'Skriptsprachen') Es lässt sich sehr gut auf große Projekte sowie kleine einmalige Skripte skalieren. Ich denke, Ruby hat auch die gleiche Qualität.

6
MAK

Die Philosophie, dass der wohlwollende Diktator seine Idee eines guten Stils [1], seine Idee einer guten Programmierung und seine Idee, wie man programmiert, durchsetzen sollte, frustriert mich regelmäßig. Ich denke nicht wie van Rossum. Seine Sprache widersetzt sich jedoch Versuchen, Gedanken von Nicht-van Rossum auszudrücken. Sein Denken funktioniert wirklich gut für viele (die meisten?) Programmierer. Aber ich scheine nicht in sein Modell der Programmierung zu passen.

Deshalb glaube ich, dass Perl eine überlegene Sprache ist.

[1] Siehe seinen Blog über das Entfernen von reduce.

6
Paul Nathan

Seit 2004 habe ich Python] verwendet, um Folgendes zu entwickeln:

  • GUIs
  • Scripting von Ray Tracer-Szenen mit Python zu C++ - Bindungen
  • Plattformübergreifende automatisierte Build-Systeme
  • Testskripte
  • Allzweckwerkzeuge zur Lösung Ihrer alltäglichen Probleme
  • Websites und Web-Apps

Im Jahr 2004 war Python war die Sprache der Wahl, weil Python-Skripte sind mit sehr geringen Änderungen auf Windows, Linux und Mac portierbar.

5
Thierry Lam

Ich denke bis zu einem gewissen Grad Python ist die einzige Programmiersprache, die Sie jemals benötigen werden, es sei denn, Sie möchten einen Betriebssystemkern schreiben. Sie eignet sich für die interaktive Verwendung, zufällige Hacks, Systemadministration und wissenschaftliche Zwecke Anwendungen, Betriebssystem-Tools, Webanwendungen, GUI-Anwendungen, Einbettung usw. usw. sind portabel, kostenlos und weit verbreitet. Keine andere Programmiersprache deckt wirklich alle diese Bereiche in der Praxis ab. Es ist eine wirklich gute strategische Investition für eine Person und eine Firma.

5

Es ist elegant und sehr einfach zu erlernen. Sobald Sie mit den Grundtypen (insbesondere Listen) vertraut sind, sind Ihrer Produktivität keine Grenzen gesetzt. Es eignet sich perfekt für Prototyping-Algorithmen oder zum Schreiben in einer Pseudocode-ähnlichen Sprache, die schließlich direkt auf einen Computer übertragen werden kann, und eignet sich hervorragend als Skriptsprache, um sich wiederholende Jobs auszuführen oder nervige Vorgänge an Dateien auszuführen. Ich verwende es als Klebesprache, um Unterprozesse miteinander kommunizieren zu lassen: nicht so leistungsfähig wie Bash für einige einfache Aufgaben, aber viel einfacher, wenn Sie mehr als nur eine einzige Codezeile ausführen müssen.

Und dann unterscheidet es nicht zwischen Funktionen und Unterprogrammen, Sie wissen, was ich meine.

4
Lorenzo Stella

Für mich Python war ein lieber Freund. Es ist eine anständige Skript- und Prototyping-Sprache. Die wichtigsten Dinge, an die ich denken kann, sind:

  • Saubere Syntax, sehr simpel und leicht zu verstehen
  • Multi-Paradigma, verwenden Sie es als zwingende Sprache? Sicher. OOP? Kein Problem. Es hat auch einige leichte funktionale Sprachmerkmale, z. Lambda, Listenverständnis usw.
  • Für grundlegende Computeranforderungen bietet es native Unterstützung für die wesentlichen Datenstrukturen, das Array, das Tupel, das Wörterbuch (assoziatives Array), die Menge usw.
  • Andere Merkmale können einen Programmierer sehr produktiv machen, z. Ententypisierung, Reflexion, Metaprogrammierung, Dekorateure, Generatoren usw.
  • Umfangreiche Bibliotheksunterstützung
4
grokus

Viele Python Liebhaber, die ich sehe, haben gerade von der C-Umgebung gewechselt und waren beeindruckt von Sachen 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 wie Feuer in einem getrockneten Wald verbreitet. Und so lebt geschaffene Mode jetzt für sich.

3
mbq

Ich komme jetzt, da ich etwas weniger müde bin, wieder auf die Frage zu:

Python ist eine Sprache, die sich besonders gut für wissenschaftliche Programmieraufgaben eignet. Dies ist einer der Orte, an denen ihre Popularität ziemlich stark zunimmt. Einige Gründe warum:

  • Ziemlich starke Community-Unterstützung bedeutet, dass einige starke Bibliotheken vorhanden sind, und Python funktioniert als anständiger Ersatz für MATLAB und einige der anderen populären Sprachen in diesem Bereich.
  • Es spielt sich gut mit C, wenn Sie tun Geschwindigkeit brauchen, aber oft ist Geschwindigkeit nicht wirklich so notwendig, so dass Pythons interpretierte Natur keine allzu große Sache ist.
  • Ich habe festgestellt, dass es eine ziemlich ansprechbare Sprache ist, ohne eine große Anzahl von Dingen, die sich für Außenstehende wie seltsam willkürliche Syntaxregeln anfühlen. Es ist ziemlich Swift, zwischen Pseudocode und Python zu übersetzen.
  • "Nimm es oder lass es OOP". Viele wissenschaftliche Programmierprojekte profitieren nicht allzu stark von umfangreichem OOP. Einige tun. Es ist schön, eine Sprache zu haben, die leicht zwischen den beiden wechseln kann.
  • Starke plattformübergreifende Unterstützung. Insbesondere da es sich bei dem, mit dem ich arbeite, selten um GUIs handelt, kann ich mich darauf verlassen, dass ich ein Python -Programm) an eine andere Person senden kann, ohne mir Gedanken darüber zu machen, auf welchem ​​Betriebssystem sie ausgeführt wird.

Es ist nicht das A und O der Programmiersprachen, aber es ist eine anständige Sprache "Ja, ich habe wahrscheinlich ein Werkzeug, um jedes Problem zu lösen", weshalb es im Moment wahrscheinlich beliebt ist.

2
Fomite

Python ist eine sehr "webby" Sprache sowohl in den verfügbaren Frameworks (Django, Zope usw.) als auch in den leicht importierbaren Bibliotheken, die wiederum viele Webfunktionen abdecken.

Für Webentwickler, die sich nur von HTML, CSS + JS (anekdotisch eine große Quelle neuer Programmierer in den letzten Jahren) verabschieden, ist dies meiner Meinung nach ein sehr attraktives Angebot (ebenso Ruby).

Auch Google ist nicht Microsoft ....

1
Jon Hadley

Ich denke, einer der Hauptgründe ist, dass Google zu 90% aus Python besteht.

Python ist jedoch auch eine leicht zu erlernende, leistungsstarke Programmiersprache. Sie verfügt über effiziente Datenstrukturen auf hoher Ebene und einen einfachen, aber effektiven Ansatz für die objektorientierte Programmierung. Pythons elegante Syntax und dynamische Typisierung, Zusammen mit seiner interpretierten Natur ist es eine ideale 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/ und kann frei verteilt werden. Dieselbe Site enthält auch Distributionen und Verweise auf viele kostenlose Drittanbieter Python Module, Programme und Tools und weitere) Dokumentation.

Der Interpreter Python kann problemlos mit neuen Funktionen und Datentypen erweitert werden, die in C oder C++ (oder anderen von C aufrufbaren Sprachen) implementiert sind. Python eignet sich auch als Erweiterungssprache für anpassbare Anwendungen.

0
blackhat