Ist Pythons mangelnde Typsicherheit ein ernsthaftes Problem für große Projekte?
Ist Pythons mangelnde Typsicherheit ein ernsthaftes Problem für große Projekte?
Ich habe Python noch nicht wirklich verwendet, allerdings andere dynamische Sprachen (vor allem Ruby und Elixir). Meiner Meinung nach hat Typ-Sicherheit sicherlich Vorteile. Aber dennoch spricht aus meiner Sicht auch nichts dagegen eine dynamische Sprache für größere Applikationen zu verwenden. Allerdings erfordert so etwas dann eine gute Planung der Architektur.
Eine Möglichkeit ist der Einsatz von Microservices, bei dem das Gesamtproblem in kleine miteinander interagierende Applikationen herunter gebrochen wird. Eine andere Möglichkeit ist innerhalb der Applikation klare Grenzen zu ziehen und die einzelnen Komponenten auch nur über klare Interfaces kommunizieren lassen. Auf diese Weise erzeugt man eine klare logische und kleinteilige Struktur, die sich leichter überblicken lässt. Eine Sprache wie Elixir unterstützt das z.B. mit dem Konzept der Umbrella-Applikation.
Unabhängig von der Architektur muss eine sehr gute Testcoverage gegeben sein. Ein dynamisch typisierter Ungetesteter Code ist in meinen Augen nicht wartbar.
Fazit:
Ja, typisierte Sprachen geben grundsätzlich Sicherheit. Aber dynamisch typisierte Sprachen haben, wenn man ausreichend Disziplin an den Tag legt, ebenfalls durchaus ihre Vorzüge.