الأربعاء، 13 أبريل 2011

لغات البرمحه

البرمجة
برمجة الحاسوب: هي عملية كتابة، اختبار، تصحيح للأخطاء وتطوير للشفرة المصدرية لبرنامج حاسوبي، تهدف البرمجة إلى إنشاء برامج تقوم بتطبيق وتنفيذ خوارزميات لها سلوك معين بمعنى أن لها وظيفة محددة مسبقا ومتوقعة النتائج. تتم هذه العملية باستخدام إحدى لغات البرمجة. بشكل عام البرمجة عملية تستلزم معرفة في مجالات مختلفة منها معرفة بمجال تطبيق البرناج ،الرياضيات والمنطق.
مفهوم البرمجة :
من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات.
و تكون عملية البرمجة متبعة لقواعد محددة باللغة التي اختارها المبرمج. و كل لغة لها خصائصها التي تميزها عن الأخرى و تجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج. كما أن للغات البرمجة أيضا خصائص مشتركة و حدود مشتركة بحكم أن كل هذه اللغات مجعولة للتعامل مع الحاسوب.
البرمجة  :
عملية تغذية الحاسوب بالخطوات الدقيقة والتفصيلية التي توصلنا إلى حل مسألة معينه.ولكن هذا لا يتم باستخدام اللغة التي يتحدث بها الإنسان بل يجب استعمال لغة خاصة يستطيع الحاسوب فهمها وتنفيذ أوامرها.
تكون البرمجة مفيدة في الحالات التي تعرف فيها بالضبط كيف تحل مسألة ما ، حتى وان كان الوصول إلى حلها عملية طويلة ومملة .استخدام الحاسوب مفيد بحيث يقوم بخطوات الحل لتفصيلية التي زود بها فينجز لنا الحل بسرعة فائقة ودقة كبيره.
لغة البرمجة هي لغة يتم كتابة البرامج بها ليقوم جهاز الحاسوب بتنفيذها. تقسم لغات البرمجة للحاسوب لعدة اجيال أو أنواع بناء على قربها من اللغات الإنسانية. وتقسم أحيانا بناء على الأغراض لهذه اللغة.
خصائص لغات البرمجة :
لغة البرمجة هي بالأساس طريقة تسهل للمبرمج كيفية اعطاء أوامر للحاسوب لكي يقوم بالعمل المطلوب منه. و للقيام باعطاء الأوامر توفر لغة البرمجة المختارة مجموعة من اللبنات الأساسية للاستناد عليها خلال عملية بناء البرنامج و مجموعة من القواعد التي تمكن من التعامل مع معلومات و تنظيم هذه الأسس التي توفرها اللغة لتتكامل و تقوم بعمل مفيد. تتمثل هذه الأسس و القواعد بصفة عامة من:
معلومات و تخزينها
أوامر و تنظيم سيرها
تصميم خاص
معلومات و تخزينها ان المعلومات في الأجهزة الرقمية الحالية يقع تخزينه في شكل أرقام على نظام العد الثنائي و بصفة عامة فان المعالجات الحديثة لا تقوم بالتعامل مع بت واحد بل عل مجموعات من البتات يمكن أن تضم :
8 بت = بايت وهي أصغر وحدة تخزين معلومات في الحواسيب الحديثة
16, 32, 64, أو 128 بت و باستعمال 8 بت مثلا, يمكن تشكيل 256 قيمة مختلفة, و يمكن أن تكون هذه القيمة بين 0 و 255 و وضيفة لغة البرمجة هو استغلال وحدة أو مجموعة من الوحدات لتخزين معلومات من الحيات الواقعية مثل الأسماء أو القياسات أو أرقام الحسابات البنكية
أوامر و تنظيم سيرها يقوم المبرمج باجراء عمليات على وحدات المعلومات مثل تخزينها و قرائتها و مقارنتها و اجراء عمليات حسابية عليها أيضا, وتتبع العمليات القواعد المحددة للغة. و للغة البرمجة دور أخر و هو التحكم في تنظيم اجراء العمليات, حيث تحرص على اجرائها في نفس تنظيم كتابتها من طرف المبرمج و تمكن اللغة أيظا من اجراء عملية اختيار و تفرع, فلنفترض أن البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستعمل, و اظهار النتيجة على الشاشة, و من المعروف أن القسمة على صفر لا تجوز, و هنا يقوم البرنامج بالاختيار : فاذا كان القاسم مخالفا لصفر فان البرنامج يقوم باجراء العملية و يعطي النتيجة, أما اذا كان القاسم صفرا فان البرنامج لا يقوم باجراء العملية و انما ينبه إلى أن المستعمل حاول القسمة على صفر و يمكن تنظيم الأوامر بصفة أخرى, حيث يقع تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة (Loop) و يمكن تقسيم الأوامر أيظا إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد, و الهدف هو تقسيم العمل ال أجزاء يسهل العمل عليها كل على حدة (Loops)
تصميم خاص تتمتع كل لغة بتصميم خاص ينعكس عن طريقة كل لغة في التعامل مع المعطيات, و عن طبيعة الطرق و التسهيلات التي توفرها اللغة للتعامل مع مشكل معين.
تصنيف لغات البرمجة :
يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى :
لغات إجرائية (Basic, Fortran) وهي لغات تسلسلية، أساس بناءها هي الإجراءات المطلوب تطبيقها على الأشياء والمتحولات.
ولغات شيئية (C, Java, Delphi) وهي لا تسلسلية، وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويرها، من خلال تطبيق مجموعة معينة من الإجراءات عليها.

