คอมไพเลอร์ C ประวัติศาสตร์ของ Whitesmiths ได้รับชีวิตใหม่เมื่อ P.J. Plauger เสนอสิทธิ์การแจกจ่ายฟรี

ทีมชุมชน BigGo
คอมไพเลอร์ C ประวัติศาสตร์ของ Whitesmiths ได้รับชีวิตใหม่เมื่อ P.J. Plauger เสนอสิทธิ์การแจกจ่ายฟรี

โลกของการเขียนโปรแกรมกำลังเต็มไปด้วยความตื่นเต้นเมื่อคอมไพเลอร์ C ที่สำคัญที่สุดชิ้นหนึ่งในประวัติศาสตร์คอมพิวเตอร์อาจจะพร้อมใช้งานฟรีสำหรับนักพัฒนาและนักประวัติศาสตร์ในเร็วๆ นี้ P.J. Plauger โปรแกรมเมอร์ในตำนานที่เป็นผู้นำ Whitesmiths Ltd. ตั้งแต่ปี 1978 ถึง 1988 ได้แสดงความเต็มใจที่จะให้สิทธิ์การแจกจ่ายฟรีสำหรับคอมไพเลอร์ C ประวัติศาสตร์ของ Whitesmiths

เปิดตัวในปี 1978 คอมไพเลอร์ Whitesmiths เป็นนวัตกรรมที่ล้ำสมัยในฐานะหนึ่งในการใช้งาน C เชิงพาณิชย์แรกๆ นอกระบบ Unix ต่างจากคอมไพเลอร์ C ยุคแรกๆ อื่นๆ ที่ยืมโค้ดจาก Unix มาเป็นจำนวนมาก Whitesmiths ถูกสร้างขึ้นใหม่ทั้งหมดตั้งแต่ต้นและรองรับโปรเซสเซอร์หลากหลายประเภทอย่างน่าประทับใจ รวมถึง DEC PDP-11, Intel 8080, Zilog Z80, Intel 8086, Motorola MC68000 และ IBM System/370

โปรเซสเซอร์ที่รองรับโดย Whitesmiths C Compiler

ตระกูลโปรเซสเซอร์ รุ่นที่เจาะจง
DEC PDP-11, VAX-11
Intel 8080, 8086
Zilog Z80
Motorola MC68000
IBM System/370, System/36

ความทรงจำของชุมชนหลั่งไหลกลับมา

การประกาศนี้ได้กระตุ้นให้เกิดคลื่นความคิดถึงในหมู่โปรแกรมเมอร์รุ่นเก๋าที่เริ่มต้นการเขียนโปรแกรมด้วยคอมไพเลอร์ที่มีอิทธิพลนี้ นักพัฒนาหลายคนกำลังแบ่งปันความทรงจำอันงดงามเกี่ยวกับประสบการณ์การเขียนโปรแกรม C ในยุคแรกๆ โดยหลายคนกล่าวว่าคอมไพเลอร์ Whitesmiths เป็นจุดเริ่มต้นของพวกเขากับภาษา C ก่อนที่จะเปลี่ยนไปใช้ Pascal หรือ Fortran

ประเด็นที่น่าสนใจอย่างหนึ่งที่เกิดขึ้นจากการสนทนาในชุมชนคือการสร้างโค้ดที่คาดเดาได้ของคอมไพเลอร์ นักพัฒนาที่ทำงานกับระบบฝังตัวในทศวรรษ 1980 พบว่าความน่าเชื่อถือนี้มีค่าอย่างยิ่ง โดยเฉพาะเมื่อต้องดีบักด้วยเครื่องมือพื้นฐานที่แสดงเฉพาะค่าเลขฐานสิบหกโดยไม่มีความสามารถในการแยกชิ้นส่วนคำสั่ง

คอมไพเลอร์นี้ยังทิ้งร่องรอยในแบบแผนรูปแบบการเขียนโค้ด รูปแบบการเยื้องแบบ Whitesmiths ที่โดดเด่น ซึ่งวงเล็บปีกกาเปิดจะปรากฏในบรรทัดของตัวเองและเยื้องให้ตรงกับโค้ดที่อยู่ภายใน ได้รับความนิยมจากคอมไพเลอร์นี้และยังคงถูกใช้โดยโปรแกรมเมอร์บางคนในปัจจุบัน

มรดกทางเทคนิคและความเกี่ยวข้องในยุคปัจจุบัน

