Python wie Rust schreiben
(kobzol.github.io)- Als ich anfing, Rust zu verwenden, habe ich einige Konzepte aus Rust in meine Art zu programmieren mit Python übernommen
- Type Hints so weit wie möglich verwenden
- Dataclasses statt Tupeln/Wörterbüchern
- Algebraische Datentypen (ADT)
- Newtype-Pattern
- Invarianten mithilfe von Typen kodieren
- Stark typisierte Bounding Boxes
8 Kommentare
Wenn das so ist, warum benutzt man dann überhaupt Python …
(feat. Wenn das so ist, warum benutzt man dann überhaupt Node.js)
Es scheint, als wären nur Typen hinzugefügt worden – ist das wirklich mit Rust vergleichbar?
Wenn man Python wie Rust schreiben will, ist es dann nicht besser, einfach Rust zu verwenden?..
Kann man Tensorflow und PyTorch mit Rust nutzen? Selbst wenn das möglich ist, weiß man noch nicht, ob sich auch die daran hängenden Bibliotheken verwenden lassen. Das ist eine viel zu eindimensionale Sichtweise.
Ich denke, es ist je nach Situation unterschiedlich, ob man die guten Eigenschaften (Konzepte) einer Sprache nutzt oder die Sprache selbst direkt verwendet, aber es sind unterschiedliche Dinge. Nur weil man bestimmte Eigenschaften funktionaler Sprachen wie Lisp oder Haskell in JavaScript sehr effektiv einsetzen kann, heißt das nicht, dass man dort, wo man JavaScript verwendet, kein Lisp einsetzen könnte.
Je nach Situation sollte man das selektiv auswählen, aber insgesamt sind das Ansätze, die ich grundsätzlich empfehlen würde.
Ich kenne mich mit Python nicht besonders gut aus....
Würde das auf diese Weise nicht viel Overhead verursachen?
Im Inhalt geht es insgesamt viel darum, Type Hints zu verwenden, aber das passiert nicht zur Laufzeit und hat daher nichts mit der Performance zu tun. Teile mit Typprüfungen wie
isinstancekosten gegenüber gar keiner Prüfung zwar etwas mehr, soweit ich weiß werden sie intern aber gecacht. In extrem großen Schleifen kann dadurch natürlich schon ein Unterschied entstehen.