الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال بخصوص الكمبايلر لل VB EXPRESS

مغلق
بدأه H7SE في 2 نوفمبر 2004 · 9 رد · 861 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كنت قد قرات في احد المواقع الاجنبية ان لغة ان الفيجيوال بيسك 6 هي لغة برمجة لغير المبرمجين وكان الموقع يشير الي ضعف الكمبايلر الخص باللغة وكتب الموقع ان البرامج التي ينتجها الكمبايلر هي ملفات تنفيذيه وهمية بسبب اعتمادها الكبير علي ملفات ال "RUN TIME"

قبل مدة قرات ان هذا الحال تغير في ال فيجيوال بيسك دوت نت حيث ان جميع برامج الفيجيوال ستديو يتم ترجمتها بكمبايلر واحد يعني برنامج الفي بي زيه زي برنامج السي

الان اريد ان اعرف هل عاد الحال الي سابق عهده ام ماذا

حيث ان حزمة "VB EXPRESS" توزع منفصلة عن باقي اللغات

تحياتي

تم تعديل هذه المشاركة بواسطة H7SE في 2 نوفمبر 2004 في 03:32

#2
H7SE كتب:
قبل مدة قرات ان هذا الحال تغير في ال فيجيوال بيسك دوت نت حيث ان جميع برامج الفيجيوال ستديو يتم ترجمتها بكمبايلر واحد يعني برنامج الفي بي زيه زي برنامج السي

