Microsoft .NET  : เป้าหมายที่ชัดขึ้น

    ช่วงนี้มีคนเข้ามาดู Web Site นี้กันเยอะ เนื่องจากหนังสือพิมพ์ไทยรัฐลงตีพิมพ์แนะนำ Web Site นี้ โดยใช้หัวเรื่องว่า "คู่แช่ง Java" เพื่อเป็นการตามกระแส คนที่เข้ามาใน Web นี้น่าจะอยากรู้ว่า C# จะเป็นคู่แข่งกับ Java จริงหรือ วันนี้ผมมีภาพสลัวๆ ให้เห็นครับ

    เรื่องนี้เริ่มมาตั้งแต่สมัยปี 1995 เมื่อภาษา Java เริ่มโด่งดัง ทาง Microsoft กลัวว่าถูกแย่งชิงตลาด จึงประกาศจับมือกับ Sun เพื่อนำ Java มาใช้ใน Windows โดยที่ Browser ตัวดังคือ Internet Explorer (IE) ก็รองรับภาษา Java ด้วยเช่นกัน ก็เลยยิ่งทำให้ Java นั้นดังเป็นพลุแตกไปเลย

    แต่เหตุการณ์เริ่มเปลี่ยนไป เมื่อ Microsoft สร้างผลิตภัณฑ์ที่ชื่อว่า Visual J++ เพื่อสนับสนุนการสร้าง Application บน Windows โดยใช้ภาษา Java แข่งกับโปรแกรมของยี่ห้ออื่นเช่น Visual Cafe ของ Symantec และ Jbuilder ของ Borland ในระหว่างการวิจัยปรากฏว่า ลำพังภาษา Java มาตรฐาน (JDK 1.1.4) นั้นไม่ค่อยมีประสิทธิภาพในการทำ Application เท่าใดนั้น ดังนั้น Microsoft จึงให้สร้าง WFC ซึ่งเป็น GUI classes ที่มีความสามารถไม่น้อยหน้า Visual Basic มาใช้กับ Visual J++ และยังได้ปรับปรุง Syntax ของภาษา Java บางส่วน ซึ่งส่งผลให้ Visual J++ ทำงานมีประสิทธิภาพสูงขึ้นกว่า Java ปกติถึง 5 เท่า

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

    และ Microsoft เป็นฝ่ายเสียเปรียบในศาลโดยตลอด โดยที่มีช่วงหนึ่งศาลสั่งให้ Microsoft ยกเลิกสิ่งที่เพิ่มเติมมาใน Visual J++ ทั้งหมด คงเหลือให้เฉพาะที่เข้ากันได้กับ Java มาตรฐานเท่านั้น ดังนั้น Microsoft จึงจำเป็นต้องสร้าง Service Pack 2 ของ Visual J++ เพื่อตัดเอาสิ่งต่างๆ ออกต่างคำสั่งศาล (แต่ก็ตลกดีนะครับที่ตั้งแต่ Service Pack 3 เป็นต้นมา ที่เคยตัดออกไปกลับมาทั้งหมด)

    เมื่อเจอปัญหาดังกล่าว ทาง Microsoft ไม่ยอมเป็นฝ่ายเสียเปรียบ โดยการประกาศตัดเอา Code ที่เป็น Java ใน Site Microsoft.com ออกทั้งหมด ซึ่งถือว่าเป็นงานช้างเลยทีเดียว โดยให้เหตุผลแบบ Discredit ตัวของ Java ว่า ภาษา Java มันทำงานช้าเกินไป

    และในระหว่างนั้น Microsoft แอบซุ่มทำ Microsoft .NET Framework ซึ่งอาจจะเรียกได้ว่าเป็นการเลียนแบบ Java Platform ทั้งหมด โดยที่คงจุดแข็งของ Java Platform คือความสามารถที่ทำงานบนเครื่องรุ่น ทุก OS โดยที่ไม่ต้องเปลี่ยนแปลง Code ใดๆ ซึ่งในวงการก็เป็นที่ยอมรับกันว่า ลูกเล่นและประสิทธิภาพของ .NET Framework นั้นสูงกว่า Java Platform มาก โดยที่รองรับภาษาต่างๆ หลายภาษา ยกเว้นภาษาเดียวคือ Java นั่นเอง ซึ่ง Microsoft ได้สร้างภาษา C# ขึ้นมาทดแทน Java ด้วยลูกเล่นที่มีมากกว่า Java มาก ทำให้ภาษา C# นั้นมีความโดดเด่นอยู่ที่เมืองนอก โดยเฉพาะอย่างยิ่งที่อินเดีย มีการคาดการณ์กันอย่างกว้างขวางว่า C# นั้นสามารถล้ม Java ได้แน่ๆ ดังนั้นการศึกษา C# จึงเกิดขึ้นในอินเดียค่อนข้างกว้างขวางมาก

    เมื่อต้นปี 2001 ศาลมีคำสั่งให้ Microsoft จ่ายเงิน 20 ล้าน US. เป็นค่าชดใช้ให้แก่การละเมิด Java ของ Sun และห้ามไม่ให้ Microsoft ทำ JDK ของตนเองอีก ให้ใช้ได้เฉพาะ รุ่น JDK 1.1.4 หรือต่ำกว่าเท่านั้น (ขณะที่เขียนบทความนี้ JDK กำลังจะไปถึง 1.4 แล้ว)  ซึ่งมีนักวิจารณ์เฉพาะในเมืองไทยวิจารณ์หักมุมกับที่อื่นว่า สิ่งนี้เป็นชัยชนะอย่างสูงของ Sun หลังจากรอคอยมาหลายปี ซึ่งคนอื่นไม่คิดอย่างนั้นครับ เพราะเงิน 20 ล้าน US. นั้นไม่มีค่าเท่าไหร่กับ Microsoft หรอกครับ ผลตามมาสิครับ Microsoft ประกาศหลังจากวันนั้นเพียงวันเดียว ว่ายกเลิกการรองรับ Visual J++ ดองไปเลย และกำลังสร้างอาวุธตัวใหม่ที่ชื่อว่า JUMP ( Java Upgrade Migration Path) ซึ่งตัว JUMP นี้ทำหน้าที่แปลงโปรแกรมภาษา Visual J++ ให้กลายเป็น Visual C# ซึ่งแน่นอนครับรวมถึง Java มาตรฐานด้วย และทันทีที่เรื่องนี้ Microsoft ประกาศออกไป ส่งผลให้หุ้นของ Sun ตกลงอย่างกราวรูด และตกลงอย่างต่อเนื่องจนถึงปัจจุบัน

    Microsoft เอาจริงกับ .NET มากครับ ล่าสุด Microsoft ประกาศตัด Java Virtual Machine ออกจาก Windows XP ที่กำลังจะวางตลาดเดือนตุลาคมนี้ ซึ่งส่งผลให้เครื่อง XP จะเรียกใช้ Java Applet ไม่ได้ แต่ก็ยังไม่แย่ขนาดนั้นครับ เพราะยังจะมี Option ให้ Download JVM มาเพิ่มได้ แต่ Microsoft ก็มีการกันเพิ่มอีกโดยการสร้าง Security ให้ไม่ยอมรับ Code Java ซึ่งผู้ใช้ต้องไปปรับออกเอง จะเห็นได้ว่า Microsoft เริ่มนโยบายในการตัดเอา Java ออกอย่างจริงจัง พร้อมกับกำลังสนับสนุนให้ .NET Framework ใช้งานได้บนทุกๆ เครื่องเหมือนกับ Java Platform และถ้าเริ่มเปิดตัว .NET Framework สำหรับ OS อื่น เช่น Linux , FreeBSD ออกมา คุณคงคิดเอาเองได้ว่า มันจะเหมือนกับ เหตุการณ์ที่เคยขึ้นกับ Mac OS, Word Perfect, Turbo Pascal / Turbo C++, Lotus 123 และอื่นๆ อีกมาก หรือไม่?