Visual J++

Visual J++ هي نسخة مايكروسوفت المتوقفة من لغة جافا . تتشابه قواعدها النحوية ، والكلمات المحجوزة (الكلمات المفتاحية)، واتفاقياتها الرسمية مع جافا. طُرحت في عام 1996 [ 1 ] وتوقف تطويرها في يناير 2004 [ 2 ] ، وحلت محلها جزئيًا لغتا J# و C# .

لم تجتزْ نسخة MSJVM اختبارات الامتثال التي أجرتها شركة صن مايكروسيستمز ، مما أدى إلى رفع دعوى قضائية من صن، الشركة المطورة للغة جافا. أوقفت مايكروسوفت دعمها لـ MSJVM في 31 ديسمبر 2007 (لاحقًا استحوذت أوراكل على صن، ومعها جافا وعلاماتها التجارية). مع ذلك، بدأت مايكروسوفت رسميًا بتوزيع جافا مجددًا في عام 2021 (وإن لم تكن مدمجة مع ويندوز أو متصفحات الويب كما كان سابقًا)، أي بنسختها من OpenJDK التابعة لأوراكل ، [ 3 ] والتي تخطط مايكروسوفت لدعمها لمدة ست سنوات على الأقل، لإصدارات الدعم طويل الأمد، أي حتى سبتمبر 2027 لجافا 17.

مقارنة بين J++ وتنفيذ Java الخاص بشركة Sun

على الرغم من أن لغة J++ تتوافق مع مواصفات لغة جافا ، إلا أن مايكروسوفت لم تُضمّن بعض ميزات تطبيق جافا الرسمي من صن في خط إنتاجها Visual J++. ومن أمثلة ذلك استدعاء الأساليب عن بُعد (Java RMI) وواجهة جافا الأصلية (JNI). [ 4 ] [ 5 ]

بالإضافة إلى ذلك، نفّذت لغة J++ امتدادات أخرى لم تكن جزءًا من تطبيق Java الخاص بشركة Sun. وقد ساهم تضمين وظائف الاستدعاء والتفويض لمعالجة الأحداث في ترسيخ مكانة J++ كلغة مختلفة تمامًا، استنادًا فقط إلى مفهوم تصميم موجود مسبقًا.

علاوة على ذلك، لم تلتزم تطبيقات J++ بنفس الطريقة القياسية للوصول إلى وظائف نظام التشغيل الأساسية التي تتبعها تطبيقات Java الأخرى ضمن حزمة تطوير البرامج (SDK) الخاصة بـ Sun. في تطبيق Microsoft، وفّر إطار عمل أساسي يُسمى J/Direct آليةً أساسيةً سمحت لتطبيقات J++ بتجاوز مكتبات فئات Java وواجهة برمجة التطبيقات (API) الخاصة بها تمامًا عند الوصول إلى نظام التشغيل الأساسي. وبفضل هذا الاختصار لإطار عمل Java الأصلي ، كانت تطبيقات J++ أكثر كفاءةً في الاستفادة من وظائف واجهة برمجة تطبيقات Win32 مقارنةً بتطبيقات Java.

لم يكن بالإمكان تشغيل تطبيقات J++ التي تستخدم هذه الميزات على حزمة تطوير البرامج (SDK) الخاصة بـ Java من Sun، ولكن مشروع Kaffe طوّر إضافاتٍ مكّنت من تشغيل تطبيقات J++ التي تستخدم هذه الميزات على JVM مفتوح المصدر . مع ذلك، لم تُستخدم هذه الإضافات (التي نفّذتها TransVirtual بتمويل من Microsoft) على نطاق واسع، وظلّت تطبيقات J++ بحاجة إلى التجميع على Visual J++ قبل أن يتمكن Kaffe من تشغيلها. [ 6 ] [ 7 ]

يدعم Visual J++ تقنية ActiveX . [ 8 ]

مثال

فيما يلي بعض الأمثلة على Visual J++. [ 9 ]

استخدام نماذج ويندوز :

package org.wikipedia.examples ;استيراد com.ms.ui.ActionEvent ؛ استيراد com.ms.ui.ActionListener ؛ استيراد com.ms.ui.Button ؛ استيراد com.ms.ui.Form ؛public class SimpleForm { public static void main ( String [] args ) { Form form = new Form ( "Simple Form" ); Button button = new Button (); button . setText ( "انقر هنا" ); button . addActionListener ( new ActionListener () { public void actionPerformed ( ActionEvent e ) { form . setText ( "تم النقر على الزر!" ); } }); form . add ( button );form.show ( ) ; } }

استدعاء ActiveX :