أنواع لغات البرمجة :
صمم العلماء لغات تسمى لغات البرمجة :يمكن استخدامها لإيصال الأوامر للحاسوب وتقسم هذه اللغات إلى قسمين رئيسين:
1.لغات دنيا (Low Level Languages)
2.لغات عليا (High Level Languages)
اللغات الدنيا (المستوى المنخفض )
1.لغة الآلة(machine languages)
في هذه اللغة تكون الأوامر على شكل مجموعة من الأرقام الثنائية (الصفر والواحد )التي يمكن للحاسوب تنفيذها مباشرة ويصعب على الإنسان فهمها وتذكرها مما يجعل البرمجة بها عملية صعبه
2.
لغة التجميع(Assembly Language)
نظرا لصعوبة لغة الآلة بدا العلماء باستخدام مقاطع من الأحرف الأبجدية ذات دلالة بدلا من الأرقام في البرمجة.
اللغات العليا(المستوى العالي)
لغات يسهل التعامل معها لقربها من لغة الإنسان تختصر خطوات البرمجة فتسهل مهمة المبرمج فيما يلي بعض لغات البرمجة ضمن الفئة العليا:
1.لغة الفورتران(FORTRAN)
2.لغة باسكال(PASCAL)
3.لغة جافا(JAVA)
4.لغة فيجول بيسك(Visual Basic)
5.لغة كوبول(COBOL)
6.لغة سي(C/c++)
7.لغة بيسك(BASIC)

لغات البرمجة كما ذكر:

