ขอยกตัวอย่างโลกแห่งความจริงให้คุณ
ประมาณ 15 ปีที่แล้วฉันทำงานเกี่ยวกับการย้ายระบบขนาดใหญ่ที่เขียนใน C จาก Unix ไปยัง Windows มันเป็นรหัสประมาณ 3 ล้านบรรทัด เพื่อให้คุณมีความคิดเกี่ยวกับการปรับขนาดใช้เวลามากกว่า 24 ชั่วโมงในการรวบรวมระบบยูนิกซ์บางส่วนของเรา (RS6000) หน้าต่างสามารถรวบรวมระบบในเวลาประมาณ 4 ชั่วโมง
(เรามีรหัส 2 ล้านบรรทัดในภาษาที่แปลของเราเอง แต่ตัดสินใจที่จะไม่ใช้ภาษาของเราสำหรับระบบการสร้างเนื่องจากไม่ได้ออกแบบมาสำหรับการประมวลผลไฟล์นอกจากนี้เราต้องการระบบสร้างเพื่อรวบรวมรหัส C ที่ใช้ภาษาของเรา .)
ในขณะที่ระบบบิลด์เขียนด้วยเชลล์สคริปต์และสร้างไฟล์เหล่านี้ไม่สามารถพกพาไปยัง windows ได้ดังนั้นเราจึงตัดสินใจเขียนระบบ build ของเราเอง
เราสามารถใช้ C ได้ แต่เราตัดสินใจที่จะใช้ python มันมีเหตุผลสองสามข้อ (เราเขียนระบบควบคุมซอร์สโค้ดของเราอีกครั้งในไพ ธ อนพร้อมกันซึ่งเป็นระบบที่ประกอบขึ้นด้วยระบบการสร้างดังนั้นวัตถุไฟล์สำหรับการตรวจสอบในโมดูลสามารถแชร์โดยนักพัฒนาได้)
รหัสของเราส่วนใหญ่สามารถสร้างด้วยกฎง่าย ๆ (เพียงไม่กี่พันบรรทัดของงูใหญ่สำหรับทุกแพลตฟอร์ม, Windows, VMS, และ Unix 6 เวอร์ชัน) ที่ถูกขับออกมาจากการตั้งชื่อไฟล์
ในเวลานั้น RegEx ไม่ได้มาตรฐานมากระหว่างระบบ C บนแพลตฟอร์มที่ต่างกัน Python ได้สร้างใน RegEx
บางโมดูลต้องการขั้นตอนการสร้างที่กำหนดเอง Python อนุญาตให้โหลดไฟล์คลาสแบบไดนามิก เราอนุญาตให้ใช้คลาสที่กำหนดเองเพื่อสร้างโมดูล (lib) โดยยึดตามไฟล์ python ที่มีชื่อเวทย์มนตร์ในโฟลเดอร์ นี่เป็นเหตุผลที่นักฆ่าใช้งูหลาม
เราพิจารณา Java แต่มันไม่ได้จัดส่งในทุกแพลตฟอร์ม ณ จุดนั้น
(UI สำหรับระบบควบคุมซอร์สโค้ดของเราใช้เว็บเบราว์เซอร์เหมือนกับพกพาได้ทั่วทุกแพลตฟอร์มนี่คือ 6 เดือนก่อนที่เราจะมีการเชื่อมต่ออินเทอร์เน็ตเราต้องดาวน์โหลดเบราว์เซอร์ผ่าน X25!)