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


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


    أوامر متتالية أو تتابعية. Sequential

    أوامر التفريع أو الاختبار أو التشعب. Branching

    أوامر التكرار. Looping



مقدمة في تقنية .Net



البرمجة الإجرائية:
هي عبارة عن مجموعة مــن التعليمات يتـــــم تنفيذها بالترتيب ما لم يوجد بالبرنامج أوامــــر تغير من هذا الترتيب.

تعد لغة Basic أحد لغات البرمجة الإجرائيـــــــة، وكانت تعمل في بيئة نظام التشغيل DOS، ورغـم أنهــــا كانت بسيطة وسهلة إلا أنها كانت محـــدودة الإمكانات ولم تصمد أمام لغات البرمجة الأخرى.



البرمجة الشيئية: 
يتم تقسيم البرنامج إلى إجراءات يتم تنفيذ كل إجــــــراء حسب وقوع حدث معين على أحـــــــد الكائنات.

وقد أصدرت ميكروسوفت لغة VB والتي تعمل في بيئة نظام التشغيل Windows، وتبعتها بعـــــــدة إصدارات –ســـــت إصدارات- استخدمت على نطاق واسع في برمجة التطبيقــات المختلفة للعديد من المجالات، ولكن ظلت –مقارنة مع باقـــي لغات البرمجة- الأبطأ نسبيا والأكبر حجما وتعاني من بعــض أوجه القصور في الأداء، هذا بالإضافة إلى أنها ليست مـــــن اللغات الموجهة بالأحداث Object Oriented.



    الإصدارات:
    
    أصدرت ميكروسوفت ست إصدارات من VB الذي يعتمد على البرمجة الشيئية.
    
    بعدها أصدرت ثلاث إصدارات من Visual Basic.Net هي:
    VB 2003, VB 2005, VB 2008, VB 2010 .




ما هي بيئة .Net:

تقنية .Net هي حل متكامل ومتطور من شركة ميكروسوفت لبناء الأنظمة وتشغيلها للجيل القادم من التطبيقات والأجهزة التي تسمح بعملية ربط الأجهزة والناس والمعلومات والشبكات في كل مكان بطريقة سهلة وآمنة ومنظمة.



ومما سبق يمكن القول أن تقنية. Net  تشمل الآتي:

    بيئة التطوير المتكاملة Visual Studio لتسهيل إنتاج التطبيقات وإن كان يمكن الاستغناء عنه بحيث يتم إنتاج التطبيقات من خلال محرر نصوص "Notepad" وإطار العمل "Framework".
    لغات البرمجة وتنفيذ قواعد العمل.
    إطار العمل Framework ويشمل طبقة واسعة من المكتبات Class Libraries ولغة التنفيذ المشتركة CLR.
    المساعدة Help بالإضافة للمساعدة من خلال الإنترنت Online.
    Platform ويقصد به كل شئ يساهم في إنتاج واستخدام مكونات .Net من أفراد وأجهزة واتصالات وشبكات وأدوات وخدمات... الخ.




مكونات .Net



Platform



كيف يعمل إطار عمل .Net Framework؟ 

إطار العمل طبقة وسيطة بين نظام التشغيل ولغات البرمجة ويعمل كبيئة لإنتاج وتشغيل وإدارة التطبيقات المصممة للعمل تحت بيئته كما يعمل على توفير مكتبات موحدة للتطوير مما يسهل إنتاج التطبيقات متنوعة مهما تعددت اللغات ويظهر ذلك واضحا في أن كل شئ تقوم به يكتب له كود يمكنك الاطلاع عليه وتعديله وله العديد من الإصدارات مثل: 1, 1.1, 2, 3.5 ويستطيع نظام التشغيل التعامل مع أكثر من إصدار في نفس الوقت.



  .Net Framework



أهم مكونات Framework 

Framework



لغة التنفيذ المشتركة:

Common Language Runtime “CLR

أحد أهم مكونات بنية إطار العمل .Net framework ويطلق عليه بيئة العمل المشترك وبه يتم تنفيذ كل التطبيقات ويتيح لك مزايا عديدة منها التعامل مع الأخطاء والأمان وإزالة العيوب والتناسق في ملامح البرنامج كما يقوم بتحويل ملف IL أو MSIL إلى لغة الآلة Machine Language من خلال المترجم JIT.



