Mari kita beri contoh dunia nyata.
Sekitar 15 tahun yang lalu saya bekerja pada porting sistem besar yang ditulis dalam C dari Unix ke Windows, itu sekitar 3 juta baris kode. Untuk memberi Anda gambaran skala, butuh waktu 24 jam untuk mengkompilasi pada beberapa sistem unix kami (RS6000), windows dapat mengkompilasi sistem dalam waktu sekitar 4 jam.
(Kami juga memiliki 2 juta baris kode dalam bahasa yang kami interpretasikan sendiri, tetapi memutuskan untuk tidak menggunakan bahasa kami untuk sistem build karena tidak pernah dirancang untuk pemrosesan file. Juga kami membutuhkan sistem build untuk mengkompilasi kode C yang mengimplementasikan bahasa kami. .)
Pada saat sistem build ditulis dalam campuran skrip shell dan membuat file, ini tidak portabel untuk windows - oleh karena itu kami memutuskan untuk menulis sistem build kami sendiri.
Kami bisa menggunakan C, namun kami memutuskan untuk menggunakan python, ada beberapa alasan. (Kami juga menulis ulang sistem kontrol kode sumber kami di python pada saat yang sama, ini sangat terintegrasi dengan sistem build, sehingga file objek untuk diperiksa dalam modul dapat dibagikan oleh pengembang.)
Sebagian besar kode kami dapat dibangun dengan beberapa aturan sederhana (hanya beberapa ribu baris python untuk semua platform, Windows, VMS, dan 6 versi Unix) yang digerakkan dari konvensi penamaan file.
Pada saat itu RegEx tidak terlalu standar antara sistem C pada platform yang berbeda, Python telah membangun di RegEx.
Beberapa modul membutuhkan langkah-langkah membangun kustom, Python memungkinkan file kelas dimuat secara dinamis. Kami mengizinkan kelas khusus untuk digunakan untuk membangun modul (lib), berdasarkan memiliki file python dengan nama ajaib di folder. Ini adalah alasan pembunuh untuk menggunakan python.
Kami mempertimbangkan Java, tetapi tidak mengirim pada semua platform pada saat itu.
(UI untuk sistem kontrol kode sumber kami menggunakan browser web karena itu portabel di semua platform. Ini adalah 6 bulan sebelum kami memiliki koneksi internet. Kami harus mengunduh browser melalui X25!)