يقوم الحاسب الآلي عند أداء أي عمل من أعماله بتتبع مجموعة من التعليمات المتسلسلة والمترابطة التي تسمى البرنامج، ويسمى من يكتب هذه التعليمات بالمبرمج، ويعتمد تركيب الجمل والتعليمات على لغة البرمجة المستخدمة، ويتصل الإنسان بالحاسب لتوجيهه للقيام بالأعمال التي يريدها بواسطة لغات البرمجة
1ـ لغة الآلة :
وتسمى *اللغة الثنائية* حيث إنها تتكون من سلسلة من 0 و 1، وهي اللغة الوحيد التي يفهمها الحاسب الآلي، حيث تحول جميع اللغات إلى لغة الآلة، حتى تتمكن معدات الحاسب الآلي من التفاهم معها، ولأنها تتكون من صفر وواحد، لذا فقد تميزت هذه اللغة بالصعوبة نظراً لما تتطلبه من حفظ ودقة في كتابة سلسلة طويلة من صفر وواحد بترتيب معين، مما ينتج عنه أخطاء كثيرة من الترميز، ويجب أن يحدد المبرمج كل شي، فكل خطوة يجب أن ينفذها البرنامج يجب أن ترمز، لذا فالمبرمج يجب أن يكون على علم بتركيب الحاسب الداخلي، والعنا وين الرقمية لمواقع التخزين، سواء للبيانات أو التعليمات،
كما أن لكل جهاز لغة آلة تختلف عن الجهاز الآخر بحسب النوع والتركيب مما يعني أنه يجب كتابة البرنامج بشكل ككامل مره أخرى عن الرغبة في تنفيذه على جهاز آخر، ونتيجة لهذه الصعوبات فقد ظهرت طرق أخرى لتمثيل الترميز الثنائي، كالنظام الثماني OCTAL والستة عشري HEX-ADECIMAL بدلا من 1، 0 فالنظام الستة عشرين يتكون من ستة عشر رمزاُ هي : 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 A.B,C,D,E,F .
مما يساعد على سهولة قراءة التعليمات المكتوبة وحفظها بهذه اللغة، فبدلا من كتابة 16 رقماً في سلسلة يمكن الاستعاضة عنها بأربعة رموز من رموز النظام التشغيل الستة عشري .

2
ـ لغة التجميع :
ظهرت لغة التجميع بوصفها أو لغة ترميز، تستخدم الرموز SYMBOLIC CODE للتعبير عن تعليمات لغة الآلة، وذلك لمواجهة صعوبة الترميز بلغة الآلة، ولغة التجميع لغة قريبة من لغة الآلة التي يفهمها الحاسب الآلي، وتسمى هذه اللغات بلغات المستوى البسيط .
ويتم استعمال مختصرات ورموز يسهل حفظها وكتابتها لكل تعليمة من تعليمات لغة الآلة، ولغة التجميع كما في لغة الآلة مصممة للعمل على حاسب معين، مما يوفر قدرة أكبر على استغلال موارد الحاسب الآلي ووحدة المعالجة المركزية بشكل أفضل، ويقوم البرنامج المسمى المجمع ASSEMBLER بترجمة البرنامج المكتوب بلغة المجمع إلى لغة الآلة .
3 ـ اللغات العليا :
سميت بهذا الاسم لأنه أصبح بإمكان المبرمج كتابة البرنامج دون معرفة تفاصيل كيفية قيام الحاسب بهذه العمليات، كمواقع التخزين وتفاصيل الجهاز الدقيقة، وتعبيرات لغات المستوى العالي هي تعبيرات شبيهة إلى درجة كبيرة باللغة الطبيعية التي يستخدمها الإنسان في حياته للتواصل، والتخاطب مع الآخرين .
ومن مميزات اللغات العليا التي تميزها من لغات المستوى البسيط، بالإضافة إلى ما سبق، أن هذه اللغات غير مرتبطة بجهاز معين .
 أي يمكننا تنفيذ البرنامج المكتوب بلغة من لغات المستوى العالي، كالفورتران أو الكوبول أو البيسك على أكثر من جهاز، كما يمكن استخدام أكثر من لغة ترجمة على حاسب معين . كذلك، فإن اكتشاف الأخطاء وتصحيحها أصبح أكثر سهولة بسبب سهولة قراءة البرامج وتتبعها وفهمها .
تسمى اللغات كالكوبول والفورتران والبيسك باللغات العليا الموجهة نحو إجراءات الحل ، PROCEDURE - ORIENTED LANGUAGES ، وهي اللغات التي يعطي فيها المبرمج التعليمات خطوة خطوة .
ويمر البرنامج المكتوب بلغات المستوى العالي بثلاث مراح قبل أن يكون جاهزاً للتنفيذ .
الترجمة TRANSLATION : تحويل البرنامج المكتوب بلغة المستوى العالي إلى لغة الآلة .

