Für was nutzt ihr Python?



  • Für was nutzt ihr Python?



  • Für nichts.



  • DirkB schrieb:

    Für nichts.

    Dieselbe Antwort bekomme ich sicher auch im Python-Forum über C/C++. Hätte ja sein können, dass hier ein paar Leute unterwegs sind die ab und an mal über den Tellerrand hinaus schauen.



  • Schlangenbeschwörer schrieb:

    Dieselbe Antwort bekomme ich sicher auch im Python-Forum über C/C++.

    Ich spreche nur für mich

    Schlangenbeschwörer schrieb:

    Hätte ja sein können, dass hier ein paar Leute unterwegs sind die ab und an mal über den Tellerrand hinaus schauen.

    Das tue ich.
    Aber nicht mit Python.



  • Im Moment für alles. Ich komme mit meiner C++-Lernerei einfach nicht wirklich auf einen grünen Zweig. Das liegt hauptsächlich an meinem Durchhaltevermögen. Mir macht C++ Spaß, wirklich - aber die Lernkurve ist zu steil, um mich bei der Stange zu halten.

    Python hat mich von Anfang an begeistert, und die Fortschritte, die ich mache, sind mit meinen C++-Abenteuern nicht vergleichbar. Und Python macht mindestens genauso viel Spaß. Es ist elegant und lässt zumindest mich für Desktopanwendungen nichts vermissen.

    C++ ganz den Rücken zu kehren, werde ich aber nicht schaffen. 😉



  • Schlangenbeschwörer schrieb:

    Für was nutzt ihr Python?

    Für alles wo die alten Dinosaurier-Progger früher PERL nutzten.
    Und dazu noch für viele Sachen wo die heutigen Kindergarten-Progger Visual Basic oder Java nutzen.

    Seriösere Antwort:
    Auf meinem Projekt persönlich:
    - Scripts die Textdateien parsen, zusammenfasen oder umwandeln.
    - Testscripts die Testszenarien auf Serverprogrammen ablaufen lassen.
    - Kleinere GUI-Apps, für Tools oder Prototypen.
    - ...

    Für richtig grosse, Mission-critical Produktionsprojekte kann ich mir Python nicht vorstellen, hauptsählich wegen der fehlenden Typsicherheit. Und nein, Unit-Tests sind dazu keine Alternative.



  • So ähnlich geht es mir auch, nur habe ich zuerst C dann etwas C++ gelernt. Ich habe damit auch ein paar Sachen gemacht, aber ich bin derzeit völlig verblüfft wie einfach Programmieren sein kann, wenn man Python nutzt. Ich lege C und C++ daher erst mal auf Eis, falls ich in Python mal einen Speed brauche, den mir die Libs nicht geben können, dann kann ich mir selbst immer noch Module schreiben, bzw gibt es ja Tools die automatisch Header Files für Python wrappen.

    Ich sehe jetzt meine C und C++-Zeit nicht als völlig sinnlos an, aber ich werde so schnell kein Projekt mehr damit anfangen. Das ist ja ein ganz großer Krampf im Vergleich zur Entwicklung mit Python. Selbst Klassen nutze ich nur noch selten, da sie oft unnützer Ballast für meine kleinen Hobbyprojekte sind.



  • Für richtig grosse, Mission-critical Produktionsprojekte kann ich mir Python nicht vorstellen

    Nein, ich mir auch nicht, aber solche Projekte kann ich allein eh nicht bewerkstelligen und im Team werde ich sicherlich nie arbeiten. Ich möchte mir aber ehrlich auch nicht vorstellen was Großes mit C++ oder gar C zu machen, dann schon eher Java oder so.

    Aber genau deine genannten Anwendungsfälle sehe ich auch als Hauptziele für Python, schnell mal was mit GUI machen oder einen Crawler oder einen Konverter schreiben. Ideen einfach schnell und unkompliziert umsetzen und jeder Entwickler versteht dabei den Code, auch die Anfänger.



  • Zum Webseiten scrapen (urllib und pyquery sind echt geil) und kleine Scripts.
    Nichts Größeres weil mich da das fehlende (explizite) Typsystem furchtbar nervt, ich finde Programmieren ohne Typen sehr schwierig.



  • Ethon schrieb:

    Nichts Größeres weil mich da das fehlende (explizite) Typsystem furchtbar nervt, ich finde Programmieren ohne Typen sehr schwierig.

    Solche Sprachen haben genau einen Typ.

    Für winzige Programme, die in lesbarer Schrift auf den Bildschirm passen, kann ich gerade so noch mit Lua leben. Ich kann mir aber nicht vorstellen wie man damit größere Programme schreiben kann. Auf der Arbeit musste ich mal einen Bug in einer wenige hundert Zeilen umfassenden Javascript-Datei für eine Webseite beheben. Das ist wahnsinnig schwierig, wenn man eine IDE und einen Compiler gewohnt ist, die ein sinnvolles Typsystem unterstützen und damit ganz viel Unsinn vor dem Ausführen finden. Was kann in diesem Argument alles hereinkommen? In einer vernünftigen Sprache ist diese Frage schnell beantwortet, denn es steht direkt in der Parameterliste. In so einer Schwachsinnssprache wie Javascript muss man dann alle Aufrufe heraussuchen und hoffen, dass man keinen übersehen hat. Etwas umbenennen oder einen Parameter hinzufügen? In einer vernünftigen Sprache ganz einfach, weil dann bei jeder Verwendung der Compiler einen Fehler meldet. In ach so flexiblen "dynamischen" Sprachen ist so etwas Einfaches der Horror.

    Da muss es einen tollen Vorteil geben, der den gewaltigen Produktivitätsverlust beim Herumsuchen ausgleicht. Kann mich mal jemand aufklären?



  • Ein Typ ist so gut wie kein Typ. 😉

    Und ich habe mich auf das gleiche Problem bezogen: Ich habe mich in einem 500 Zeilen Script nicht mehr ausgekannt nachdem es ein Studienkollege etwas refactort hat und musste wirklich die komplette Aufruf-Hierachie durch manuelles Typ-Tracing betreiben um zu verstehen was da herum gereicht wird. Hint: es war etwas wie eine Liste von Dictionaries, welche Strings auf Listen mappen.
    Grausam.



  • TyRoXx schrieb:

    Da muss es einen tollen Vorteil geben, der den gewaltigen Produktivitätsverlust beim Herumsuchen ausgleicht. Kann mich mal jemand aufklären?

    Nö, dynamic typing is bullshit. Aber Python ist an sich recht nett um schnell irgendwas zusammenzuhacken. Richtige Software würde ich damit nicht bauen wollen...



  • Für was nutzt ihr Python?

    für ein Skript, das die Frage beantwortet, wofür ihr python benutzt.

    Scherz.

    Für Aufgaben, für die mir bash zu unbequem ist, die aber zu einfach sind, um dafür ein C++ Projekt aufzusetzen. Z.B automatisierte log-Analysen und etwas kompliziertere Admin Skripten.

    In den letzten Jahren gehe ich aber mehr und mehr dazu über, die kleineren (und alle Admin-)Sachen mit bash zu skripten, für alles Größere C++ zu nehmen, und den Rest mit domain-specific languages. Für kleine Tools mit GUI würde ich fast noch immer lieber tcl/tk nehmen.

    Vor einigen Jahren hatte ich ein berufliches Projekt in python 2 mit rund 10k Loc, und ehrlich gesagt würde ich nicht wieder ein 10k Loc Projekt mit python erledigen wollen.

    Irgendwie habe ich keine Bedarfslücke, für die ich python wirklich bräuchte. Ist eine ganz hübsche Sprache.



  • Für Webserver. Mit dem Framework Django ist es extrem einfach, einigermassen komplizierte Webseiten zu erstellen. Klassenhierarchien werden automatisch (mit Reflection) zu Datenbanktabellen, Queries sind eine DSEL und in den HTML-Templates kann ich die Objekte aus Python benutzen.

    Ich wüsste nicht, wie das in C++ vernünftig umsetzbar wäre.

    Mit dynamic Typing hatte ich bisher nur ein Problem, wenn ich Parameter vertauscht habe, aber das passiert mir mit Named Arguments nicht mehr.



  • Ich nutze Python für ImageProcessing mit OpenCV und als GUI für CommandLineTools.



  • Ich benutze es momentan, um ein Tool in einer Firma zu schreiben, dass alle SVN-Repositories in ein einziges merged. Es gibt dafür leider kein Tool im Internet.

    python finde ich als Skriptsprache ganz gut, aber nicht sooo gut, wie jetzt vll. andere. Ruby ist z. B. ausdrucksstärker, Scala ebenfalls und hat dazu noch Typsicherheit und Performance. Das Beste an pyhton sind einfach die libs.

    L. G.,
    IBV



  • IBV schrieb:

    Ich benutze es momentan, um ein Tool in einer Firma zu schreiben, dass alle SVN-Repositories in ein einziges merged. Es gibt dafür leider kein Tool im Internet.

    Witzig, genauso ein Programm für Git habe ich neulich noch in Bash geschrieben.



  • Manchmal nutze ich Python fuer kleine Scripte, aber ansonsten nur noch Java. C++ muss ich leider gerade ein wenig fuer einen Auftrag machen, was fuer eine schreckliche Sprache und Workflow. Respekt wer sich so etwas freiwillig antut.



  • Python ist eine kleine, praktische Skriptsprache, mit der man sich schnell mal kleine Programme zusammenschreiben kann. Dabei hat man auch noch eine bessere Syntax und viel mehr moeglichkeiten als mit Bash. Auch zum ablaufenlassen von Tests scheint es ganz praktisch zu sein.

    Ich nutze es hauptsaechlich fuer kleine Berechnungen und um mal schnell was auszuprobieren.


  • Mod

    Für nichts mehr. Ich habe es eine Weile versucht, für Programme, die für Shellscript zu komplex und für eine general purpose Sprache zu einfach sind. Aber die Sprache hat mir überhaupt nicht gefallen. Seither bin ich stattdessen sehr viel besser in bash geworden und schrecke auch nicht zurück, für eine kleine Aufgabe C++ zu benutzen. Da habe ich mittlerweile so viele schöne kleine Helferlein, dass diese kleinen Aufgaben fast so einfach gehen wie in Scriptsprachen. Seither besteht kein Bedarf mehr für Zwischensprachen und ich habe Python mehr oder weniger aus dem Gedächtnis verdrängt. Ich weiß gar nicht mehr, was mich konkret störte, ich glaube es war irgendwas mit dem Objektmodell und/oder der Typisierung.

    PS: Und Nein, meine Helferlein veröffentliche ich nicht. Die sind historisch gewachsen und daher wahrscheinlich nur von mir vernünftig nutzbar.


Anmelden zum Antworten