ไมโครซอฟท์เตรียมเผยข้อมูล M# ภาษาส่วนขยายของ C# ที่เน้นงานระบบ

by mk
31 December 2013 - 10:25

Joe Duffy วิศวกรอาวุโสของไมโครซอฟท์ที่รับผิดชอบงาน "วิจัย" ด้านระบบปฏิบัติการ เขียนบล็อกอธิบายผลงานที่ทีมของเขาใช้เวลากว่า 4 ปีซุ่มพัฒนาขึ้นมา มันคือภาษาโปรแกรมภาษาใหม่ที่พัฒนาต่อจาก C# แต่ชูจุดเด่นเรื่องประสิทธิภาพที่ใกล้เคียงกับ C++ ("C# for Systems Programming")

Duffy อธิบายว่าภาษาโปรแกรมในปัจจุบันแบ่งออกเป็น 2 กลุ่มใหญ่ๆ คือ

  • ภาษาที่เน้นประสิทธิภาพ แต่มีจุดอ่อนด้านความปลอดภัย (ในแง่ช่องโหว่ของหน่วยความจำจากตัวแปรแบบ static) ซึ่งภาษากลุ่มนี้คือ C++ และ C++11 ที่พัฒนาขึ้นในภายหลัง ภาษากลุ่มนี้มักใช้สำหรับงานด้านโปรแกรมระบบ
  • ภาษาที่เน้นความปลอดภัยของตัวแปร พัฒนาให้ดูแลโค้ดได้ง่าย เหมาะสำหรับการสร้างแอพพลิเคชัน แต่มีปัญหาเรื่องประสิทธิภาพที่ดีสู้กลุ่มแรกไม่ได้ ตัวอย่างของภาษานี้คือ C#, Java, JavaScript

โจทย์ที่ทีมของเขาต้องการแก้ปัญหาคือ ทำไมไม่มีภาษาโปรแกรมที่มีจุดเด่นทั้งสองด้านในตัวเดียว ซึ่งจากการทำงานมาหลายปี เขาก็บอกว่าสามารถแก้ปัญหานี้ได้แล้ว

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

ฟีเจอร์ของภาษาใหม่นี้จะผสมผสานระหว่างความปลอดภัยของ C# (type-safe programming) กับประสิทธิภาพของ C++ โดยจะไม่อิงกับ garbage collector มากเกินไปเพื่อรักษาประสิทธิภาพ นอกจากนี้ยังมีระบบการแจ้งเตือนข้อผิดพลาดที่ทันสมัย และรองรับเฟรมเวิร์คยุคใหม่มาตั้งแต่แรก

Joe Duffy บอกว่าเขาจะค่อยๆ เผยข้อมูลของภาษาใหม่นี้เรื่อยๆ ผ่านบล็อกของเขาเอง - Joe Duffy

เว็บไซต์ ZDNet ขยายผลเรื่องนี้โดยหาข้อมูลจากคนในของไมโครซอฟท์ พบว่าภาษาใหม่นี้ถูกเรียกว่า M# (M Sharp) โดยมันถูกพัฒนามาจากภาษา Sing# ที่ใช้ในโครงการระบบปฏิบัติการวิจัย Singularity ของไมโครซอฟท์

นอกจากนี้ยังมีข้อมูลว่า Joe Duffy ก็อยู่ในทีมระบบปฏิบัติการ Midori ซึ่งเป็นระบบปฏิบัติการวิจัยอีกตัวของไมโครซอฟท์ที่พัฒนามาจาก Singularity และออกแบบให้ทำงานแบบกระจายศูนย์สำหรับยุคกลุ่มเมฆมาตั้งแต่แรก

ที่มา - ZDNet

Blognone Jobs Premium