ـ الربط LINKING : ربط الروتينات المكتبية الكائنة بالمكتبة، والتعليمات الضرورية بالبرنامج .

3
ـ التحميل LOADING : يقوم البرنامج بتحميل شفرة الهدف والروتينات المكتبية، والتعليمات على الذاكرة الرئيسة بغرض التنفيذ .
وكانت اللغات تصنف حسب قوتها إلى لغات أعمال، أو لغة علمية أو لغات مبتدئين ـ وفي وقتنا الحاضر ـ فإن معظم اللغات يمكن استخدامها بكفاءة في تطبيق أنواع التطبيقات كافة، ومن أشهر لغات المستوى العالي :
لغة الكوبول COBOL :

وكلمة COBOL هي اختصار للعبارة الإنجليزية Common Business Oriented Language ، وقد طورت وصممت هذه اللغة من لدن لجنة من مصنعي أنظمة الحاسب الآلي ومطوريها عام 1960م تسمى لجنة CODASYL اختصاراً لـ Conference of Data System Languages .
وقد قام المعهد الوطني الأمريكي للمعايير ANSI بتطوير نسخة معيارية من COBOL ، مفسر كوبول يطابق المواصفات القياسية لهذا المعهد، وكان ذلك ف ي عام 1968م وسميت *ANSI 1968* وظهر بعدها ANSI 1974 و ANSI 80 .
وينتشر استخدام لغة كوبول على نطاق واسع عالمياً حيث تستخدم في البنوك وفي المنظمات الحكومية، وتستخدم على حاسبات كبيرة أو على حاسبات شخصية . وتتميز لغة كوبول بقدرتها على التعامل مع الملفات؛ لذا اشتهرت بأنها لغة أعمال .
لغة الفورتران FORTRAN :
وهي اختصار عبارة FORmula TRANSlation ، وتعد لغة FORTRAN أقدم اللغات ذات المستوى العالي، وقد ظهرت هذه اللغة في منتصف الستينات، حيث بدئ عام 1954 بالعمل على تطوير لغة برمجة تقبل برنامجا مكتوبا بلغة قريبة من لغة الإنسان، ويحوله إلى شفرة قابلة للتنفيذ على الحاسب الآلي، وبعد 3 سنوات أي في عام 1957م . ظهر أول مفسر فورتران.
وفي تلك الفترة كان استخدام الحاسب الآلي يكاد يكون حكراً على العلماء والمهندسين والرياضيين، ومن الطبيعي أن تكون هذه اللغة المطورة حديثاً قد جاءت لتواكب احتياجاتهم إذ تتميز لغة FORTRAN بقدراتها على إجراء العمليات الحسابية المعقدة وحل المعادلات الرياضية .
لغة البيسك BASIC LANGAUGE :
وهي اختصار للعبارة الإنجليزية Beginer's All Purpose Symbolic In struction Code أي اللغة المتعدد الأغراض للمبتدئين، وتأتي كلمة BASIC التي تعني الأساس لتحقيق المعنى نفسه، فهذه اللغة ونظراً لبساطة تعليماتها ومحدوديتها فإنها تعد لغة مناسبة للتعلم من قبل المبتدئين في عالم الحاسب الآلي والبرمجة، وتستخدم هذه اللغة في معظم الحاسبات الشخصية، مما يدل على الانتشار الواسع لها، وقد طورت هذه اللغة في كلية Dartmouth عام 1963م من لدن John Demuy و Thomas Kurtz .
وتستخدم لغة Basic الحديثة في قطاع واسع . إذ تستخدم في مجال الأعمال لقدرتها على التعامل مع الملفات، وكذا في العمليات الرياضية من قبل العلماء والمهندسين لامتلاكها كثيراً من الوظائف للقيام بمثل تلك العمليات المعقدة .
لغة باسكال PASCAL :
وسميت باسم العالم الفرنسي الرياضي الفذ Blaise Pascal ، وصممت هذه اللغة من قبل العالم السويسري Niklaus Wirth ، وطرحت عام 1971م، وقد انتشرت هذه اللغة خصوصاً في الجامعات . إذ تدرس هذه في معظم جامعات العالم لطلاب علوم الحاسب، وتمتاز لغة PASCAL بالسهولة، واختصار الكلمات فيها إلى حد كبير، وبنيتها التركيبية وقوة البرامج الفرعية، واستخدام المؤشرات Pointers ، وقد ظهرت نسخ جديدة من Pascal امتازت بتلافي العيوب في النسخ السابقة، ويعد TurboPascal من شركة Borland من البرامج المستخدمة بكثرة بين المبتدئين والتخصصين في البرامج، وتنافس هذه اللغة لغة Basic في كثرة المستخدمين لتوافر كثير من المميزات فيها، وتستخدم هذه اللغة من قبل الطلاب والمهندسين، كما تستخدم في قطاع الأعمال التجارية .
لغة سي C :
طورت هذه اللغة في معامل Bell من قبل Dennis Ritchie وهي تطوير لنسخة قديمه تسمى B من لغة BCPL التي ظهرت عام 1969م . لذا سميت هذه النسخة اللاحقة بـ C .
وتشتهر لغة C باستخدامها كلغة برمجة نظم system software حيث تستخدم لكتابة برامج النظم التشغيلية . إذ إنها تعد لغة قريبة، وتشبه إلى حد كبير لغة التجميع As-sembly وتمتاز بسرعتها الكبيرة، كما تملك مخجموعة جيدة من التعليمات، كما أنها لغة قابلة للنقل من جهاز إلى آخر لصغر الجزء الواجب نقله منها، وتعد لغة C من اللغات التركيبية Structured Language .
وازداد اهتمام محترفي البرمجة بلغة الـC ، والنسخ المحسنة منها C+ , C++ . إذ إن معظم التطبيقات تكتب بها .
لغات الجيل الرابع : Fourth-Generation language (4GL) :
سميت بهذا الاسم نسبة إلى الجيل التي ظهرت فيه، مثل هذه اللغات التي تتصف بقلة التعليمات التي يكتبها المبرمج لتحقيق هدف ما ، فما كان يتطلب مئات الأسطر من لغة بيسك أو الآلاف من لغة كوبول باستخدام عدد بسيط من الأسطر في هذه اللغات .
تمتاز هذه اللغات بعدة مزايا :
1ــ إنها لغة موجهة للنتائج أي إن المبرمج يهتم بطلب ما يريده من الكمبيوتر، دون أن يوجهه لكيفية القيام بذلك .
2
ــ زادت من الإنتاجية؛ لأن كتابة البرامج وصيانتها أكثر سهولة .
3ــ سهلة الاستخدام، وتتطلب قليلاً من التدريب على استخدامها، سواء كان للبرمجة أو غيرها .
4
ــ لم يعد المستخدم بحاجة إلى التفكير في الأجهزة أو هيكلية البرنامج .
وقد بدأت لغات الجيل الرابع بالانتشار بين المبرمجين، وبشكل كبير جداً لما توفره لغات البرمجة هذه من سهولة في معاملة الملفات، وربط هذه الملفات بعضها مع بعض بغرض التحديث أو طباعة التقارير .
كما توفر هذه اللغات قوة في المشاركة في الموارد البرمجية وخصوصاً الملفات، ومن أمثال هذه اللغات لغة Dbase من Borland ، ولغة Foxpro من Microsoft ، و Oracle من Ingress، وتستخدم لغة الاستفسار المهيكلة SQL Structured Query Language في عمليات بناء قواعد المعلومات وتحديثها، وتوفير الحماية اللازمة لها .
 ما هي SQL ؟
