จากทุกสิ่งที่ฉันเห็นมันเป็นการผสมผสานระหว่างเหตุผลเชิงปฏิบัติและประวัติศาสตร์ เหตุผลทางประวัติศาสตร์ (ส่วนใหญ่) คือ CPython 1.0 เปิดตัวในปี 1989 ในเวลานั้น C เพิ่งเป็นมาตรฐานเมื่อเร็ว ๆ นี้ C ++ แทบไม่เป็นที่รู้จักและไม่ได้พกพาสะดวกเพราะเกือบจะไม่มีใครมีคอมไพเลอร์ C ++
แม้ว่า C ++ จะแพร่หลายมากขึ้นและพร้อมให้ใช้งานได้ง่ายขึ้นในวันนี้ โดยตัวของมันเองงานนั้นจะให้ผลประโยชน์เพียงเล็กน้อยหรือไม่มีเลย
มันเหมือนกับการโพสต์บล็อกของ Joelเกี่ยวกับการเริ่มต้นใหม่และการเขียนใหม่ทั้งหมดถือเป็นความผิดพลาดที่เลวร้ายที่สุดที่ บริษัท ซอฟต์แวร์สามารถทำได้ ฉันตอบโต้ด้วยการชี้ไปที่การแปลงของ Microsoft จากแกน Windows 3.0 ไปเป็นแกน Windows NT และการแปลงของ Apple จาก MacOS 9 เป็น Mac OS / X ไม่มีใครฆ่า บริษัท - แต่ทั้งคู่มีขนาดใหญ่มากราคาแพงโครงการระยะยาว ทั้งสองยังชี้ไปที่บางสิ่งที่สำคัญต่อความสำเร็จ: การรักษาฐานรหัสทั้งสองไว้นานพอที่ผู้ใช้ (ส่วนใหญ่) สามารถเปลี่ยนไปใช้รหัสฐานใหม่ได้ตามเวลาว่างโดยคำนึงถึงประโยชน์ที่ได้รับ
สำหรับทีมพัฒนาขนาดของ Python อย่างไรก็ตามการเปลี่ยนแปลงแบบนั้นยากกว่ามาก แม้แต่การเปลี่ยนจาก Python 2 เป็น 3 ก็ใช้งานได้ค่อนข้างนานและต้องการการเหลื่อมกันคล้ายกัน อย่างไรก็ตามอย่างน้อยในกรณีนั้นมีประโยชน์โดยตรงต่อการเปลี่ยนแปลงซึ่งการเขียนใหม่ใน C ++ (ด้วยตัวเอง) จะไม่ได้รับ (อย่างน้อยทันที)
การพูดจาโผงผางของ Linus Torvalds เทียบกับ C ++ ถูกนำขึ้นมาดังนั้นฉันจะพูดถึงเรื่องนี้เช่นกัน ไม่มีอะไรที่ฉันเห็นจากกุยโดบ่งบอกว่าเขามีความรู้สึกที่รุนแรงและเป็นลบต่อซีพลัสพลัส เกี่ยวกับสิ่งที่แย่ที่สุดที่ฉันเคยเห็นเขาบอกว่าการสอน C ++ มักจะเป็นหายนะ - แต่เขาก็พูดต่อไปทันทีว่าสิ่งนี้เป็นเรื่องใหญ่เพราะครูไม่ทราบ / ไม่รู้จัก C ++
ผมยังคิดว่าในขณะที่มันเป็นไปได้ที่จะแปลงมากรหัส C เพื่อ C ++ กับญาติสบายใจว่าได้รับประโยชน์จริงมากจาก c ++ ต้องไม่เพียง แต่ค่อนข้างน้อยมากเขียนใหม่กว่านั้น แต่ยังต้องใช้อย่างมีนัยสำคัญการศึกษาใหม่ของนักพัฒนาส่วนใหญ่ที่เกี่ยวข้องกับ C ++ ที่เขียนได้ดีส่วนใหญ่จะแตกต่างจาก C ที่เขียนดีเพื่อทำสิ่งเดียวกัน มันไม่ได้เป็นเพียงเรื่องของการเปลี่ยนแปลงmalloc
ไปnew
และprintf
ไปcout
โดยยืดของจินตนาการใด ๆ