Hinweis: Dies ist größtenteils subjektiv und basiert auf meinen Erfahrungen und Eindrücken.
Dynamisch typisierte Sprachen unterscheiden sich stark von statisch typisierten Sprachen. Diese Unterschiede werden bei schwerer Unternehmenssoftware wahrscheinlich wichtiger als bei den meisten anderen Anwendungen.
Statisch typisierte Sprachen sind in der Regel sehr genau. Eine Methode nimmt nur Eingaben entgegen, die genau ihrer Signatur entsprechen. Zugriffsebenen sind in der Regel sehr wichtig, und Schnittstellen werden explizit definiert, wobei ausführliche, aber eindeutige Einschränkungen bestehen, um diese Definitionen durchzusetzen.
Dynamisch getippte Sprachen sind dagegen sehr pragmatisch. Typkonvertierungen erfolgen oft implizit, Funktionen können sogar mitspielen, wenn Sie den falschen Eingabetyp angeben, sofern sich dieser hinreichend ähnlich verhält. In Sprachen wie Python basieren selbst Zugriffsberechtigungen auf vertraglichen und nicht auf technischen Einschränkungen (dh nur, private
weil Sie angewiesen werden, sie nicht zu verwenden, und sie haben einen lustigen Namen).
Viele Programmierer bevorzugen dynamische Sprachen, weil sie (vermutlich) Rapid Prototyping ermöglichen. Der Code wird häufig kürzer (schon allein wegen fehlender Typdeklarationen) und wenn Sie gegen das richtige Protokoll verstoßen möchten, weil Sie eine schnelle und schmutzige Lösung benötigen oder etwas testen möchten, ist dies leicht möglich.
Nun, der Grund, warum "Unternehmer" oft statisch typisierte Sprachen bevorzugen, ist genau der, dass sie diese Einschränkungen restriktiver und expliziter angehen. Obwohl in der Praxis sogar statisch getippter Code von Idioten mit einem Compiler gebrochen werden kann, werden viele Probleme viel früher im Prozess (dh vor der Laufzeit) sichtbar. Dies bedeutet, dass selbst wenn die Codebasis groß, monolithisch und komplex ist, viele Fehler leicht abgefangen werden können, ohne dass der Code ausgeführt oder an die QA-Abteilung gesendet werden muss.
Der Grund, warum der Nutzen die Nachteile für viele Programmierer außerhalb dieser Umgebung nicht überwiegt, ist, dass es sich um Fehler handelt, die häufig durch eine gründliche Überprüfung des Codes oder sogar durch den Versuch, ihn auszuführen, leicht aufgefangen werden können. Insbesondere bei der Befolgung einer testgetriebenen Methodik werden diese Fehler oftmals trivial und leicht zu beheben. Auch bei vielen solchen Unternehmen mit einem viel kürzeren Release-Zyklus ist die Produktivität oft wichtiger als die Steifheit, und die Entwickler selbst führen viele (grundlegende) Tests durch.
Der andere Grund, warum Unternehmen keine dynamisch getippten Sprachen verwenden, ist Legacy-Code. So albern es uns Nerds auch erscheinen mag, große Unternehmen halten oft an Lösungen fest, die funktionieren, auch wenn sie längst über ihre Haltbarkeit hinausgehen. Aus diesem Grund erzwingen so viele große Unternehmen Internet Explorer 6 und aktualisieren ihre Betriebssysteme nur sehr langsam. Dies ist auch der Grund, warum sie häufig neuen Code in "alten" Sprachen schreiben (z. B. in alten Versionen von Java): Es ist viel einfacher, ein paar Zeilen Code zu einer nicht mehr lebenden Software hinzuzufügen, als die Genehmigung für ein vollständiges Umschreiben in einer neuen zu erhalten Sprache.
tl; dr: statische sprachen fühlen sich eher wie bürokratie an, so dass unternehmerische Manager sie besser mögen.