SQL هي اختصار للعبارة الإنجليزية Structured Query Language أي لغة الاستفسار المهيكلة، وهي عبارة عن مجموعة من التعليمات القريبة من اللغة الطبيعية التي توجه نظام إدارة قواعد البيانات DBMS للقيام بعمليات بناء قواعد البيانات، وتحديثها والبحث فيها، وعمل قواعد الحماية للبيانات .
وتمتاز لغة الاستفسار SQL بالآتي :
1ــ لغة قريبة من اللغة الطبيعية .
2ــ تستطيع الحصول على أية بيانات من قاعدة البيانات . إذ يمكن الحصول على بيانات ملف كامل أو بعض الحقول من ملف أو مجموعة ملفات .
3ــ يهتم المستخدم بتعريف احتياجه What you want، ولا يهتم بكيفية الحصول على أو من أين ؟ How or Where? .
اللغات الطبيعية Natural Language أو لغات الجيل الخامس :
ويقصد بها لغة الإنسان أي إيجاد لغة مبرمجة نستطيع بها توجيه الحاسب للقيام بما نريد من أعمال، وذلك باستخدام التعبيرات الشائعة ((اطبع تقريراً يحوي اسم الطالب والدرجة))،فالمستخدم ما عليه سوى طباعة الأمر أو إملائه للحاسب الذي يلبي الطلب .
فالمستخدم يستطيع إملاء النص وكتابته بعبارات متعدد تحمل المعنى نفسه، كأن يقول ((اطبع الاسم والدرجة لجميع الطلاب)) أو ((اطبع اسم الطالب ودرجة الاختبار للجميع))، فالطلبان لهما المعنى نفسه، وإن اختلفا في الصياغة، فلغات البرمجة هذه قادرة على فهم تراكيب الجمل المختلفة، وإن اختلفت اللهجات أو كان هناك أخطاء لغوية، وإذا لم يفهم الحاسب المقصود يقوم بتقديم أسئلة لمزيد من الوضوح والوصول إلى الهدف .
والأبحاث في مجال اللغات الطبيعية هو من المجالات التي يبحثها علم الذكاء الاصطناعي . A.I إذ إن فهم اللغة الطبيعية يحتاج إلى كثير من الخبرات والعلاقات في ربط الجمل وتحليل كل جملة لاستنتاج المعنى الصحيح، ومن ثم تقديم رد الفعل المناسب .
لغات الإنترنت :
لغة HTML : وهي إحدى اللغات المستخدمة لإنشاء صفحات الويب www .
إن (Hypertext Morkup Language) عبارة عن لغة تحوي مجموعة من الأوامر تؤدي إلى تكوين صفحات الويب، إن إنشاء صفحة بواسطة تركيبة Ascii على منسق الكلمات يمكن أن تحول إلى صفحة على الويب بإضافة بعض أوامر Html .
إن أوامر Html تمكن المستخدم من تنفيذ عدد من العمليات على صفحات الويب منها :
ـــ تحديد حجم النص وطريقة عرضه .
ـــ إنشاء الروابط مع الوثائق والمستندات الأخرى .
ـــ إنشاء نماذج تفاعلية مع الصفحة .
ـــ توفير الدعم للوسائط المتعددة كالفيديو والصوت والصورة .
لغة جافا Java :
وهي من اللغات المستخدمة للانترنت ولصفحات الويب في www وتهدف لغة البرمجة هذه إلى إضافة الحيوية إلى صفحات الويب عبر النصوص المتحركة والرسوم التي تتحرك بشكل تفاعلي والوسائط المتعددة .
ولغة جافا طورت من قبل شركة Sun Microsystems على غرار لغة C++ وتقوم الوثائق المنشئة بلغة الترميز النصي Html باستدعاء برامج جافا كما يكن تشغيلها بصورة منفردة

ليست هناك تعليقات:

إرسال تعليق