สิ่งที่ทำให้คอมไพเลอร์ Whitesmiths มีความสำคัญเป็นพิเศษคือบทบาทในการกำหนดมาตรฐานภาษา C เมื่อเวอร์ชัน 3.0 ถูกเปิดตัวในปี 1985 มันรองรับมาตรฐาน ANSI C ที่กำลังเกิดขึ้น ช่วยสร้างความสอดคล้องกันระหว่างการใช้งาน C ที่แตกต่างกัน สิ่งนี้มีความสำคัญในช่วงเวลาที่ C กำลังได้รับความนิยมอย่างรวดเร็วแต่ยังขาดการกำหนดมาตรฐาน

ความสามารถในการคอมไพล์ข้ามแพลตฟอร์มของคอมไพเลอร์ก็ล้ำหน้ายุคสมัยเช่นกัน ในยุคที่การพัฒนาส่วนใหญ่เกิดขึ้นบนเครื่องเดียวกันกับที่โค้ดจะทำงาน Whitesmiths ช่วยให้นักพัฒนาสามารถคอมไพล์โค้ดบนระบบที่มีประสิทธิภาพสูงเช่นเครื่อง DEC VAX เพื่อนำไปใช้งานบนโปรเซสเซอร์ฝังตัวที่เล็กกว่า

ไทม์ไลน์ของ Whitesmiths C Compiler

  • 1978: คอมไพเลอร์ Whitesmiths C ฉบับดั้งเดิมเปิดตัว เข้ากันได้กับ Version 6 Unix C
  • 1978-1988: P.J. Plauger ดำรงตำแหน่งประธานบริษัท
  • 1985: Version 3.0 เปิดตัวพร้อมการรองรับมาตรฐาน ANSI C
  • 2021: P.J. Plauger แสดงความเต็มใจที่จะให้สิทธิ์การแจกจ่ายฟรี

ความพยายามในการอนุรักษ์และการเข้าถึงในอนาคต

ในปัจจุบัน ผู้ที่หลงใหลได้จัดการอนุรักษ์คอมไพเลอร์หลายเวอร์ชัน รวมถึง CP/M-80 Edition 2.2 และคอมไพเลอร์ข้ามแพลตฟอร์ม MS-DOS สำหรับ IBM System/36 ซอร์สโค้ดบางส่วนก็ได้รับการกู้คืนแล้ว แม้ว่าจะยังมีคำถามเกี่ยวกับใบอนุญาตและความพร้อมใช้งานที่สมบูรณ์

ความพยายามในการอนุรักษ์นี้เน้นย้ำถึงความท้าทายที่กว้างขึ้นในประวัติศาสตร์คอมพิวเตอร์: การรับประกันว่าเครื่องมือซอฟต์แวร์ที่สำคัญจะไม่หายไปเมื่อบริษัทล้มเหลวหรือเทคโนโลยีล้าสมัย ความเต็มใจของ Plauger ที่จะให้สิทธิ์การแจกจ่ายฟรีเป็นก้าวสำคัญสู่การอนุรักษ์มรดกคอมพิวเตอร์ชิ้นนี้

แม้ว่ารายละเอียดทางกฎหมายทั้งหมดยังคงอยู่ในระหว่างการดำเนินการ ชุมชนโปรแกรมเมอร์ยังคงมีความหวังว่าคอมไพเลอร์ประวัติศาสตร์นี้จะพร้อมใช้งานฟรีเพื่อวัตถุประสงค์ทางการศึกษาและการวิจัยในเร็วๆ นี้ สำหรับนักพัฒนาหลายคน มันไม่ได้เป็นเพียงแค่ชิ้นส่วนของซอฟต์แวร์ แต่เป็นการเชื่อมต่อกับยุคแรกๆ ของการเขียนโปรแกรม C เมื่อภาษานี้ยังคงหาตำแหน่งของตัวเองในโลกคอมพิวเตอร์

เรื่องราวของคอมไพเลอร์ Whitesmiths เป็นเครื่องเตือนใจว่าบริษัทและนักพัฒนาแต่ละรายได้หล่อหลอมเครื่องมือที่เราใช้ในปัจจุบันอย่างไร มักจะในรูปแบบที่ยังคงมีอิทธิพลต่อแนวทางการเขียนโปรแกรมหลายทศวรรษต่อมา

อ้างอิง: Whitesmiths, Ltd. C Compiler