حاضر اخي
اولا تحليلك للكلام خطأ
مايكروسوفت قالت بعض مزايا القوة مثل المؤشرات
وذكرت بالمقابل الربط المتأخر ميزة في الفيجوال بيسك
يعني تعادل
وارجو أن ترقرا المقال لانه ليس من مصلحة مايكروسوفت تفضل السي شاري على الفي بيوستجد هذا بردي
تفضل ردي
السلام عليكم
اخي العزيز هذا الموضوع موضوع اساسي ليس لفرض أرائنا وليس للتحيز للغتنا التي نبرمج بها
ولكن لنفيد الشخص الذي يبحث عن لغة ليبدأ بها
واحييك على هذه الفكرة
احب أن اقول انني محترف في الدوت نت سواء كانت سي شارب او في بي ولا اقول هذا الكلام عن فراغ ولكن عن تجربة
بسم الله
ال MSIL ما هي
هي اختصار ل Microsoft intermediate Language أرجو أن تكون الاملاء صح
صراحة عندما تكتب كود في بي او سي شارب وتعمل له كومبايل وتخرج بملف تنفيذي أو بمكتبة ...
فانك بالاساس لا تضع في هذا الملف الا كود لحظي هو IL ( اللغة الوسطية )
ما هذه الغلبة والقصة يا مايكروسوفت
مايكروسوفت تفكر ولهذه الفكرة فوائد كثيرة أهما فكرة عدم الاعتماد على نظام التشغيل لانك لم تعمل كومبايل للكود النهائي على جهازك
وايضا لو جهازك به معالج وشغلت البرنامج على جهاز به معالجين فلن تستفيد شيء لانه الكومبايلر فحص ووجد معالج واحد
هنالك مترجمين هما الاي ال والانجين ولكل واحد وظيفة في تحويل الكود على الجهاز النهائي الى كود يفهمه النظام ويختلفان في الية التحويل لا اكثر للكود اللحظي
اسف اطلت عليكم
السبب في ذكر هذا الكلام هو انني اريد أن اقول لكم ان السي شارب والفي بي بالنهاية يتحولون لكود واحد
اي أن المنصة التي بنيا عليها منصة واحدة ولكن الاختلاف جعلته مايكروسوفت بصيغة كتابة الكود لتجذب اكبر قدر من المبرمجين
وفي البداية يقال بان الدوت نت كانت سي شارب فقط ولكن تم اقتراح تغيير الصيغة لكي لا تخسر مبرمجي الفيجوال بيسك ولو بتبرمج باللغتين فلن تجد اية اختلاف الا في امور بسيطة
ال CLR وال BCL وووووو كافة المكتبات ووووو موجودين باللغتين لانه الاساس واحد
في البداية كانت بعض الفروقات البسيطة موجودة لصالح السي شارب كتعليقات الاكس ام ال
الconstruct المسمى Using
واعداة قيادة المتغيرات
هذه لا تؤثر على البرمجة على الإطلاق ولا تؤثر في انجاز أية مهمة
تمت اضافتها للاصدار الثامن من الفيجوال بيسك ( 2005 )
هنالك بعض المزايا الفريدة لكل لغة ولكن ما زلت أقول هي للمحترفين الذين ينوون عمل أمور ضخمة
مثلا المؤشرات بالسي شارب
ولكن من منا استخدمها اساسا في السي بلس بلس فاكثر ما كنت اكرهه فيها هو المؤشرات واساسا المؤشرات سيئة وموجودة حسب علمي فقط بالسي والسي بلس بلس والبايثون
من يريد أن يصنع مكتبة مثلا كال StringBuilder عليه التوجه لمؤشرات السي شارب
ولكن عند هذه المرحلة وحتى لو كان خبيرا بالسي شارب عليه أن يتعلم الكود الغير أمن وكيفية كتابته وحدوده ومراجعة بعض الأمور ويجب أن يكون دقيق
وفي هذه المرحلة ممكن لمبرمج الفيجوال بيسك ان يتعلم السي شارب خلال 5 دقائق وأقل وأن يعمل بها كانه يتعامل بها من ألف سنة
وانا عن نفسي افضل استخدام مكتبات جاهزة عن استخدام المؤشرات أو استخدام السي بلس لكتابة مكتبات واستخدامها هنا لان مؤشرات السي شارب محدودة نسبيا
ولكن نحن هنا نحكي عن أمر احترافي فوق العادة
هنالك مثلا الربط المتأخر بالفيجوال بيسك عند انشاء متغيرات من الكائنات
ميزة ولكن من يستخدمها ؟؟
نادرا اخي
فلا يقول لي شخص ان السي شارب اقوى أو اقل قيمة او سمعت احدهم يقول خالية من الشوائب
ولا اعلم مصدر هذا الكلام الذي لم اسمع به ولم أقرأ عنه
وللعلم انني اضحك على الشخص الذي يقول غالبا سي شارب وبس وانني مبرمج بها ودعك من الكلام الفاضي الفي بي فعندها يكون قد قال لي بانه مجرد هاوي ويسمع كلام من هنا وهناك بدون دليل
لا يوجد فرق واللغتين مجرد شكلين للغة واحدة هي بالنهاية الاي ال
ولكن دعني اقولك امور احبها بالفيجوال بيسك
مع العلم انني فترة لفترة اقوم بعمل احد مشاريعي بالسي شارب لانني امل من كتابة الفي بي واريد التغيير
اولا مقروئية الفيجوال بيسك عالية واشعر انني اخاطب صديق
مقروئية السي شارب قريبة للسي بلس وللجافا فهي اصعب قليلا
الفيجوال بيسك بها الكثير من التسهيلات والتي لن استطيع ذكرها هنا كاملة مثلا الكود سنيبت الكثير ، السماح بالتحويل الضمني ، My مجمعة على فئات مهمة
والكثير الكثير
عندك مثلا وجود الوسيطات الاختيارية بالفيجوال بيسك ومع انني قرأت كتاب اعطى طريقة لكتابتها بالسي شارب ولكنها لم تنجح معي
مع العلم وجود الوسيطة out في السي شارب والتي اصلا لم يسمع بها الكثير لانها تشبه الوسيطة ref تقريبا
مثلاoption strict , explict
هنالك الكثير من الفروقات البسيطة والتي طارت من بالي وارجو أن تعذروني
لا اعتبر هذه المزايا كلها قوية ولا تأثر على سير البرنامج مجرد اذواق
فانا مثلا مبرمج فيجوال بيسك 6 واحب الوسيطات الاختيارية كثيرا
فخلاص اعتدت عليها
ارجو ان يكون كلامي واضح وبسيط
وارجو ان تسامحوني لانني اطلت عليكم
واية استفسار انا جاهز
__________________
بريدي :khalilme (at) hotmail.com
مطور: ASP.NET, Windows Phone , Desktop Applications