package org.wikipedia.examples ;استيراد com.ms.activeX.ActiveXComponent ؛ استيراد com.ms.activeX.Variant ؛public class Example { public static void main ( String [] args ) { try { ActiveXComponent ax = new ActiveXComponent ( "InternetExplorer.Application" ); ax . setProperty ( "Visible" , new Variant ( true )); ax . invoke ( "Navigate" , new Variant ( "http://www.microsoft.com" )); } catch ( Exception e ) { e . printStackTrace (); } } }

استدعاء واجهة برمجة تطبيقات ويندوز :

package org.wikipedia.examples ;استيراد com.ms.win32.RegistryKey ؛ استيراد com.ms.win32.User32 ؛public class Example { public static void main ( String [] args ) { // إنشاء مربع رسالة User32 user32 = new User32 (); user32 . MessageBox ( 0 , "مرحباً من واجهة برمجة تطبيقات ويندوز!" , "Visual J++" , 0 );// قراءة مفتاح التسجيل RegistryKey key = new RegistryKey ( "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion"); String productName = key.getStringValue ( " ProductName " ) ; System.out.printf ( " Product Name : % s % n" , productName ); } }

الاتحاد العالمي لكرة القدم

قامت فئات مؤسسة ويندوز (WFC) بتغليف واجهة برمجة تطبيقات منصة مايكروسوفت Win32 ونماذج كائنات DHTML في مكتبة فئات موحدة. صُممت WFC في الأساس لإنشاء واجهات مستخدم رسومية لتطبيقات جافا على نظام ويندوز.

دعوى شركة صن ضد شركة مايكروسوفت

كانت شركة صن مايكروسيستمز قد رخصت في الأصل استخدام لغة جافا لشركة مايكروسوفت، لكنها رفعت لاحقًا دعوى قضائية ضد مايكروسوفت بتهمة انتهاك العلامة التجارية. ويشترط ترخيص صن لاستخدام علامة جافا التجارية أن تكون جميع التطبيقات "متوافقة".

لاحظ بعض المراقبين أن هذا التناقض يبدو أنه كان هدفاً مقصوداً من مايكروسوفت، في محاولة على الأقل لإبطاء تقدم تقنية جافا من صن. [ 10 ] [ 11 ]

كان فشل MSJVM في اجتياز اختبارات التوافق التي أجرتها شركة صن عاملاً رئيسياً في الدعوى القضائية الأولية. في عام ٢٠٠٤، تمت تسوية هذه الدعوى وجميع الدعاوى القضائية الأخرى العالقة بين صن ومايكروسوفت كجزء من اتفاقية شاملة بينهما. [ ١٢ ] وبموجب التسوية، لم يكن بإمكان مايكروسوفت دمج الميزات التي أدخلتها صن إلى جافا في إصدارات أحدث من الإصدار الذي تم نسخ J++ منه (حتى ذلك التاريخ)؛ حيث تم تجميدها عند مجموعة ميزات إصدار جافا ١.١.٤. وقد أدى ذلك فعلياً إلى توقف J++، ووقف التحديثات اللاحقة. كما أُجبرت مايكروسوفت على الموافقة على وقف توزيع MSJVM؛ ولم يعد متاحاً للتنزيل.

مع ذلك، سمحت بنود التسوية لشركة مايكروسوفت بتقديم الدعم الأمني، مما أتاح إجراء تحديثات إضافية لـ MSJVM لمعالجة الثغرات الأمنية وأي مشاكل أخرى تتعلق بالتهديدات الأمنية. وقد أوقفت مايكروسوفت هذا الدعم لـ MSJVM في 31 ديسمبر 2007. [ 13 ]

تم إعادة تدوير تقنية J++ في نهاية المطاف، حيث استمرت لفترة من الوقت كجزء من منصة Microsoft .NET ولغة البرمجة J# .

بيئة تطوير Visual J++

كان Visual J++ أيضًا اسم بيئة التطوير المتكاملة (IDE) لـ J++ وقدم العديد من الأدوات والمرافق لمساعدة مبرمجي J++ على الاستفادة الكاملة من واجهة برمجة تطبيقات Win32 .

لم يعد Visual J++ متاحًا للتوزيع، ولكنه كان جزءًا من مجموعة منتجات Microsoft Visual Studio . وكان Visual Studio 6.0 آخر إصدار يتضمن J++.

فيجوال جيه#

لغة البرمجة Visual J# (تُنطق "جاي شارب") هي لغة من مايكروسوفت ، تشبه في تركيبها لغة جافا، وهي جزء من إطار عمل .NET . تُعد Visual J# جزءًا من مجموعة منتجات Microsoft Visual Studio .NET، وهي مصممة لمساعدة المطورين والمبرمجين على الانتقال من لغة J++ (أو جافا) إلى إطار عمل .NET .

طوّرت مايكروسوفت لاحقًا لغة C# (سي شارب) كلغة أساسية لمنصة .NET، والتي تأثرت في جوانب عديدة بلغة جافا؛ ونتيجة لذلك، يتشارك إطار عمل .NET العديد من الأفكار مع جافا. وكما هو الحال في جافا، تُترجم لغة C# إلى نوع من التعليمات البرمجية الوسيطة (تُسمى CIL )، وتعمل على آلة افتراضية تُسمى وقت تشغيل اللغة المشتركة ( CLAN). وكان إصدار .NET Visual Studio 2005 آخر إصدار يتضمن لغة جافا شارب.

مراجع

  1. ^ روجرز ، دان (1 ديسمبر 1996). "مايكروسوفت فيجوال J ++ 1.0" . مجلة الدكتور دوب .
  2. إيميغ، جاكلين (12 سبتمبر 2003). "من الأفضل التخلي عن لغة جافا++ من مايكروسوفت الآن" . إنفورم آي تي . مؤرشف من الأصل في 3 يوليو 2012. تم الاطلاع عليه في 25 يناير 2026 .
  3. "الإعلان عن الإتاحة العامة لإصدار مايكروسوفت من OpenJDK" . جافا في مايكروسوفت . 25 مايو 2021. تم الاطلاع عليه بتاريخ 3 أغسطس 2021 .
  4. "يا إلهي؛ مايكروسوفت تعلن الحرب" . xent.com. 1997-08-01 . تم الاطلاع عليه بتاريخ 2007-07-14 .
  5. ماكميلان، روبرت (1 يوليو 1997). "يُطلق على J/Direct من مايكروسوفت اسم نهاية جافا" . جافا وورلد . تم الاسترجاع في 16 يوليو 2020 .
  6. "Transvirtual تتبنى ملحقات جافا من مايكروسوفت" . linuxjournal.com. 10 يناير 1999. تم الاطلاع عليه في 1 أغسطس 2007 .
  7. "الإعلان عن نسخة من جافا" . slashdot.org. 14-06-1999 . تم الاطلاع عليه بتاريخ 01-08-2007 .
  8. "مايكروسوفت تطلق Visual J++" . سي نت . 1 أكتوبر 1996. تم الاطلاع عليه بتاريخ 31 أكتوبر 2011 .
  9. شركة مايكروسوفت (1998). دليل مبرمج مايكروسوفت فيجوال جي++ 6.0 (الطبعة الأولى ). مطبعة مايكروسوفت. رقم ISBN  1572318694.
  10. لور، ستيف (25 مايو 1998). "خصم آخر لمايكروسوفت" . نيويورك تايمز . تاريخ الاسترجاع: 15 مارس 2009. نُقل عن رسالة بريد إلكتروني بتاريخ سبتمبر 1997، أرسلها مسؤول في مايكروسوفت يُدعى ب . سريدهاران، قوله: "دعونا ننتقل إلى سرقة لغة جافا. مع ذلك، هل سبق لنا أن نظرنا في المدة التي ستستغرقها مايكروسوفت لبناء جافا متعددة المنصات تعمل بكفاءة؟ بالطبع، لن نفعل ذلك أبدًا، لكنه سيعطينا فكرة عن مقدار الوقت المتاح لدينا للقضاء على جافا صن."
  11. "مايكروسوفت: تاريخ السلوك المناهض للمنافسة والإضرار بالمستهلك" (ملف PDF) . اللجنة الأوروبية للأنظمة القابلة للتشغيل البيني . 31 مارس 2009. تاريخ الاطلاع: 22 أبريل 2009. ينبغي لنا ببساطة زيادة حصة J++ بهدوء، على افتراض أن المستخدمين سيستفيدون بشكل أكبر من فئاتنا دون أن يدركوا أنهم يبنون تطبيقات جافا مخصصة لنظام التشغيل ويندوز 32 فقط.
  12. «شركة صن تُسوّي نزاعها مع مايكروسوفت، وتُعلن عن تسريح موظفين» . www.news.com. 2004-04-02 . تاريخ الاطلاع: 2007-10-03 .
  13. "دعم مايكروسوفت لآلة جافا الافتراضية" . مايكروسوفت. 2007-03-02 . تم الاسترجاع في 2007-10-09 .
  • ميزات المنتج في Visual J++ - حسب الإصدار
  • مايكروسوفت فيجوال جيه شارب
  • موقع مايكروسوفت جافا
  • اتفاقية صن مع مايكروسوفت