ฉันคิดถึงการออกแบบภาษาเป็นอย่างมากและองค์ประกอบใดบ้างที่จำเป็นสำหรับภาษาการเขียนโปรแกรม "อุดมคติ" และการศึกษา Go's ของ Google ทำให้ฉันตั้งคำถามกับความรู้ทั่วไปหลายอย่าง
ดูเหมือนว่า Go จะได้รับประโยชน์ที่น่าสนใจทั้งหมดจากการเขียนโปรแกรมเชิงวัตถุโดยไม่มีโครงสร้างของภาษาเชิงวัตถุ ไม่มีคลาส, โครงสร้างเท่านั้น; ไม่มีการสืบทอดคลาส / โครงสร้าง - การฝังโครงสร้างเท่านั้น ไม่มีลำดับชั้นไม่มีคลาสพาเรนต์ไม่มีการปรับใช้อินเตอร์เฟสที่ชัดเจน กฎการคัดเลือกนักแสดงประเภทนั้นขึ้นอยู่กับระบบที่หลวมคล้ายกับการพิมพ์เป็ดเช่นหาก struct ดำเนินองค์ประกอบที่จำเป็นของ "Reader" หรือ "Request" หรือ "Encoding" คุณจะสามารถใช้และใช้มันได้ หนึ่งเดียว.
มีบางอย่างเกี่ยวกับ OOP ที่ถูกนำมาใช้ใน C ++ และ Java และ C # ที่มีความสามารถมากขึ้นโดยทั่วไปมีความสามารถในการบำรุงรักษามากขึ้นและมีประสิทธิภาพมากกว่าที่คุณต้องยอมแพ้เมื่อย้ายไปใช้ภาษาอย่าง Go? คุณมีประโยชน์อะไรที่ต้องยอมแพ้เพื่อให้ได้ความเรียบง่ายที่กระบวนทัศน์ใหม่นี้แสดงให้เห็น?
EDIT
ลบคำถาม "ล้าสมัย" ที่ผู้อ่านดูเหมือนจะถูกวางสายเกินไปและทำให้โกรธโดย
คำถามคืออะไรกระบวนทัศน์เชิงวัตถุแบบดั้งเดิม (ที่มีลำดับชั้นและเช่นนั้น) ที่เห็นบ่อยในการใช้ภาษาทั่วไปต้องเสนอที่ไม่สามารถทำได้อย่างง่ายดายในแบบจำลองที่ง่ายกว่านี้? หรืออีกนัยหนึ่งถ้าคุณต้องออกแบบภาษาวันนี้มีเหตุผลที่คุณต้องการรวมแนวคิดของลำดับชั้นของชั้นเรียนหรือไม่?