Lohnt es sich heutzutage PYHON zu erlernen. Wenn ja/nein , warum?



  • Ich kanns bis jetzt C/C++ gescheit.
    Nun wird Python ja sehr gelobt.
    Mich würde mal interessieren welche Vorteile es mitsich bringt, Python noch zu erlernen, wenn man bereits sehr an C/C++ gewöhnt ist.

    Python soll ja leicht zu erlernen sein.
    Ich finde: Ein Sprache sollte nicht leicht zu erlernen sein, sondern "leistungsstark". Wenn es leistungsstark UND leich zu erlernen ist, dann ist auch gut.

    Kann man in Python genausoviel realisieren wie in C++?
    Oder muss ich da mit einbussen rechnen?
    Wie schaut es mit OOP aus?

    Könntet ihr mir ein paar Infos ein paar Pro-/Contra-argumente geben?

    Danke im voraus



  • Hallo!

    Zum Thema Lernen: Wenn Du C/C++ schon ganz gut kennst, dann kannst Du
    Python innerhalb weniger Stunden lernen, es ist konzeptionell viel
    einfacher als C++ und die ganze Sprache ist darauf ausgerichtet, daß möglichst
    alles so funktioniert, wie man es erwartet, ohne erst Referenzbücher
    wälzen zu müssen.

    Vorteil: Erstens erweitert es den Horizont, andere Sprachen zu lernen.
    Zweitens wirst Du dann das eine oder andere Feature von C++ mit anderen
    Augen sehen (STL,...) und vielleicht besser einsetzen können.

    Zum Thema Einsetzbarkeit:

    Python kommt Performance-mäßig nicht annähernd an C++ heran, es ist
    10- bis 100-mal langsamer bei typischen Benchmarks, je nach Einsatzgebiet.
    Stringverarbeitung in Python ist allerdings recht schnell und äußerst
    komfortabel, GUIs zu programmieren ist ein Fingerschnippen.

    Leistungsstark ist Python insofern, als man schnell programmieren kann,
    da man keine Variablentypen angeben muß und viele Dinge einfach und kurz
    zu handhaben sind (Listen, Dictionaries, Files,...).

    Python ist also im Vergleich mit C++ effizient zur Entwicklungszeit, aber nicht so effizient zur Laufzeit.

    Thema OOP:

    OOP ist in Python mäßig, es ist nicht "von Grund auf", da es später hinzugefügt wurde. Für kleine und mittlere Projekte reicht die Python-OOP sicher aus,
    bei Großprojekten bin ich mir nicht sicher.

    Empfehlung:

    Schau Dir mal die Sprache Ruby an.
    Die hat alle Vorzüge von Python, aber ein wasserdichtes OOP-Modell
    ("alles ist ein Objekt") und Du bekommt mit Ruby noch ein Smalltalk-ähnliches
    Konstrukt.
    Außerdem steigt die Popularität von Ruby Dank "Ruby on Rails" derart
    steil an, daß man fürchten muß (oder hoffen darf -- je nachdem, was man besser
    findet), daß Ruby die Python-Sprache eines
    Tages abhängen wird, was Popularität angeht. Schlimm wäre es nicht, denn
    Python und Ruby sind sehr ähnlich.

    Grüße



  • Python ist sehr leistungstark und leicht zu erlernen.
    Lohnt sich auf jeden Fall 👍 👍 👍
    Python bringt sehr viele inovative Ideen mit, z.B.
    fallen Klammer (wie du sie aus C++ kennst {} um jeden Block)
    komplett weg, das steuert man über Einrückungen.
    Python erzieht auf diese Art und Weise dazu lesbaren Code zu schreiben.

    Was Ruby angeht: Ich liebe diese Sprache, halte sie aber
    gleichzeitig für völlig "verrückt".
    Ein Kumpel von mir hat die Sprache mal so beschrieben:
    "Man schreibt wie man denkt das es richtig ist" und
    genauso ist es.
    Klammer um Funktionen kann man schreiben
    muss man aber nicht, es gibt ca ein dutzend verschiedene Schleifen
    (times, upto,downto, step, loop ,while,until..)
    In Ruby gibt es immer mehrere Wege ein und dasselbe auszudrücken,
    was dich jetzt nicht erschrecken sollte, du schreibst einfach so
    wie du es von C++ gewohnt bist.
    Dann wäre noch zu sagen das Ruby mehr als OOP ist.
    Es ist einfach alles ein Objekt!

    Wenn du mich fragst lohnt es sich beide Sprachen zu lernen,
    man erweitert seinen Horizont und relativ schnell gehts auch
    wenn du bereits C++ kannst kann man Ruby/Python in wenigen Stunden lernen
    (Ich hab die Ruby-Grundlagen auf der Fahrt zum Linuxtag in Wiesbaden
    gelernt, das waren ca 2h)



  • Storm.Xapek.de schrieb:

    Python ist sehr leistungstark und leicht zu erlernen.
    Lohnt sich auf jeden Fall 👍 👍 👍
    Python bringt sehr viele inovative Ideen mit, z.B.
    fallen Klammer (wie du sie aus C++ kennst {} um jeden Block)
    komplett weg, das steuert man über Einrückungen.
    Python erzieht auf diese Art und Weise dazu lesbaren Code zu schreiben.

    Was Ruby angeht: Ich liebe diese Sprache, halte sie aber
    gleichzeitig für völlig "verrückt".
    Ein Kumpel von mir hat die Sprache mal so beschrieben:
    "Man schreibt wie man denkt das es richtig ist" und
    genauso ist es.
    Klammer um Funktionen kann man schreiben
    muss man aber nicht, es gibt ca ein dutzend verschiedene Schleifen
    (times, upto,downto, step, loop ,while,until..)
    In Ruby gibt es immer mehrere Wege ein und dasselbe auszudrücken,
    was dich jetzt nicht erschrecken sollte, du schreibst einfach so
    wie du es von C++ gewohnt bist.
    Dann wäre noch zu sagen das Ruby mehr als OOP ist.
    Es ist einfach alles ein Objekt!

    Wenn du mich fragst lohnt es sich beide Sprachen zu lernen,
    man erweitert seinen Horizont und relativ schnell gehts auch
    wenn du bereits C++ kannst kann man Ruby/Python in wenigen Stunden lernen
    (Ich hab die Ruby-Grundlagen auf der Fahrt zum Linuxtag in Wiesbaden
    gelernt, das waren ca 2h)

    Ich habe vorhin in Wikipedia gelesen, dass Python keine switch() mehr hat(wegen der lesbarkeit). Das gefält mir nicht an Python. 10 if else konstrukte sind unlesbarer als ein einziger switch.

    Aber sonst scheint Python ganz interessant zu sein.

    Gentoo sett doch stark auf Python. In wie fern? Also in Welchen Bereichen?

    Ich schwanke gerade zwischen Ruby/Python.

    Stimmt es, dass Ruby sehr für Netzwerkzeug geeignet ist? Oder wars Python?



  • Zögernd schrieb:

    Ich habe vorhin in Wikipedia gelesen, dass Python keine switch() mehr hat(wegen der lesbarkeit). Das gefält mir nicht an Python. 10 if else konstrukte sind unlesbarer als ein einziger switch.

    Python hat einen ausgesprochen komfortablen Maptyp (sog. Dictionaries), damit lassen sich sehr viele der typischen "switch" Probleme lösen. Im übrigen ist switch auch in C und C++ nicht besonders praktisch, es funktioniert schließlich nur mit integralen Datentypen.

    Zögernd schrieb:

    Gentoo setzt doch stark auf Python. In wie fern? Also in Welchen Bereichen?

    Der Paketmanager Portage ist komplett in Python geschrieben. Er ist zwar etwas langsam (zumindest ohne psyco, was auf amd64 nicht läuft), aber extrem flexibel und praktisch.

    Zögernd schrieb:

    Ich schwanke gerade zwischen Ruby/Python.

    Lern beides.

    Zögernd schrieb:

    Stimmt es, dass Ruby sehr für Netzwerkzeug geeignet ist? Oder wars Python?

    Ich denke da gibts für beide gute Möglichkeiten.

    Übrigens, ist in Python nicht auch "alles ein Objekt"?!



  • Hobbyprogrammierer schrieb:

    Außerdem steigt die Popularität von Ruby Dank "Ruby on Rails" derart
    steil an, daß man fürchten muß (oder hoffen darf -- je nachdem, was man besser
    findet), daß Ruby die Python-Sprache eines
    Tages abhängen wird, was Popularität angeht.

    Python scheint sich momentan zu einer der beliebtesten Skript-Sprachen überhaupt zu entwickeln - zumindest unter Linux 😉
    Wenn ich hier bei meinem Ubuntu (momentan ja die beliebteste Linux-Distribution) nach *.py und nach *.rb-Dateien suchen lasse und die Ergebnisse jeweils von Dokumentation und Skripten die zum jeweiligen Interpreter gehören bereinige, ergibt ein eindeutiges Ergebnis: 526 Python-Skripte zu 20 Ruby-Skripten.
    Wohl gemerkt, ich arbeite weder mit Python noch mit Ruby, d.h. keines der Skripte ist auf meinem Mist gewachsen. Die ganzen Python-Skripte gehen übrigens hauptsächlich auf die Konten von Gimp, HPLIP, texmacs, gedit, gdesklets, Lyx, Amarok und Ubuntu-eigenem Zeug.
    Ok, ich geb's ja zu, das ist jetzt alles andere als eine wissenschaftliche, fundierte Analyse - aber zeigt dennoch, dass Python wohl eher gut als schlecht dasteht 😉

    Allerdings würde ich nicht gerade behaupten, dass Python oder Ruby den Horizont erweitern ... da schon eher sowas wie Prolog 😉



  • Prolog kann ich nun auch wieder empfehlen.
    Und wenn man nurmal kurz anlernt um auch mal
    das logische Programmierparadigma zu "erleben".

    Denoch, lern leiber erstmal python dann ruby und dann prolog
    da dürftest du erstmal genug zu tun haben.
    (Mach es auf jedenfall nacheinander und nicht wild durcheinander,
    oder schau dir alle 3 mal kurz an und entscheide dann
    welche Sprache dich im Moment am meisten reizt)

    .filmor schrieb:

    Zögernd schrieb:

    Gentoo setzt doch stark auf Python. In wie fern? Also in Welchen Bereichen?

    Der Paketmanager Portage ist komplett in Python geschrieben.

    Ganz lustig wirds mit folgendem Befehl "emerge -C python" 😃



  • Storm.Xapek.de schrieb:

    Denoch, lern leiber erstmal python dann ruby und dann prolog
    da dürftest du erstmal genug zu tun haben.
    (Mach es auf jedenfall nacheinander und nicht wild durcheinander,
    oder schau dir alle 3 mal kurz an und entscheide dann
    welche Sprache dich im Moment am meisten reizt)

    Wo wir schon dabei sind, Haskell ist auch cool (dann hast du noch was Funktionales drin, auch wenn der IO-Kram darin suspekt ist). Für Skripte, die irgendwelche "sinnvollen" (also im Alltag nötige) Aufgaben erledigen ist IMHO Python am geeignetsten. Die anderen Sprachen sind mehr (Haskell) oder weniger (Ruby) nur für bestimmte Problemstellungen passend, im Alltag hatte ich bisher von keinem der beiden Nutzen.

    Storm.Xapek.de schrieb:

    .filmor schrieb:

    Zögernd schrieb:

    Gentoo setzt doch stark auf Python. In wie fern? Also in Welchen Bereichen?

    Der Paketmanager Portage ist komplett in Python geschrieben.

    Ganz lustig wirds mit folgendem Befehl "emerge -C python" 😃

    # emerge -C python
    
    !!! 'dev-lang/python' is part of your system profile.
    !!! Unmerging it may be damaging to your system.
    
    >>> Waiting 10 seconds before starting...
    >>> (Control-C to abort)...
    Press Ctrl-C to Stop in: 10 9 8 7 6 5 4 3 2 1
    
    Exiting on signal 2
    

    :p. Immerhin 10 Sekunden bis zum GAU, so leicht lässt sich Gentoo nicht zum Suizid bewegen. Außerdem sollte jeder Linuxer die Neuinstallation manuell hinkriegen. Fieser wäre emerge -C coreutils.


Anmelden zum Antworten