أعتقد انك فهمت خطأ، فكل لغة من لغات الدوت نت لها الـ Compiler الخاص بها، لكن كلها تترجم في النهاية الى لغة تسمى(Microsoft Intermediate Language (MSIL التي بدورها تترجم الى الـ Native Code .

رأس الحكمة الإيمان بالله

#3

" لم يعد هناك أيّ قصور في مترجم الكود Compiler، فكلّ لغات VS.Net تعمل على مترجم واحد، ممّا يعني أنّ VB قد صار بقوّة وسرعة وكفاءة VC++.. وكمثال، صار بإمكانك استخدام البرمجة الارتداديّة Recursive Programming دونّ أن تخشى من بطئها أو استهلاكها لحجم الذاكرة، فقد صارت في منتهى السرعة والكفاءة"

اقتباس من كتاب احتراف Visual Basic .Net للاستاذ محمد غانم

؟؟

#4

هو يعني بكلمة Compiler :

Just In Time Compiler الذي يترجم الكود من الـ MSIL الى الـ Machine Code.

و هذا هو المترجم الواحد الذي يقصده.

تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 2 نوفمبر 2004 في 20:51

رأس الحكمة الإيمان بالله

#5

اولا تحملني فانا مبتدئ

---------------

الان هذا الكلام يعني عندما اقوم بتصميم برنامج بالفي بي دوت نت

سيكون هذا الكلام صحيح

"ان لغة ان الفيجيوال بيسك 6 هي لغة برمجة لغير المبرمجين وكان الموقع يشير الي ضعف الكمبايلر الخص باللغة وكتب الموقع ان البرامج التي ينتجها الكمبايلر هي ملفات تنفيذيه وهمية بسبب اعتمادها الكبير علي ملفات ال "RUN TIME"

"

بعدين

من الاصل هل ما قراته في الموقع الاجنبي صحيح

تحياتي

#6

-----------------------------------------------------------------------------------

لكن كلها تترجم في النهاية الى لغة تسمى(Microsoft Intermediate Language (MSIL التي بدورها تترجم الى الـ Native Code

-----------------------------------------------------------------------------------

اخي محمد

هذا الكلام يعني ان قوة الملف التنفيذي المترجم في الفي بي دوت نت تماثل الملف التنفيذي في السي دوت نت

مثلا لنفترض مبرمج محترف قام بكتابة نفس الكود لاحد البرامج ولكن بلغتي برمجة مختلفتين

احدي النسختين بلغة الفي بي دوت نت

والنسخة الاخري للبرنامج بلغة السي دوت نت

وقام بترجمة لكل من البرنامجين

هل ستكون كفائة الملف الناتج متماثلة في كلا الحالتين

رجاء المساعة يا اخوان

الواحد مش عارف راسه من رجليه واريد ان ابدا بتعلم لغة برمجة لها مستقبل

اميل بشدة للفي بي دوت نت لاني بصراحة حاولت مع السي ولم استوعب طريقة كتابة الكود

#7

حسناً، سأعطيك مثال:

لو كتبنا المثال الشهير Hello World بلغة الـ VB.Net و الـ #C سيكون كلآتي:

:VB.Net

Module Module1

    Sub Main()
        Console.WriteLine("Hello World")

    End Sub

End Module

:#C

using System;

namespace ConsoleApplication3
{
	class Class1
	{
  [STAThread]
  static void Main(string[] args)
  {
  	Console.WriteLine("Hello World");
  }
	}
}

عندما تتم ترجمة الأكواد السابقة بواسطة الـ Complier الخاص بكل لغة تترجم الى ما يسمى بالـ MSIL فيكون الناتج كالآتي سواء كان الكود VB.Net أو #C أو أي لغة من لغات الدوت نت:

:MSIL code

   .assembly HelloWorld {}
   
   .method static void Main() cil managed
   {
      .entrypoint   
      .maxstack 1
   
         ldstr    "Hello World"
      call     void 
         [mscorlib]System.Console::WriteLine(string)
      ret
   }

حتى تتأكد من صحة هذا الكلام، انسخ كود الـ MSIL الى ملف Notepad ثم احفظ الملف بإسم : Hello.il ثم افتح الـ Visual Studio .NET Command Prompt و أكتب:

ilasm c:\Hello.il

و اضغط Enter، هذا سوف ينتج عنه ملف Hello.exe .

الخلاصة:

البرامج المكتوبة بالدوت نت كلها تترجم الي لغة واحدة في النهاية، أي كل لغات الدوت نت تتساوى في الناتج الأخير لها، و ان كنت تريد تعلم الدوت نت فاختر اللغة التي تناسبك فالنهاية واحدة.

بالتوفيق...

تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 2 نوفمبر 2004 في 21:46

رأس الحكمة الإيمان بالله

#8
محمد عبد العليم كتب:
Just In Time Compiler الذي يترجم الكود من الـ VB.Net أو #C أو اي لغة من لغات الدوت نت الى الـ MSIL .

لقد حصل هنا التباس صغير. فالـ Just In Time Compiler لا يترجم من اللغات العليا كالسي شارب الى اللغة الوسيطة MSIL. بل يقوم بترجمة كود MSIL الى native code اي خاص بالجهاز الذي يقام بتنفيذ برنامج الدوت نت عليه. ولذلك يسمى ب Just In Time Compiler لأنه يقوم بترجمة فقط الجزء الذي يحتاجة البرنامج الى لغة الآلة. اما المترجمات التي تقوم بترمجة برامج اللغات العليا كالشي شاري و فيجوال بيزك الى اللغلة الوسيطة فهي ليست Just In Time. أي أنها تقوم بترجمة البرنامج كاملا.

وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان

بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي

يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي

برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي

يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو

http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3

#9

شكراً يا DOTNETEXPERT على تصحيح الخطأ ، كنت أنوي تصحيحه بعد صلاة العشاء..

فعلاً، كل لغة تترجم الكود الخاص به الى الـ MSIL مباشرة باستخدام الـ Complier الخاص بها.

و آسف يا H7SE على الخطأ....تخاريف ناتجة عن الصيام و الاجهاد :) ، فلم أنم غير ثلاث ساعات منذ يومان....

على العموم سأقوم بتصحيح الجملة.

تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 2 نوفمبر 2004 في 20:44

رأس الحكمة الإيمان بالله

#10

اولا شكرا يا محمد علي اهتمامك بالموضوع وشكرا "DotNetExpert" علي التوضيح

وجعل ذلك في ميزان حسناتكما

---------------

ما كنت اسعي لفهمه حصلت عليه من كلام محمد هنا

"البرامج المكتوبة بالدوت نت كلها تترجم الي لغة واحدة في النهاية، أي كل لغات الدوت نت تتساوي"

-----

الف شكر يا محمد وبارك الله فيك

هذا الموضوع مغلق.

مواضيع مشابهة