Bahasa dinamis secara teori tidak menguntungkan, semuanya sama, karena mereka kurang menentukan tentang bagaimana kode bekerja (apa kendalanya), dan karena itu lebih sedikit refactoring dapat dilakukan secara otomatis, dan masalah yang muncul tidak dapat dideteksi secara otomatis juga .
Tapi semuanya tidak sama. Bahasa dinamis yang paling populer memungkinkan kode yang sangat kompak namun mudah dipahami, yang umumnya membuat pengembangan di dalamnya lebih cepat, dan membuat logika (yang dapat berubah dalam refactoring) lebih mudah dikenali secara visual. Jadi, meskipun Anda mungkin kehilangan beberapa keuntungan relatif dari bekerja dalam bahasa yang dinamis, Anda mungkin masih unggul, terutama jika Anda berencana melakukan refactoring dengan tangan.
Di sisi lain, ada bahasa yang diketik secara statis dengan keunggulan yang pada dasarnya sama dengan bahasa dinamis (yaitu kompak dan dapat dipahami - dengan jenis yang sebagian besar disimpulkan, tetapi sangat banyak di sana): Haskell mungkin merupakan contoh utama, tetapi OCaML / F #, Scala, dan yang lainnya ada di kategori ini juga. Sayangnya, karena mereka kurang banyak digunakan daripada bahasa yang diketik secara statis paling populer, mereka tidak memiliki set alat yang luas untuk mereka (misalnya untuk refactoring).
Jadi, sebagai garis bawah, saya pikir Anda akan melakukan cukup dengan metodologi tangkas di sebagian besar bahasa; Saya tidak akan mengatakan ada pemenang yang jelas sekarang karena latihan belum mengejar teori.