الترجمة على الفور:

Just in time  “Jit

هي تقنية –جزء من CLR- تقوم بترجمة البرنامج عند تنفيذه حيث ينتج أفضل شفرة تتناسب مع معالج الجهاز الذي سيعمل عليه البرنامج.



مرحلتي ترجمة البرنامج



مكتبة الفئات Base Class Library:

أحد أهم مكونات إطار العمل .Net Framework وهي المكتبات التي تساعد المبرمجين لإنشاء التطبيقات وتحتوي .Net على الآلاف منها موزعة في مجموعات هرمية "Name Space" بهيكل .Net



فمثلا:

    فيما يتعلق بنظام الملفات يمكنك البحث في الفئة IO.system وستجد ما تريد في الفئة الفرعية IO.syatem.file
    وفيما يتعلق ببرمجة صفحات ASP.Net ابحث في system.web
    فيما يتعلق بمكتبات قواعد البيانات نبحث في System.data.





المنتجات التى يمكن إنتاجها من خلال .NET:

(1) DESKTOP APPLICATIONS.

(2) WEB APPLICATIONS.

(3) WEB SERVICES.

(4) MOBILE APPLICATIONS.



الجديد في VB.Net



    تعد بيئة تطوير متكاملة Integrated Development Environment "IDE".
    قبل ظهور .Net كنا نحصل على برمجيات Windows Application فقط، ومع ظهور .Net أمكن الحصول على منتجات أخرى  مثل:Web Application – Web Services.




    قبل .Net: بعد الإنتهاء من البرنامج يتم ترجمته إلى .exe file أي ملف بلغة الآلة –لغة المعالج Processor- وبذلك كان البرنامج مرتبط بنظام التشغيل OS وتعليمات المعالج بالجهاز، وهذا ما يفسر حدوث مشاكل Errors عند تشغيل البرنامج على جهاز آخر أو نظام تشغيل آخر نظرا لإختلاف المكتبات الخاصة بنظام التشغيل ملفات Dll.




بعد .Net: وبظهور تقنية Framework أمكن تنفيذ البرنامج على أي جهاز بغض النظر عن كل من نظام التشغيل والمكونات المادية للجهاز، حيث أصبح اطار العمل Framework طبقة وسيطه بين البرنامج ونظام التشغيل.



وقد حقق ذلك الفوائد التالية:

أولا: أصبح البرنامج يستخدم مكتبات الــ Framework وبذلك حلت مشكلة ملفات المكتبات مع OS.

ثانيا: فيما يتعلق بمشكلة ترجمة البرنامج فإن ذلك يتم الآن على مرحلتين: مرحلة ترجمة البرنامج وتحويله إلى برنامج بلغة Il أو MSIL وعند تنفيذ البرنامج المترجم إلى IL يتم ترجمته في المرحلة الثانية فوريا إلى لغة الآلة من خلال CLR "Common Language Runtime" بواسطة المترجم Jit Compiler في الـ Framework.



حيث أصبح لكل لغة في .Net مترجم خاص بها وينتج عنه ملف PEF "Portable Executable File" يكون أحد عناصره ملف MSIL ومعلومات أخرى متعلقة بالبرنامج مثل رقم الإصدار ومعلومات عن المكتبات التي سيحتاجها من Framework –ويعرف بــ Metadata"" الذي يتم ترجمته بعد ذلك إلى لغة الآلة بواسطة المترجم JIT Compiler.

وبذلك يمكن تشغيل أي برنامج .Net على أي جهاز به Framework بدون حدوث أي أخطاء مع نظام التشغيل أو المعالج حتى وإن كان تليفون محمول مزود Framework.



    جميع لغات .Net تستخدم واجهة واحدة "Studio" وتترجم إلى ملف بلغة "MSIL" Microsoft Intermediate Language وهذا يعني امكانية انشاء تطبيقات تدخل فيها أكثر من لغة برمجة بعد اتخاذ بعض الإجراءات.




      إضافة امكانات جديدة لنافذة محرر الأكواد مثلا: إذا كتبنا كود جملة IF:

If x = 10 Then

