Python Programmierumgebung Anaconda oder Visual Studio?

5 Antworten

Kann bisher nur etwas Java.

Wieso machst du Java nicht weiter? Ist es dir zu schwer?

(...) ich glaube das nennt sich dann IDE.

Ja, Programme wie Eclipse sind Integrated Development Environments.

Ich dachte da zuerst an Visual Studio, weil man da auch mehrere Sprachen progammieren kann (...)

Das ist auch mit anderen IDEs möglich (wie NetBeans oder Eclipse). VS ist kein Muss.

Ist Anaconda jetzt eine IDE für Python direkt oder lässt sich damit auch weiteres programmieren?

Anaconda ist keine IDE, sondern eine Distribution - sozusagen ein Paket, welches Entwicklungstools für die Programmiersprachen Python und R enthält. Die darin enthaltene IDE nennt sich Spyder.

Irgendwo habe ich auch mal gesehen, dass eine Art Visual Studio Code in Anaconde mit enthalten ist.

Ja, man bietet nun auch VS Code als Option im Installer an.

Ist das jetzt das Gleiche wie das normale Visual Studio oder gibt es da Unterschiede?

Zuallererst: Visual Studio Code ist so und so nicht das Gleiche wie Visual Studio Community/Professional/Enterprise. Zum einen ist es keine vollwertige IDE (sondern eher ein Editor mit ziemlich vielen Features), zum anderen ist das Programm portierbar, kann also auf verschiedenen Plattformen (Mac OS, Linux, Windows) genutzt werden.

Lies dazu auch hier:

Visual Studio Code is a streamlined code editor with support for development operations like debugging, task running and version control. It aims to provide just the tools a developer needs for a quick code-build-debug cycle and leaves more complex workflows to fuller featured IDEs. For more details about the goals of VS Code, see  Why VS Code.

Quelle: https://code.visualstudio.com/docs/supporting/FAQ

und für weitere Gegenüberstellungen hier.

Nun ist dies aber noch nicht alles. Die von Anaconda angebotene VS Code-Version beinhaltet zudem ein Python-Addon, sodass der Editor schon für die Nutzung mit Python vorbereitet ist, sowie ein Addon für YAML. Dies ist ein Format, Daten zu speichern, so wie es auch JSON oder XML als Serialisierungsformate gibt.

Außerdem gibt es im Startbildschirm von Anaconda noch mehrere Sachen wie Spyder oder Jupyter oder sowas. Was ist das denn genau?

