ملتقى قبيلة حرب الرسمي

ملتقى قبيلة حرب الرسمي (http://www.m-harb.net/vb/index.php)
-   ملتقى برامج الكمبيوتر (http://www.m-harb.net/vb/forumdisplay.php?f=5)
-   -   موسوعة البرمجه ( محدث ) (http://www.m-harb.net/vb/showthread.php?t=1986)

الماسترو 31-08-06 05:50 PM

موسوعة البرمجه ( محدث )
 
بسم الله الرحمن الرحيم


موسوعة لغات البرمجة



يتم تطوير برامج الحاسوب باستخدام لغات البرمجة وتتكون لغة البرمجة من مجموعة من الرموز والقواعد كأي لغة أخرى لتوجيه العمليات في الحاسوب وهناك العديد من لغات البرمجة المستخدمة ويتم تصميم كل منها لحل نوع خاص من المشكلات . ومن أهم لغات البرمجة المعروفة الفورتران , كوبول , الباسكال , سي , وجافا .
يمكن لأي شخص يهدف لأن يصبح مبرمجا أن يتعلم إحدى هذه اللغات ويتقنها ليستطيع بعد ذلك إعطاء أوامره للحاسوب .



مستويات لغات البرمجة Levels of language
هناك العديد من لغات البرمجة معظمها ينتمي إلى نفس الفئة تسمى مجموعة الفئات المختلفة للغات البرمجة بمستويات لغات البرمجة وذلك لأنها يمكن أن ترتب بشكل هرمي وأدنى المستويات في هذا الهرم تحتله اللغات الاقرب إلى مايستخدمه الحاسوب اي النظام الثنائي (0,1) والمستوى الاعلى تحتله اللغات التي تظهر مشابهه نوعا ما للغة الانسان مثل الانجليزية وعند الانتقال من أدنى المستويات إلى أعلاها تظهر المستويات الاتية:
1.لغات الآلة (متدنية المستوى) Machine Language
2.لغات التجميع (متدنية المستوى) Assembly Language
3.لغات الجيل الثالث (عالية المستوى ) High-Level Languages
4.مولدات التطبيقات (عالية المستوى) Application Generators
قبل الانتقال للحديث عن المستويات لغات البرمجة لابد من التأكيد على أن لغة الحاسوب تتكون من مجموعة صفوف من 0,1 وهي اللغة الوحيدة التي يفهمها وتسمى اللغة الثنائية أو لغة الالة .



1.لغات الآلة (متدنية المستوى) Machine Language

إن الغة الوحيدة التي يمكن استخدامها مباشرة في حاسوب ما هي لغة الآلة الخاصة به أي أن الشخص الآمر-المبرمج- يلقي الاوامر إلى الشخص المأمور-الحاسوب- بلغة الطرف الثاني-اللغة الثنائية-وهذا يقتضي بطبيعة الحال أن يتعلم الشخص الاول لغة الشخص الثاني أي أن يتقن المبرمج لغة 0, 1 .
إذن يتكون البرنامج المكتوب بلغة الآلة من أرقام ثنائية تعبر عن التعليمات ومواقع الذاكرة والبيانات الضرورية لحل مشكلة معينة لذلك فإن أي لغة آلة تتكون من مجموعات0,1 ولكن طريقة تنظيمها تختلف من نوع حاسوب إلى آخر فمثلا تعليمة لغة الآلة التي تقوم بجمع 8 إلى القيمة الموجودة في المراكم تكون على الشكل التالي:
10100000 00001000
8 DDA

واستخدام لغة الآلة كان صعبا للغاية ويحتاج إلى وقت كبير كما أنه معرض إلى كثير من الأخطاء والمبرمج لن يكون دقيقا ولن يعمل بكفاءه عندما يقضي معظم وقته في كتابة 1 و 0 كما أنها تعتمد عاى هندسة الحاسوب ولا تحتاج إلى مترجم .




2.لغات التجميع (متدنية المستوى) Assembly Language


تقع لغة التجميع في مستوى أعلى من لغة الآلة ولكنها بقيت متدنية . يماثل استخدام هذه اللغة أن يقوم الشخص الآمر-المبرمج- بإلقاء أوامره باستخدام كلمات ورموز بلغته وكلمات ورموز أخرى بلغة الطرف الآخر-الحاسوب- وهذا يعني أهمية استخدام مترجم ليحول أوامر المبرمج المكتوبه بلغته -لغة التجميع - إلى لغة الحاسوب - لغة الالة - .
وتميزت هذه اللغة بما يلي :
تتكون لغة التجميع من اختصارات سهلة التذكر أو الرموز المختصرة (Mnemonic Symbols ) والتي تمثل 1 , 0 في لغة الآلة فمثلا يمكن أن تستخدم لغة التجميع (ِِِADD ,STO ,MUL ) بدلا من الشيفرات الثنائية لعمليات الجمع والضرب والتخزين في الحاسوب استخدام العنونه الرمزية (Addressing Symbols) أي استخدام الرموز بدلا من استخدام العناوين الرقمية ويعني هذا أن المبرمج يستطيع أن يسمي موقع الذاكرة بTotal بدلا من 0001001 وبهذا يتكون لدينا ما يسمى بالمتغير Variable وهو عبارة عن معنى تجريدي لموقع معين ويمكن للمبرمج أن يستخدم الارقام الثمانية أو السادس عشرية أو العشرية في قيم البيانات كل هذه العوامل جعلت استخدام لغة التجميع أسهل بكثير من استخدام لغة الآلة .
وتعتمد لغة التجمع كلغة الآلة على نوع الحاسوب فمثلا لغة التجميع المستخدمة في حواسيب IBM لا يمكن استخدامها مع حواسيب Apple Macintosh وهناك وجه تشابه آخر بين لغة التجميع ولغة الآلة هو أن تعليمات لغة التجميع ليست بتلك القوه بمعنى آخر لتنفيذ مهمة بسيطة يجب استخدام العديد من التعليمات .
وبعكس برنامج لغة الآلة فإن البرنامج المكتوب بلغة التجميع يجب ترجمته قبل تنفيذه ويستخدم لهذا الغرض برنامج خاص يسمى المجمع (Assembler) إن البرنامج المكتوب بلغة التجميع أو أي لغة أخرى ما عدا لغة الآلة يسمى بالبرنامج المصدري (Source Code) وعندما يتم تحويل هذا البرنامج إلى لغة الآلة ينتج ما يسمى بالبرنامج الهدفي (Object Code).
أن استخدام هذه اللغة يستحق الجهد الزائد الذي يبذله المبرمج عند الحاجة إلى الاستفادة من خصائص الحاسوب المتميزة أو من كفاءة مصادره لذلك عادة ما تستخدم هذه اللغة في حالة ربط الحاسوب مع أجهزة الادخال والاخراج حيث أنها تعطي المستخدم القدرة على التحكم في توظيف المصادر الداخلية في الحاسوب كما أنها تستخدم من قبل المبرمجين المهرة لأنتاج برامج تنفذ أسرع وتحتل حيزا أفل في الذاكرة ولذلك فللغة التجميع دورا هام ومميز في برمجة نوع من المهمات التي تعتمد على الآلة .



3.لغات الجيل الثالث (عالية المستوى ) High-Level Languages


أن يقوم الشخص الآمر- المبرمج - باستتخدام لغته لغة البرمجة للحديث مع الطرف الثاني - الحاسوب- .
تم استخدام مجموعة من لغات البرمجة وهي اللغات عالية المستوى حيث أن جملها أقرب إلى لغة الانسان أو التعابير الحسابية من لغات الآلة ولغات التجميع , ومن أمثلة هذه اللغات :Cobol,Fortran,Basic,C Pascal وهي تحتاج إلى مترجمات أو مفسرات ليفهمها الحاسوب .
للغات عالية المستوى مميزات عديدة تجعلها تتفوق على لغة الآلة ولغة التجميع , وأهمها:
* أسهل في التعليم والكتابة وتصحيح الأخطاء والمراجعة .
* تسمح هذه اللغات للمبرمج أن يركز على المشكلة التي بين يديه بدون الاهتمام بتفاصيل عمل الآلة وبالتالي يمكن كتابة برامج كبيرة ومعقدة ويتم العثورعلى أخطاء البرمجة في هذه اللغة بسهولة .
* تعطي المبرمج القدرة على التعبير عن العمليات المعقدة بجمل قليلة وبسيطة .
* إن عدم اعتماد هذه اللغات على نوع الحاسوب يعني إمكانية نقل البرنامج من حاسوب لآخر مما يحرر المبرمج من تعلم لغات مختلفة لكل حاسوب يحتاج الى استخدامه.



4.مولدات التطبيقات (عالية المستوى) Application Generators

وتدعى أيضا الجيل الرابع وهي لغات قواعد البيانات والتي تساعد المستخدم النهائي في صناعة الملفات والشاشات والتقارير أو أي وظيفة أخرى دون كتابة برنامج .وباستخدام هذه اللغات Oracle , Access فإن المبرمج يقوم بصناعة مجموعة ملفات ذات علاقة فيما بينها حسب أصول ومعايير معينة ثم يصنع المبرمج مجموعة شاشات لتحديث هذه الملفات كإجراء عمليات الاضافة والحذف والتعديل وصناعة مجموعة تقارير واستعلامات لاسترجاع البيانات الموجودة في هذه الملفات كل ذلك باستخدام جمل بسيطة تحدد ما هي السجلات المطلوبة دون تحديد كيفية الحصول عليها فمثلا لاسترجاع أسماء الطلاب الناجحين من ملف الطلاب Students نكتب :
st-name From Students WHERE average<=50; TCELES
فيقوم الجهاز بعرض النتائج مباشرة ولو استخدممنا لغات الجيل الثالث فإننا سنظطر حينها لكتابة برنامج يتكون من مجموعة أوامر تبدأ بفتح الملف المذكور وقراءة السجل الأول وفحص المعدل وطباعة أسم الطالب إذا كان المعدل أكبر من أو يساوي 50 ثم ينقل المؤشر إلى السجل التالي حتى نهاية الملف حيث يتم إغلاقة.
ببساطة عندما تطلب من خادمك أن يعد لك كوبا من الشاي بإعطائه مجموعة أوامر :أحضر الابريق, املأه بالماء , ضعه على النار ,...... الخ فإنك تكون كمن يستخدم لغات الجيل الثالث , أما عندما تقول له : أريد كوبا من الشاي ليأتيك بعد دقائق فإن هذا يشبه مولدات التطبيقات


الماسترو 31-08-06 05:53 PM

مدخل الى سي شارب :

تعريف لغة السي شارب (C#) .

سي شارب (C#)أحد لغات بيئة الدوت نت لتطوير البرامج من أنتاج شركة ميكروسوفت يرمز اليها بالرمز c# وتنطق "سي شارب"، وهي إحدى اللغات التي انتجتها شركة مايكروسوفت وذلك خروجا من ورطة الجافا والقضية الشهيرة التي رفعتها عليها شركة صن , تم الاعلان عنها في اواسط العام 2000 تزامنا مع الاعلان عن بيئة الدوت نت. تتميز سي شارب بأنها أحد لغات البرمجة الشيئيه وتجمع صفات السي واللبيزك المرئي حيث انها تستخدم القواعد الخاصه بالسي وسرعة التطوير كما في البيزك المرئي لغة السي شارب موجهه الى مبرمجي الفيجول سي ومبرمجي السي على انها امتداد لهذه اللغات.

استفادت لغة السي شارب الى حد كبير من جهود مطوري الجافا وتشاركها في كل مزاياها ومبادئ التصميم وتفوقها في بعض الاجزاء . لغة السي شارب كباقي لغات الدوت نت والجافا تنتج برامج لاتعتمد على بيئه معينه مثل برامج موجهه للينكس او ويندوز او موبيل . هي لغة كائنية بالمعني الحقيقي للكلمة حيث كل شيء في تركيب اللغة هو عبارة عن كائن تم تعريفه مسبقا , لذلك لا تسمح هذة اللغة بالكتابة الحرة اي ان ابسط التراكيب البرمجية يجب ان تكون داخل احدي الكائنات. منذ الوهلة الاولي لظهور السي شارب كان من الواضح انها اتت لتعزز موقف شركة مايكروسوفت فمنتجها الدوت نت وذلك لانها افضل لغة تتعامل مع الدوت نت تستفيد من قدراتها كاملة و قد أصدر في أواخر العام 2005 الإصدار الثاني من اللغة C#2 .





الكنترول 31-08-06 11:31 PM


جزاك الله خيراَ اخي الماسترو

وبارك الله فيك على المجهود الكبير

اخوك
سلطان

ابوفواز النويمي 02-09-06 06:50 PM



السلام عليكم ورحمة الله وبركاته

بارك الله فيك على الموضوع المفيد

وبارك الله فيك على المجهود الكبير

بيض الله وجهك

اتمنالك التوفيق إن شاء الله

أخيك ابوروان



الــشــامــخــه 02-09-06 09:10 PM




الله يعطيك العافيه أخوي


موضوع جدا جدا مهم




عزيز الحربي 08-09-06 01:17 AM


يعطيك الف عافيه اخي الماسترو

مشكور وماقصرت

تحياتي وتقديري
عاشق بريده

البـــرنــــس 09-09-06 09:13 PM


اخي الماسترو

ماقصرت يالغالي

بيض الله وجهك

تحياتي
الصـ الجارح ـقر

ابن خيرالله الردادي 27-09-06 03:24 AM

الاخ الماسترو

بيض الله وجهك وجزاك الله خير

مشكور يعطيك العافيه ماقصرت

تقبل تحياتي

الحب الباقي 01-10-06 01:31 AM




الله يـعـطـيـك الـعـافيـــــــــــة


اخـوك الـحـب الـبـاقـي


دمتم بخير

ابوعبدالله النويمي 16-10-06 12:33 AM

بارك الله فيك



الساعة الآن 09:45 PM

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Designed & TranZ By Almuhajir

Ads Management Version 3.0.1 by Saeed Al-Atwi