وتم الضغط على مفتاح الإدخال يضيف محرر الأكواد تلقائيا End If بل ويضيف أيضا كلمة Then إذا لم تكتبها.



    تم إضافة تلميحات كثيرة Tool tip تظهر على الشاشة عند عرض قيم المتغيرات وأنواعها ومعاملات الإجراءات والدوال ونتيجتها وعرض نبذة عن وظيفة كل دالة وكل معامل.




    إدخال تحسينات كثيرة على مظهر النموذج والأدوات مثل:
        تحديد درجة شفافية النموذج من خلال خاصية Opacity"".
        تحديد منطقة ظهور النموذج على الشاشة من خلال خاصية "StartPosition" بدلا من نافذة "Layout" في VB 6.0.
        لم تعد في حاجة لكتابة كود يحافظ على تناسب مقاييس الأدوات مع أبعاد النموذج كلما تغير حجم النموذج، وذلك من خلال خصائص جاهزة تقوم بذلك.




    من الممكن الآن إضافة أزرار أو أي أدوات أخرى للنماذج في وقت التنفيذ أي في وقت Run Time مع إمكانية ربطها بأي إجراء.

    جميع لغات .Net يتم ترجمتها إلى ملف وسيط "MSIL" ويترجم بعد ذلك عن طريق "CLR" إلى لغة الآلة وهذا يعني أن VB أصبح يعمل بقوة وسرعة وكفاءة VC++.




    إضافة إمكانية استخدام معالجات الاستثناءات Exception Handlers كما في جملة:

  Try

            ……………………

Catch

            ………………………

End Try



    هناك ثلاثة أنواع من الأخطاء:

(1) أخطاء لغوية أو صياغة Syntax Error: وحاليا يتكفل باكتشافها محرر البرنامج Editor من خلال المفسر.



    أخطاء منطقية Logical Error: ويمكن اكتشافها عند تنفيذ البرنامج على بيانات حقيقية معلومة النتائج مسبقا وتم تجربتها.
    أخطاء أثناء التشغيل Run Time Error: وهو ما يمكن للمبرمج اكتشافه من خلال استخدام المعالجات الاستثنائية Exception Handlers كما في جملة Try … Catch  / End Try من خلال المترجم.




      VB.Net مبنية بالكامل على مفهوم البرمجـــة المـــــوجهـــة بالكائنـــــات OOP 
    فعلى سبيل المثال:
        يوجد بها وسائل جاهزة Methods خاصة بالتعامل مع المتغير النصي من نوع String تسمح بالبحث فيه أو تقطيعه أو استبدال أجزاء منه.
        وصارت هناك وسائل جاهزة أيضا لعكس المصفوفة Array وترتيبها والبحث فيها.




    يوفر إطار العمل Framework في .Net كم كبير من المكتبات أو التصنيفات Classes بديلا عن استخدام الدوال الخاصة بنظام التشغيل OS.
    أصبح بإمكانك تعريف المتغيرات داخل مقاطع الجمل الشرطية If Statement وجمل التكرار Loop Statements بحيث تكون معزولة عن المتغيرات الموجودة خارج هذه المقاطع.




    إمكانية تصميم صفحات إنترنت بنفس طريقة تصميم النماذج العادية مع كتابة كود VB.Net بمعظم إمكانياته لإنشاء تطبيقات ASP.Net تعمل على الخوادم Server بدون كتابة أي كود ASP.




وتهدف ميكروسوفت من إنتاج .Net إلى: 

    إنشاء آلاف المكتبات للعديد من البرامج التي تعمل على أنظمة التشغيل الأخرى مثل لينكس للتوافق   وتعمل على نظام التشغيل Windows.
    سهولة تطوير تطبيقات الإنترنت.
    أصبحت لغة برمجة موجهة بالكائنات OOP وبيئة تطوير وبذلك أمكن دمج أكواد أكثر من لغة في نفس البرنامج.




وتهدف ميكروسوفت من إنتاج .Net إلى: 

    وتم مواجهة لغة Java بلغة J# مع بناء إطار العمل Framework والذي يعد محاكاة من شركة ميكروسوفت لنظام Virtual Machine المنتج من شركة SUN.
    استيعاب تقنية XML "Extensible Markup Language" الذي يهتم بالبيان ونوعه أما HTML فهو يهتم بطريقة عرض البيان.




وزارة التربية والتعليم

مع أرق تحياتي

أحمد الأنصاري السلاموني

الإدارة العامة للكمبيوتر التعليمي