Kontext: Ich kann bis jetzt nur Java und will ein Programm schreiben um die Metadaten meiner Musikbibliothek zu verändern. Die Bibliothek die das Möglich macht unterstützt nur Python. Anfangs war ich echt positiv von der Einfachheit überrascht, aber mittlerweile kann ich den Hass auf Python sehr stark verstehen. Spätestens bei den Ersten Typisierungsfehlern lernt man stark typisierte Sprachen wie Java zu schätzen.

  • jenesaisquoi@feddit.org
    link
    fedilink
    English
    arrow-up
    18
    ·
    17 days ago

    Du brauchst mypy in deinem Leben.

    Oder die Hartkern-Variante: in Rust schreiben und via Python konsumierbar machen mit PyO3

    • runiq@feddit.org
      link
      fedilink
      arrow-up
      6
      ·
      17 days ago

      Im Prinzip ja, aber für ein One-Off-Skript zum Anpassen von Metadaten wären mir das dann wahrscheinlich doch zuviele Typen.

      • 𝕨𝕒𝕤𝕒𝕓𝕚@feddit.org
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        17 days ago

        Python kann mittlerweile statische type hints. Dabei schreibst du nur die intention (“ein int geht rein, ein bool kommt raus”). Mypy warnt dich dann wenn du in irgendeine Funktion Daten reinstecken willst, die nicht reinpassen. Zur Laufzeit werden die type gibts ignoriert. Je nachdem wen man fragt ist das entweder eine total flexible Art Typen so stark oder so lax wie man möchte in seinen code zu integrieren, oder es ist nutzlos da es keine laufzeitsicherheit bietet.