ภาษาโปรแกรม ABC ที่ออกแบบมาในปี 1987 เพื่อใช้แทนที่ BASIC กำลังได้รับความสนใจอีกครั้งจากนักพัฒนาที่อยากรู้เกี่ยวกับต้นกำเนิดของ Python แม้ว่านักโปรแกรมหลายคนจะรู้จัก Python ในฐานะหนึ่งในภาษาโปรแกรมที่ได้รับความนิยมมากที่สุดในปัจจุบัน แต่น้อยคนที่จะรู้ว่าภาษานี้ได้รับปรัชญาการออกแบบส่วนใหญ่มาจาก ABC ซึ่งเป็นภาษาที่เป็นผู้บุกเบิกแนวคิดหลายอย่างที่เราใช้กันเป็นเรื่องธรรมดาในการเขียนโปรแกรมสมัยใหม่
ความสำคัญทางประวัติศาสตร์และความเชื่อมโยงกับ Python
อิทธิพลของ ABC ต่อ Python มีความลึกซึ้งมากกว่าที่นักพัฒนาส่วนใหญ่คิด ภาษานี้ถูกสร้างขึ้นผ่านการวิเคราะห์งานด้านความต้องการในการเขียนโปรแกรมอย่างละเอียด โดยได้นำเสนอแนวคิดต่างๆ เช่น การใช้ช่องว่างที่มีความหมายสำหรับโครงสร้างโค้ด และไวยากรณ์ที่เข้าใจง่ายซึ่งอ่านได้เหมือนภาษาธรรมชาติ Guido van Rossum ผู้สร้าง Python เคยทำงานในโครงการ ABC และคุณสมบัติที่โดดเด่นหลายอย่างของ Python สามารถย้อนกลับไปถึงการตัดสินใจในการออกแบบที่เป็นนวัตกรรมของ ABC
การสนทนาในชุมชนเผยให้เห็นรายละเอียดทางประวัติศาสตร์ที่น่าสนใจเกี่ยวกับการมีส่วนร่วมของ ABC ในการออกแบบภาษาโปรแกรม การค้นพบที่น่าสนใจอย่างหนึ่งคือ P.J. Plauger ที่รู้จักกันดีจากผลงานกับภาษา C จริงๆ แล้วเป็นผู้คิดค้นแนวคิดการใช้ช่องว่างที่มีความหมายเพื่อแสดงโครงสร้างโค้ดแทนการใช้คำสำคัญ begin/end หรือเครื่องหมายวงเล็บปีกกาแบบดั้งเดิม
คุณสมบัติของภาษาและปรัชญาการออกแบบ
ABC ถูกออกแบบโดยคำนึงถึงความเรียบง่าย มีเพียงห้าประเภทข้อมูลที่สามารถรวมกันได้ง่าย การพิมพ์แบบเข้มงวดโดยไม่ต้องประกาศ และโปรแกรมที่มีขนาดเพียงหนึ่งในสี่ของโค้ด Pascal หรือ C ที่เทียบเท่า ภาษานี้เน้นความสามารถในการอ่านและความง่ายในการเรียนรู้ พร้อมด้วยสภาพแวดล้อมแบบโต้ตอบที่รักษาสถานะระหว่างเซสชัน
แนวทางของภาษาในการใช้ไวยากรณ์ที่คล้ายภาษาธรรมชาติถือเป็นการพัฒนาที่ก้าวล้ำในยุคนั้น ไม่เหมือนกับ COBOL ที่ใช้คำมาก หรือไวยากรณ์ที่เข้าใจยากของภาษาร่วมสมัยหลายภาษา ABC มุ่งเน้นความชัดเจนและความเรียบง่ายที่จะดึงดูดทั้งผู้เริ่มต้นและนักโปรแกรมที่มีประสบการณ์
คุณสมบัติหลักของภาษา ABC :
- มีเพียง 5 ชนิดข้อมูลที่สามารถรวมกันได้อย่างง่ายดาย
- การกำหนดชนิดข้อมูลแบบเข้มงวดโดยไม่ต้องประกาศ
- ไม่มีข้อจำกัดใดๆ ยกเว้นการหมดหน่วยความจำ
- โปรแกรมมีขนาดเล็กกว่าโปรแกรมที่เขียนด้วย Pascal หรือ C ประมาณ 1/4 ถึง 1/5
- การจัดโครงสร้างโค้ดด้วยการเยื้อง (ซึ่งต่อมา Python ได้นำมาใช้)
- สภาพแวดล้อมแบบโต้ตอบที่มีการเก็บสถานะถาวร
สถานะปัจจุบันและความพร้อมใช้งาน
แม้จะมีอายุเกือบสี่ทศวรรษแล้ว การใช้งาน ABC ยังคงมีให้สำหรับระบบสมัยใหม่ ภาษานี้ยังสามารถติดตั้งบนระบบปฏิบัติการปัจจุบันได้ แม้ว่าจะต้องใช้โหมดความเข้ากันได้แบบ 32 บิตในหลายแพลตฟอร์ม มีแม้กระทั่งการใช้งานล่าสุดที่พร้อมใช้สำหรับ Raspberry Pi ซึ่งแสดงให้เห็นว่าความสนใจในภาษานี้ยังคงอยู่ในหมู่ผู้ที่ชื่นชอบและนักการศึกษา
ABC Programmer's Handbook ยังคงมีให้ออนไลน์ โดยให้เอกสารที่สมบูรณ์สำหรับผู้ที่สนใจสำรวจภาษาที่มีอิทธิพลนี้ แม้ว่า ABC จะไม่เคยได้รับการยอมรับอย่างแพร่หลาย แต่มรดกของมันยังคงอยู่ผ่านความสำเร็จอย่างต่อเนื่องของ Python และแนวคิดการเขียนโปรแกรมที่ช่วยสร้างขึ้น
ABC เป็นเครื่องเตือนใจว่านวัตกรรมในภาษาโปรแกรมมักมาจากการถอยกลับไปวิเคราะห์สิ่งที่นักโปรแกรมต้องการจริงๆ แทนที่จะเพิ่มคุณสมบัติให้กับระบบที่มีอยู่เดิม