Dr. Dobb's Excellence in Programming Award 2001

 

    วรสาร Dr. Dobb's Journal ซึ่งเป็นวรสารยักษ์ใหญ่ในวงการการเขียนโปรแกรมประกาศให้รางวัลผู้มีผลงานดีเด่นในวงการเขียนโปรแกรมที่สุดในรอบปี ซึ่งผู้ที่ได้รับรางวัลในปีที่ผ่านมาก็ล้วนแต่เป็นผู้ที่เราคุ้นเคยทั้งนั้นเช่น Larry Wall ผู้คิดค้นภาษา Perl, Linus Tovalds ผู้คิดค้น Linux, James Gosling ผู้คิดค้นภาษา JAVA, Ron Rivest ผู้คิดค้นวิธีการเข้ารหัสที่เราใช้กันอยู่ในยุคปัจจุบันเป็นต้น

    ปีนี้ก็เป็นไปตามความคาดหมายครับ Anders Hejlsberg ผู้ที่คิดค้น C# และ .Net Framework คว้ารางวัลไปครองครับ เราดูประวัติของคนคนนี้กันดีกว่าครับ

   

   

    Hejlsberg เป็นชาวเดนมาร์ก (ถ้าผมจำไม่ผิด Hejlsberg จบมหาวิทยาลัยซูริคประเทศสวิสเซอแลนด์ ซึ่งที่นั่นเอง Hejlsberg ได้เรียนวิชาคอมพิวเตอร์จากปรมาจารย์คนหนึ่งของวงการคอมพิวเตอร์นั่นก็คือ Dr. Niklaus Wirth ผู้คิดค้นภาษา Pascal, Modula และ Oberon นั่นเอง นั่นเป็นเหตุผลว่าทำไม Hejsberg จึงฝังใจกับภาษา Pascal มาก เรื่องนี้ผมไม่ยืนยันนะครับ) ผลงานชิ้นแรกคือ compiler แบบ Command Line ที่ชื่อว่า Compass Pascal และปรับปรุงต่อมาชื่อว่า Poly Pascal ซึ่งตัวนี้ดังมากครับ ทำไมถึงดังเรามาดูเหตุผลกัน

    ก็ในยุคนั้นภาษา Pascal มียักษ์ใหญ่คือบริษัท IBM เป็นจ้าวตลาดอยู่ ใช้ทีมงานหลายสิบคนช่วยกันเขียน เวลา compile ก็ compile เป็นแบบ multi-part คือ ทำให้ช้ามาก พอมาเปรียบเทียบกับ Poly Pascal ของ Hejlsberg แล้ว เขียนโดยคนคนเดียวครับ การ compile เป็นเป็น single part ไม่ต้อง link อะไรกันอีกให้เสียเวลา ผลลัพธ์คือ โปรแกรมเดียวกัน IBM Pascal ใช้เวลา 10 นาที ในการ compile แต่ Poly Pascal ใช้เวลาเพียง 10 วินาทีเท่านั้น แถมยังเวลา run ยัง run เร็วกว่าอีกต่างหาก ยอดคนจริงๆ ครับ

    เรื่องนี้ไปเขาหูคนเจ้าของบริษัท Borland ที่ชื่อว่า Philippe Kahn  ซึ่งเป็นเพื่อร่วมมหาวิทยาลัยกับ Hejlsberg ถ้าผมจำไม่ผิด Kahn เป็นคนฝรั่งเศส เมื่อจบจากซูริคแล้ว ก็ไปขุดทองที่อเมริกา เมื่อปี 1983 ก็ได้รับข่าวเรื่อง Poly Pascal จากเพื่อนเก่า ก็เลยชวนมาทำงานด้วย เวลานั้น Hejlsberg ก็ยังอยู่ที่เดนมาร์ก ได้รับแนวคิดจาก Kahn เรื่องการสร้าง Integreted Development Environment หรือ IDE ซึ่งเป็นสิ่งแวดล้อมที่เป็นหนึ่งเดียวในการพัฒนา Software ซึ่งในสมัยนั้นยังไม่เคยมีมาก่อน ซึ่งเป็นต้นแบบของ IDE ในยุคปัจจุบัน ผลลัพธ์ออกมาเป็น Turbo Pascal Version 1.0  ซึ่งใช้แนวคิดในการทำส่วน Editor มาจาก Wordstar เวลานั้น Hejlsberg ส่งโปรแกรมให้ Kahn ข้ามทวีปผ่าน Modem Turbo Pascal ก็มีการพัฒนามาหลายรุ่น และ Heijsberg ก็ย้ายไปอยู่ USA ในที่สุด จนมาวันหนึ่ง ระบบ Windows เข้ามาแทน Dos ทำให้ Borland ต้องปรับกลยุทธ์ใหม่

    Borland วางแผนสร้างภาษาใหม่ที่เป็น Object Pascal ซึ่ง Borland ก็ได้แทรกเข้ามาบ้างใน Turbo Pascal  ด้วย Borland ไม่อยากเข้าไปยุ่งกับสถาบันมาตรฐาน Pascal เพราะ Object Pascal เป็นสิ่งที่ปรับ Syntax ของ Pascal ไปมาก และ Borland เองก็ไม่ได้อิงมาตรฐาน ANSI Pascal มาตั้งแต่ต้น Turbo Pascal อิงตาม UCSD Pascal ครับ Borland เลยตัดสินใจที่เปลี่ยนชื่อภาษานี้ว่า Delphi ที่มาของชื่อนี้ ก็ตรงที่เป้าหมายของ Delphi จะรุกหนักเข้าสู่วงการ Database ซึ่ง Oracle เป็นจ้าวตลาดอยู่ คำว่า Oracle คือนักพยากรณ์ และนักพยากรณ์ที่มีชื่อเสียงที่สุดก็เป็นภิกษุณีแห่งเมือง Dephi ในยุคกรีก ซึ่งเป็นเมืองที่บูชาเทพเจ้าแห่งแสงสว่าง Phoebus Apollo นั่นเอง Borland เคยตั้ง code name แนวนี้มาครั้งหนึ่งแล้วในสมัยที่ต้องการล้ม Lotus 123 spreadsheet ตัวดัง นัยว่าผู้ออกแบบ Lotus นั้นนับถือพุทธเลยตั้งชื่อโปรแกรมว่า Lotus หรือดอกบัว พอ Borland สร้าง Quottro ซึ่งเป็น Spreadsheet ที่ต้องการเอามาล้ม Lotus จึงได้ชื่อ code name ว่า Budda เอาเข้าไป

    Heijsberg ได้รับตำแหน่งเป็น chief architect ของโครงการ Dephi หลังจากนั้นเมื่อผ่านไป 13 ปีกับ Borland เมื่อปี 1996 Heijsberg ก็ย้ายไปอยู่กับ Microsoft ตามการเชิญของ Microsoft เมื่อย้ายไปอยู่ก็ได้รับมอบหมายให้ทำเรื่อง Microsoft Foundation Class (MFC) และภาษาใหม่ Visual J++ ซึ่งรวมเอาจุดเด่นของภาษาใหม่คือ Java และ IDE ที่มีความสามารถสูงอย่าง Visual Studio ซึ่งทำให้ Visual J++ โดดเด่นมาก แต่ Visual J++ ก็ถูก Sun สกัดดาวรุ่ง ทำให้ Heijsberg ได้รับโครงการใหญ่โครงการหนึ่งที่ชื่อว่า NGWS (New Generation of Web Service) เมื่อต้นปี 1998 ดัดหลัง Java โดยเลียนแบบ Java Virual Machine แต่ก็ได้ปรับปรุงอะไรใส่เข้าไปเยอะ จนห่างจากต้นแบบ Java ไปเยอะครับ และใน โครงการ NGWS นั้นเอง Heijsberg ได้ออกแบบภาษาใหม่อีกหนึ่งภาษา ซึ่งมี Code Name ว่า Cool และสุดท้ายได้ชื่อเป็นทางการว่า C# และในที่สุดโครงการ NGWS ได้ชื่อเป็นทางการว่า .Net Framework

    ผมว่าคนคนนี้ไม่ธรรมดาครับ เป็นคนที่อยู่เบื้องหลังภาษาหลักของโลกถึง 4 ภาษา คือ Turbo Pascal, Delphi, Visual J++ และ C# แถมยังเป็นผู้สร้าง MFC และ .Net Framework อีก ทาง DDJ จึงให้รางวัล $2000 ให้กับ Heijsberg ซึ่งคนระดับนี้คงไม่สนใจเท่าไหร่หรอกครับกับเงินก้อนนี้ เขาเลยบริจาคให้เป็นทุนสำหรับสนับสนุนในการเรียนวิทยาการคอมพิวเตอร์

    ยินดีด้วยคนครับ