فيجوال جي شارب
Visual J# (تُنطق "جاي- شارب ") هي نسخة متوقفة من لغة البرمجة J#، وكانت لغة انتقالية لمبرمجي لغتي Java و Visual J++ ، لتمكينهم من استخدام معارفهم وتطبيقاتهم الحالية مع إطار عمل .NET . [ 2 ] [ 3 ] تم طرحها في عام 2002 [ 4 ] وتوقف تطويرها في عام 2007، واستمر الدعم للإصدار الأخير من المنتج حتى أكتوبر 2017.
كانت لغة J# تعمل مع بايت كود جافا بالإضافة إلى الكود المصدري، مما أتاح استخدامها لنقل التطبيقات التي تستخدم مكتبات خارجية ، حتى في حال عدم توفر الكود المصدري الأصلي . وقد طُوّرت هذه اللغة من قِبل مركز تطوير مايكروسوفت الهند في مدينة حيدر آباد ، بمدينة هايتك في الهند. [ 5 ] [ 6 ]
لم تجتز عملية تطبيق جافا في بيئة Visual J++ ، المعروفة باسم MSJVM، اختبارات التوافق التي أجرتها شركة صن ، مما أدى إلى رفع دعوى قضائية من قبل صن، الشركة المطورة لجافا، وظهور لغة J#. أوقفت مايكروسوفت دعمها لـ MSJVM في 31 ديسمبر 2007 (لاحقًا استحوذت أوراكل على صن، ومعها جافا وعلاماتها التجارية). ومع ذلك، بدأت مايكروسوفت رسميًا بتوزيع جافا مجددًا في عام 2021 (وإن لم تكن مدمجة مع نظام ويندوز أو متصفحات الويب الخاصة به كما كان الحال سابقًا مع J++)، وذلك من خلال إصدارها الخاص من OpenJDK التابع لأوراكل، [ 7 ] والذي تخطط مايكروسوفت لدعمه لمدة ست سنوات على الأقل، لإصدارات الدعم طويل الأمد (LTS)، أي حتى سبتمبر 2027 لجافا 17.
الاختلافات الأساسية بين J# و Java
تستخدم لغتا Java وJ# نفس الصيغة العامة، ولكن توجد في J# اصطلاحات غير خاصة بلغة Java لدعم بيئة .NET. على سبيل المثال، لاستخدام "خصائص" .NET مع فئة JavaBean قياسية ، من الضروري إضافة بادئة مشابهة لـ Javadoc إلى دوال getter وsetter .
/** @beanproperty */...وتغيير اسم المتغير الخاص المقابل ليكون مختلفًا عن لاحقة أسماء getXxx/setXxx .
لا يقوم J# بتحويل شفرة المصدر المكتوبة بلغة جافا إلى بايت كود جافا (ملفات .class)، ولا يدعم تطوير تطبيقات جافا الصغيرة أو إمكانية استضافتها مباشرةً في متصفح الويب ، على الرغم من أنه يوفر غلافًا يُسمى Microsoft J# Browser Controls لاستضافتها ككائنات ActiveX . أخيرًا، يتم استبدال واجهة جافا الأصلية (JNI) والواجهة الأصلية الخام (RNI) بـ P/Invoke ؛ ولا يدعم J# استدعاء الأساليب عن بُعد (RMI). [ 8 ]
ذكرت مجلة InfoWorld : "تتميز واجهة J# مع إطار عمل .NET بالمتانة، ولكنها ليست سلسة مثل C# . على وجه الخصوص، لا يمكن لرمز J# تعريف سمات أو أحداث أو أنواع قيم أو مفوضين .NET جديدة. يمكن لـ J# استخدام هذه البنى اللغوية إذا تم تعريفها في تجميعة مكتوبة بلغة أخرى، ولكن عدم قدرتها على تعريف بنى جديدة يحد من نطاق J# وقابليتها للتشغيل البيني مقارنةً بلغات .NET الأخرى." [ 9 ]
وعلى النقيض من ذلك، فإن وثائق Microsoft الخاصة بـ Visual Studio 2005 توضح بالتفصيل تعريف مندوب .NET، [ 10 ] الأحداث، [ 11 ] وأنواع القيم [ 12 ] مباشرة في J#.
على غرار لغة C# وعلى عكس لغة Java، فإن لغة J# قادرة على استخدام توجيهات المعالج المسبق للغة C.
تاريخ J#
في يناير 2007، أعلنت مايكروسوفت: [ 13 ]
- كان من المقرر أن تُصدر مايكروسوفت نسخة مُحدثة من Visual J# 2.0، تتضمن نسخة قابلة لإعادة التوزيع 64 بت ، تُسمى J# 2.0 Second Edition، وذلك لتلبية طلب العملاء على دعم وقت التشغيل 64 بت. وقد أصدرت مايكروسوفت Visual J# 2.0 Second Edition في مايو 2007. [ 14 ]
- سيتم إيقاف دعم لغة J# ومساعد تحويل لغة Java في الإصدارات المستقبلية من Visual Studio . وكان الإصدار الأخير، الذي تم تضمينه مع Visual Studio 2005، مدعومًا حتى عام 2015.
- سيؤدي استدعاء كود J# من كود .NET 4.0 إلى الفشل ما لم يتم تحميل vjsnativ.dll مسبقًا. [ 15 ]
لم يعد تحميل برنامج Visual J# 2005 Express Edition متاحًا من موقع Microsoft الإلكتروني.
لم يعد Visual J# مدعومًا، بما في ذلك الإصدار الثاني القابل لإعادة التوزيع من Visual J# 2.0 الذي صدر عام 2007، والذي استمر دعمه حتى عام 2017 "(5 سنوات دعم أساسي و5 سنوات دعم موسع) على اللغات الإنجليزية الأمريكية." [ 16 ] [ 17 ]
مثال
فيما يلي مثال بسيط على لغة Visual J#.
package Wikipedia.Examples ;استيراد System.* ؛ استيراد System.ComponentModel.Container ؛ استيراد System.Drawing.Point ؛ استيراد System.Drawing.Size ؛ استيراد System.Windows.Forms.Application ؛ استيراد System.Windows.Forms.Button ؛ استيراد System.Windows.Forms.Form ؛ استيراد System.Windows.Forms.Label ؛ استيراد System.Windows.Forms.TextBox ؛public class HelloWorld extends Form { private TextBox textBox ; private Button button ; private Label label ;مكونات الحاوية الخاصة = لا شيء ؛public HelloWorld () { InitializeComponent (); }protected void Dispose ( boolean disposing ) { if ( disposing ) { components . Dispose (); } super . Dispose ( disposing ); }private void onClick ( Object sender , EventArgs e ) { label . set_Text ( String . Format ( "النص المُدخل: {0}" , textBox . get_Text ()); }# منطقة الكود المُولّد بواسطة مصمم نماذج ويندوز private void InitializeComponent () { this . textBox = new TextBox (); this . button = new Button (); this . label = new Label (); this . SuspendLayout ();// تهيئة مربع النص textBox.set_Location ( new Point ( 50 , 30 )); textBox.set_Name ( " Hello world!" ) ; textBox.set_Size ( new Size ( 120 , 20 ) );// تهيئة الزر button.set_Location ( new Point ( 50 , 60 ) ) ; button.set_Name ( "button" ) ; button.set_Text ( " انقر هنا ! " ) ; button.add_Click ( new EventHandler ( this.onClick ) ) ;// تهيئة التسمية label.set_Location ( new Point ( 50 , 90 ) ); label.set_Name ( " label " ) ; label.set_Size ( new Size ( 200 , 20 ) );// تهيئة النموذج set_AutoScaleBaseSize ( new Size ( 6 , 15 )); set_ClientSize ( new Size ( 220 , 140 )); get_Controls (). Add ( textBox ); get_Controls (). Add ( button ); get_Controls (). Add ( label ); set_Name ( "form" ); set_Text ( "Hello, world!" ); ResumeLayout ( false ); } # endregion/** @attribute System.STAThread() */ public static void main ( String [] args ) { Application . Run ( new HelloWorld ()); } }انظر أيضاً
مراجع
- ↑ "الميزات الجديدة والمطورة في Visual Studio .NET 2003" . learn.microsoft.com . Microsoft Learn. 22 أكتوبر 2019.
- ↑ "الصفحة الرئيسية لـ Visual J#" . msdn.microsoft.com . تم الاطلاع عليه بتاريخ 24-03-2017 .
- ↑ "ورشة عمل حول الانتقال من جافا إلى إطار عمل .NET: تدريب مجاني عبر الإنترنت" . 30 أبريل 2007. مؤرشف من الأصل في 23 أبريل 2008. تم الاطلاع عليه في 28 يناير 2020 .
{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط ) - ↑ أخبار مايكروسوفت،1 يوليو 2002
- ↑ إس براسانا، برنامج VJ#.Net من مايكروسوفت مصنوع في الهند ، إكسبريس كمبيوتر ، 29 يوليو 2002. مؤرشف في 28 نوفمبر 2013 على موقع Wayback Machine.
- ↑ " ذا هندو بزنس لاين : مايكروسوفت تضع خططًا كبيرة لمركز حيدر أباد" . www.thehindubusinessline.com
- ↑ "الإعلان عن الإتاحة العامة لإصدار مايكروسوفت من OpenJDK" . جافا في مايكروسوفت . 25 مايو 2021. تم الاطلاع عليه بتاريخ 3 أغسطس 2021 .
- ↑ "ترحيل Visual J#" . Visual Studio 2005. مكتبة MSDN . مؤرشف من الأصل بتاريخ 16-03-2012 . تم الاطلاع عليه بتاريخ 25-12-2021 .
- ↑ ياغر، توم (21 نوفمبر 2001). "لا تسمّوا J# جافا" . إنفوورلد . تم الاسترجاع في 20 يوليو 2020 .
- ↑ "delegate (Visual J#)" . Visual Studio 2005. مكتبة MSDN . مؤرشف من الأصل بتاريخ 19-12-2011.
- ↑ "تعريف واستخدام الأحداث" . فيجوال ستوديو 2005. مكتبة MSDN . مؤرشف من الأصل بتاريخ 19-12-2011.
- ↑ "أنواع القيم المُعرَّفة من قِبل المستخدم" . فيجوال ستوديو 2005. مكتبة MSDN . مؤرشف من الأصل بتاريخ 20-12-2011.
- ↑ شبكة مطوري مايكروسوفت، إعلان منتج Visual J# ، 10 يناير 2007
- ↑ "تنزيل حزمة Visual J# 2.0 الإصدار الثاني القابلة لإعادة التوزيع" . مايكروسوفت . مؤرشف من الأصل بتاريخ 23 مايو 2007. تم الاطلاع عليه بتاريخ 27 أبريل 2010 .
{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط ) - ↑ "استدعاء كود J# من .NET 4.0 - Windward Wrocks" . تم الاطلاع عليه بتاريخ 6 مارس 2017 .
- ↑ "الصفحة الرئيسية لبرنامج Visual J#" . تم الاطلاع عليه بتاريخ 6 مارس 2017 .
- ↑ "نهاية دعم Visual Studio 2008 - خلال عام واحد" . تم الاطلاع عليه بتاريخ 11 أبريل 2017 .
روابط خارجية
- الموقع الرسمي على موقع Wayback Machine (تمت أرشفته في 26 فبراير 2008)
- خيارات تصميم Visual J#: محادثة مع براتاب لاكشمان على موقع Wayback Machine (تمت أرشفته في 16-04-2007)
- لغات برمجة .NET
- برنامج 2002
- أدوات تطوير جافا
- عائلة لغات البرمجة جافا
- لغات برمجة مايكروسوفت
- مايكروسوفت فيجوال ستوديو
- أدوات تطوير مايكروسوفت المتوقفة