Spyder habe ich bereits erklärt, Jupyter dient als Tool zur Berechnung und Verwaltung von Daten. Dies ist schließlich auch der Verwendungszweck, den Anaconda für sich definiert: The Most Popular Python Data Science Platform (Quelle: https://www.anaconda.com/).

Wenn Visual Studio und Anaconde im Groben das Gleiche sind, was würdet ihr mir dann eher empfehlen?

Wenn du zwischen beiden entscheiden möchtest, wäre, wie du mir nun sicher bereits zustimmen kannst, wohl letztere Wahl besser. Du hättest alles was du brauchst gleich in einem Paket.

Aber natürlich gibt es noch andere Optionen, die du dir einmal anschauen könntest:

Ebenso stehen noch Python IDLE oder VIM zur Verfügung.

loveDJ97 
Fragesteller
 18.07.2018, 18:04

Tausend Dank für deine extrem ausführliche Antwort! Also wenn ich das richtig verstanden habe, ist VS Code quasi eine abgespeckte Variante von Visual Studio Community. Wenn man dann doch mehr Tools braucht, muss man sich eben das größere holen.

Eine Frage zu Jupyter hab ich noch. Du sagtest, dass Jupyter für die Verwaltung und Berechnung großer Datenmengen nützlich ist. Angenommen man möchte eine große 20x20 Matrix auswerten oder ähnliches, kann man das dann nur im Jupyter machen oder auch in der IDE Spyder. In beiden Sachen würde man ja mit Python programmieren denke ich. Unterscheidet sich der Code den man in Jupyter schreibt in einer Art und Weise von dem, den man in Spyder schreiben würde?

Liebe Grüße

0
regex9  18.07.2018, 19:02
@loveDJ97
Also wenn ich das richtig verstanden habe, ist VS Code quasi eine abgespeckte Variante von Visual Studio Community. 

Kann man wohl so sagen.

Du sagtest, dass Jupyter für die Verwaltung und Berechnung großer Datenmengen nützlich ist.

Jupyter Notebooks werden als Webanwendung ausgeführt und geben die Möglichkeit, neben Text, auch Python/R Code Snippets in Dokumente einzusetzen.

Angenommen, du möchtest einen Auswertung über gemessene Wetterdaten anlegen. Dann kannst du deine wissenschaftlichen Ausführungen in so ein Dokument platzieren und zur Veranschaulichung dazwischen Diagramme o.ä. mit Python dynamisch berechnen und ausgeben lassen.

Zum Ausprobieren kannst du es einmal in deinem Browser ausführen lassen, die offizielle Webseite bietet Möglichkeiten zum freien Testen: http://jupyter.org/try.

Ansonsten dürfte dir dieser Guide eine weitere Vorstellung von Jupyter Notebooks geben.

Angenommen man möchte eine große 20x20 Matrix auswerten oder ähnliches, kann man das dann nur im Jupyter machen oder auch in der IDE Spyder.

Spyder ist nur ein Programm, welches dir Werkzeuge zur Verfügung stellt, die die Entwicklung mit Python vereinfachen (Debugging, Syntax-Highlighting, etc.). Auch Jupyter führt deinen Python-Code nur aus. Das heißt, du kannst alles machen, was die Sprache unterstützt. Wenn du nun mathematische Berechnungen anlegst, die bspw. eine Ausführungszeit von 75 Jahren benötigen, ist das allerdings dein Problem. 😁

Unterscheidet sich der Code den man in Jupyter schreibt in einer Art und Weise von dem, den man in Spyder schreiben würde?

So viel habe ich mit Jupyter ehrlicherweise noch nicht gearbeitet, als dass ich das in Gänze beantworten könnte. Simples Python (z.B. eine Ausgabe via print) jedenfalls lässt sich dort genauso einsetzen, wie auf der Konsole, also auch in Spyder.

1
loveDJ97 
Fragesteller
 19.07.2018, 10:38

Den Guide habe ich mir gerade mal angeschaut und der ist wirklich hilfreich. Vielen Dank dafür.

Das mit den mathematischen Operationen war mal ein Beispiel, weil ich irgendwann mal gehört habe, dass Kommilitonen eine große 17x20 Matrix auswerten sollten und das dann mit Python gemacht haben. Dauert das wirklich so extrem lange oder was das nur eine Übertreibung? :D

Zu deiner Frage warum ich nich weiter Java mache... Ich werde Java schon beibehalten, allerdings habe ich Lust auch mal eine weitere Sprache zu lernen. An sich finde ich Java nicht zu schwer. Damals in der Schule wurde uns TruboPascal gelehrt und dadruch bin ich es gewohnt mit vielen Klammern zu arbeiten und finde das absolut nicht schlimm.

0
regex9  19.07.2018, 11:12
@loveDJ97

Wie lange Matrizenrechnung dauert, kann ich nicht sagen. Es gibt allerdings Berechnungen, wie die der Fibonacci-Folge (ab einem bestimmten Index), die ziemlich viel Zeit in Anspruch nehmen können - abhängig dabei auch vom gewählten Verfahren.

Es ist deine Entscheidung, doch ich würde wohl eher empfehlen, eine Sprache erst vollständig in ihren Grundlagen (OOP rechne ich hier mit hinein) zu lernen, bevor man sich anderen widmet. Diese Aufmerksamkeit haben die Sprachen jedenfalls verdient. Gerade mit Java lässt sich so vieles anstellen.

0
loveDJ97 
Fragesteller
 19.07.2018, 12:17

Ja Java kann schon sehr sehr viel. Allerdings brauche ich in meinem Studium ab und an mal ein paar mathematische Sachen, die man aber leichter mit solchen Sachen wie Matlab ausführen, ploten, berechnen etc. kann. Da ich Matlab aber überhaupt nicht mag, keine Ahnung warum genau aber es liegt mir nicht, wollte ich mich nach einer anderen Sprache umsehen, die es mir ermöglicht evtl. ähnliche Sachen recht schnell realisieren zu können. Ich glaube in Java bräuchte man dafür recht viel Aufwand und Code um vergleichbares zu machen. Wenn es allerdings um einfache Sortieralgorithmen geht oder ähnliches, würde ich das auch schnell in Java schreiben.

0

Hallo,

um mit Python anzufangen brauchst du nicht unbedingt eine IDE. Es reicht ein guter Texteditor - z.B. Atom, GNU Emacs oder Kate. Damit kannst du recht schnell drauflos hacken.

Wenn du z.B. mit deinem Editor das Skript hallo.py geschrieben hast, kannst du es ausführen, indem du ein Terminal öffnest und den Interpreter aufrufst:

python3 <Dateipfad>hallo.py

Wenn du später lieber eine IDE benutzten willst, kannst du ruhig weiter Eclipse nehmen und das Plugin PyDev installieren.

Für Python nutz ich PyCharm - bin ich bisher ganz zufrieden mit. :)

Visual Studio Code