لغة برمجة
لغة البرمجة عبارة عن مجموعة من الأوامر، تكتب وفق مجموعة من القواعد تحدد بواسطة لغة البرمجة، ومن ثم تمر هذه الأوامر بعدة مراحل إلى ان تنفذ على جهاز الحاسوب.
تقسم لغات البرمجة بناء على قربها من اللغات الإنسانية إلى لغة عالية المستوى (قريبة من اللغة التي يفهمها البشر) مثل سي Java جافا، C ولغة منخفضة المستوى (كلغة الأسيمبلي Assembly وهي قريبة من لغة الآلة).
وتقسم أحيانا بناء على الأغراض المرغوبة من اللغة المستخدمة. هناك لغات صُممت لكي تعمل على أجهزة معينة، مثل ان تقوم شركة ما بإنتاج جهاز حاسوب أو معالج مركزي (CPU)، وتوفر له دليل استعمال يحتوي على الأوامر التي تنفذ عليه، وهناك لغات أخرى أكثر عمومية تعمل بشكل مستقل عن نوع الآلة، أي انها تعمل ضمن آلة افتراضية Virtual Machine، مثل لغة الجافا Java.
تعريف البرمجة
من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات أو كيفية تنفيذ سلسلة من الأعمال المطلوبة.
و تتبع عملية البرمجة قواعد خاصة باللغة التي اختارها المبرمج.
و كل لغة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج والمهمة المطلوبة من هذا البرنامج.
كما أن للغات البرمجة أيضاً خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب.
وتتطور لغات البرمجة (السوفتوير Software) بتطور الحاسوب (الهاردوير Hardware). فعندما ابتكر الحاسوب الإلكتروني في الأربعينيات والخمسينيات من القرن الماضي (بعد أجهزة الحساب الكهربائية في العشرينات)- وكان الكمبيوتر يعمل بأعداد كبيرة من الصمامات الإلكترونية - كانت لغة البرمجة معقدة هي الأخرى، حتي أنها كانت عبارة عن سلسلة من الأعداد لا يدخلها إلا الصفر 0 والواحد 1، وكان ذلك صعبا على المبرمجين. ولكن بابتكار الترانزيستور صغر حجم الحاسوب كثيرا وزادت إمكانياته، واستطاع المختصون في نفس الوقت أن يبتكروا لغات أسهل للاستخدام، وأصبحت لغات البرمجة مفهومة إلى حد بعيد للمختصين. ولا يزال التطوير والتسهيل دائرا.
خصائص لغات البرمجة
لغة البرمجة هي بالأساس طريقة تسهل للمبرمج كتابة برنامجه في هيئة تعليمات وأوامر يفهما الحاسوب بغرض تنفيذ العمل المطلوب. ومن المعروف ان الحاسوب يحول اللغة المكتوبة بها البرمجة إلى سلسلة من 0 و 1، ويبدأ على أساسها عمله. ولكتابة الأوامر توفر لغة البرمجة المختارة مجموعة من اللبنات الأساسية للاستناد عليها خلال عملية تكوين البرنامج ومجموعة من القواعد التي تمكن من التعامل مع معلومات وتنظيمها بغرض أداء العمل المطلوب.
تتمثل هذه الأسس والقواعد بصفة عامة في:
- المعلومات وتخزينها
- الأوامر وتنظيم سيرها
- التصميم الخاص
المعلومات وتخزينها
يتم تخزين المعلومات في الأجهزة الرقمية الحالية في هيئة أرقام طبقا لنظام العد الثنائي (أي المعتمد على 0 و 1). و بصفة عامة فان المعالجات الحديثة لا تقوم بالتعامل مع البت الواحد بل مع مجموعات من البتات يمكن أن تضم :
- 8 بت = 1 بايت وهي أصغر وحدة تخزين معلومات في الحواسيب الحديثة
- 16, 32, 64, 128، 256 ,أو 512 بت
و باستعمال 8 بت مثلا, يمكن تشكيل 256 قيمة مختلفة, ويمكن أن تكون هذه القيمة بين 0 و 255 و تمثل وظيفة لغة البرمجة استغلال وحدة أو مجموعة من الوحدات (رموزا) لتخزين معلومات من الحياة الواقعية مثل الأسماء أو القياسات أو أرقام الحسابات البنكية.
الأوامر وتنظيم سيرها
يقوم المبرمج باجراء عمليات على وحدات المعلومات مثل تخزينها وقراءتها ومقارنتها، كما يمكن إجراء عمليات حسابية عليها أيضا, وتتبع العمليات القواعد المحددة للغة. و للغة البرمجة دور آخر وهو التحكم في تنظيم إجراء العمليات، حيث توجه تنفيذ خطواتها بنفس تتابع كتابتها من طرف المبرمج،
و تمكن اللغة أيضاً من إجراء عملية اختيار وتفرع، وذلك بإدخال شرط منطقي يقوم الحاسوب على أساسه باختيار اتجاه الاستمرار في أداء العمل : فلنفترض أن البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستخدم، وإظهار النتيجة على الشاشة, ومن المعروف أن القسمة على صفر لا تجوز، وبناء علي ذلك فلا بد أن يحدد المبرمج في برنامجه هذا الاختيار : فاذا كان القاسم مخالفا للصفر، فإن البرنامج يسيـّر الحاسوب فيقوم بإجراء العملية ويعطي النتيجة. أما إذا كان القاسم صفراً فان البرنامج لا يقوم باجراء العملية وإنما ينبه إلى أن المستخدم حاول القسمة على صفر. و يمكن تنظيم الأوامر بصفة أخرى، حيث يقع تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة حلقية (Loop)، و يمكن تقسيم الأوامر أيضاً إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد, والهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة في هيئة دورات حلقية (Loops).
التصميم الخاص
تتمتع كل لغة بتصميم خاص من حيث التعامل مع المعطيات، ومن حيث الطرق والتسهيلات التي توفرها اللغة للتعامل مع مشكلة معينة.
يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية (Basic, Fortran) وهي لغات تسلسلية، أساس بناؤها هو الإجراءات المطلوب تطبيقها على المعطيات والمتحولات. ولغات شيئية (C, Java, Delphi) وهي لاتسلسلية، وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويرها، من خلال تطبيق مجموعة معينة من الإجراءات عليها.
أمثلة
لغات البرمجة للحاسوب متدنية المستوى :
أمثلة لبعض لغات البرمجة للحاسوب عالية المستوى:
- سي
- سي++
- جافا
- ليسب
- برولوغ
- بايثون
- سي شارب
- فورتران
- روبي
- أدا
- دلفي
- بيسك
- كوبول
- باسكال
- إس كيو إل
- بي إتش بي
- جافا سكربت
- جيم
- لغة لوغو Logo
- أطلس أوتوكود
- لغة دارت
مصادر أخرى
اقرأ أيضاً
|
af:Programmeertaal als:Programmiersprache am:የፕሮግራም ቋንቋ an:Luengache de programación arz:لغة برمجه ast:Llinguaxe de programación az:Proqramlaşdırma dilləri bat-smg:Pruogramavėma kalba be:Мова праграмавання be-x-old:Мова праграмаваньня bg:Език за програмиране bn:প্রোগ্রামিং ভাষা br:Yezh programmiñ bs:Programski jezik bug:ᨅᨔ ᨀᨚᨇᨘᨈᨛᨑᨛ ca:Llenguatge de programació ckb:زمانی پرۆگرامکردن cs:Programovací jazyk cv:Компьютер чĕлхи cy:Iaith rhaglennu da:Programmeringssprog de:Programmiersprache el:Γλώσσα προγραμματισμού Programming language]] eo:Programlingvo es:Lenguaje de programación et:Programmeerimiskeel eu:Programazio-lengoaia fa:زبانهای برنامهنویسی fi:Ohjelmointikieli fr:Langage de programmation gl:Linguaxe de programación he:שפת תכנות hi:प्रोग्रामिंग भाषा hr:Programski jezik hsb:Programěrowanske rěče hu:Programozási nyelv ia:Linguage de programmation id:Bahasa pemrograman ilo:Lengguahe ti panangprograma io:Programifo-lingui is:Forritunarmál it:Linguaggio di programmazione ja:プログラミング言語 jbo:samplabau ka:პროგრამირების ენა kab:Timeslayin n usihel kk:Бағдарламалық тілдер ko:프로그래밍 언어 la:Lingua programmandi lb:Programméiersprooch lt:Programavimo kalba lv:Programmēšanas valoda mhr:Программлымаш йылме mk:Програмски јазик ml:പ്രോഗ്രാമിംഗ് ഭാഷ mn:Програмчлалын хэл mr:प्रोग्रॅमिंग भाषा ms:Bahasa pengaturcaraan nl:Programmeertaal nn:Programmeringsspråk no:Programmeringsspråk oc:Lengatge de programacion pl:Język programowania pnb:کمپیوٹر بولی pt:Linguagem de programação ro:Limbaj de programare ru:Язык программирования rue:Язык проґрамованя sah:Программалааhын тыла sh:Programski jezik simple:Programming language sk:Programovací jazyk sl:Programski jezik sq:Gjuhë programimi sr:Програмски језик su:Basa program sv:Programspråk ta:நிரல் மொழி te:ప్రోగ్రామింగు భాష tg:Забони барномасозӣ th:ภาษาโปรแกรม tl:Wikang pamprograma tr:Programlama dili tt:Программалау теле uk:Мова програмування ur:برمجہ زبان vi:Ngôn ngữ lập trình war:Pinulongan hin programa yo:Èdè Ìṣèlànà Kọ̀mpútà zh:编程语言 zh-min-nan:Thêng-sek gí-giân zh-yue:程式語言