Catatan: ini sebagian besar subjektif dan berdasarkan pengalaman dan kesan saya.
Bahasa yang diketik secara dinamis sangat berbeda dari bahasa yang diketik secara statis. Perbedaan ini mungkin menjadi lebih penting dalam perangkat lunak perusahaan kelas berat daripada di sebagian besar aplikasi lainnya.
Bahasa yang diketik secara statis cenderung sangat preskriptif. Metode hanya akan mengambil input yang sama persis dengan tanda tangannya. Tingkat akses cenderung menjadi sangat penting dan antarmuka didefinisikan secara eksplisit, dengan pembatasan yang tegas tetapi tegas untuk menegakkan definisi tersebut.
Bahasa yang diketik secara dinamis di sisi lain sangat pragmatis. Jenis konversi sering terjadi secara implisit, fungsi bahkan dapat bermain bersama jika Anda memberikan jenis input yang salah asalkan berperilaku cukup mirip. Dalam bahasa seperti Python, bahkan tingkat akses akan didasarkan pada kontrak daripada pembatasan teknis (yaitu hanya private
karena Anda diberitahu untuk tidak menggunakannya dan memiliki nama yang lucu).
Banyak programmer lebih suka bahasa yang dinamis karena mereka (bisa dibilang) memungkinkan prototyping cepat. Kode sering berakhir lebih pendek (jika hanya karena kurangnya jenis deklarasi) dan jika Anda ingin melanggar protokol yang tepat karena Anda memerlukan solusi cepat dan kotor atau ingin menguji sesuatu, itu mudah.
Sekarang, alasan bahwa perusahaan "enterprisey" sering lebih suka bahasa yang diketik secara statis adalah karena mereka lebih membatasi dan lebih eksplisit tentang pembatasan itu. Meskipun dalam prakteknya bahkan kode yang diketik secara statis dapat dipecah oleh orang idiot dengan kompiler, banyak masalah akan jauh lebih terlihat jauh lebih awal ke dalam proses (yaitu sebelum runtime). Ini berarti bahwa meskipun basis kode besar, monolitik dan kompleks, banyak kesalahan dapat ditangkap dengan mudah, tanpa harus menjalankan kode atau mengirimkannya ke departemen QA.
Alasan mengapa manfaat tidak lebih besar daripada kerugian bagi banyak programmer di luar lingkungan itu adalah bahwa ini adalah kesalahan yang akan sering dengan mudah ditangkap oleh pemeriksaan menyeluruh terhadap kode atau bahkan dengan mencoba menjalankannya. Terutama ketika mengikuti metodologi uji-didorong, kesalahan ini sering menjadi sepele untuk ditangkap dan mudah diperbaiki. Juga, dengan banyak perusahaan seperti itu memiliki siklus rilis yang lebih pendek, produktivitas seringkali lebih penting daripada kekakuan dan banyak pengujian (dasar) sedang dilakukan oleh pengembang sendiri.
Alasan lain bahwa banyak perusahaan tidak menggunakan bahasa yang diketik secara dinamis adalah kode warisan. Konyol, bagi perusahaan besar, seringkali perusahaan akan tetap berpegang pada solusi yang berhasil, bahkan jika mereka sudah melewati masa simpannya. Inilah sebabnya mengapa banyak perusahaan besar memberlakukan Internet Explorer 6 dan sangat lambat untuk memutakhirkan OS mereka. Ini juga sebabnya mereka akan sering menulis kode baru dalam bahasa "lama" (misalnya versi Jawa kuno): jauh lebih mudah untuk menambahkan beberapa baris kode ke perangkat lunak yang tidak hidup daripada untuk mendapatkan persetujuan untuk penulisan ulang lengkap dalam bahasa baru bahasa.
tl; dr: bahasa statis terasa lebih seperti birokrasi, sehingga manajer yang tegas lebih menyukainya.