
_START_ARTICLE_
لغة برمجة
_START_SECTION_
تعريف البرمجة
_START_PARAGRAPH_
من الممكن تعريف البرمجة بأنها عملية كتابة تعليمات وأوامر لجهاز الحاسوب أو أي جهاز آخر، لتوجيهه وإعلامه بكيفية التعامل مع البيانات أو كيفية تنفيذ سلسلة من الأعمال المطلوبة._NEWLINE_تتبع عملية البرمجة قواعد خاصة باللغة التي اختارها المبرمج._NEWLINE_كل لغة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج والمهمة المطلوبة من هذا البرنامج._NEWLINE_كما أن للغات البرمجة أيضاً خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب._NEWLINE_وتتطور لغات البرمجة (البرمجيات Software) بتطور الحاسوب (الهاردوير Hardware). فعندما ابتكر الحاسوب الإلكتروني في الأربعينيات والخمسينيات من القرن الماضي (بعد أجهزة الحساب الكهربائية في العشرينات)- وكان الكمبيوتر يعمل بأعداد كبيرة من الصمامات الإلكترونية - كانت لغة البرمجة معقدة هي الأخرى، وكانت عبارة عن سلسلة من الأعداد وتكتب على شكل اكواد برمجية طويلة هذه الاعداد هي الرقمين الصفر 0 والواحد 1 ، وكان ذلك صعبا على المبرمجين. ولكن بابتكار الترانزيستور صغر حجم الحاسوب كثيرا وزادت إمكانياته، واستطاع المختصون والمبرمجون في نفس الوقت أن يبتكروا لغات برمجة أسهل للاستخدام، وأصبحت لغات البرمجة مفهومة إلى حد بعيد للمختصين. ولا يزال التطوير والتسهيل قائماً.
_START_SECTION_
الأوامر وتنظيم سيرها
_START_PARAGRAPH_
يقوم المبرمج باجراء عمليات على وحدات المعلومات مثل تخزينها وقراءتها ومقارنتها، كما يمكن إجراء عمليات حسابية عليها أيضا، وتتبع العمليات القواعد المحددة للغة._NEWLINE_و للغة البرمجة دور آخر وهو التحكم في تنظيم إجراء العمليات، حيث توجه تنفيذ خطواتها بنفس تتابع كتابتها من طرف المبرمج._NEWLINE_تمكن اللغة أيضاً من إجراء عملية اختيار وتفرع، وذلك بإدخال شرط منطقي يقوم الحاسوب على أساسه باختيار اتجاه الاستمرار في أداء العمل: فلنفترض أن البرنامج الذي يريد المبرمج صنعه يقوم بقسمة عددين يختارهما المستخدم، وإظهار النتيجة على الشاشة، ومن المعروف أن القسمة على صفر لا تجوز، وبناء علي ذلك فلا بد أن يحدد المبرمج في برنامجه هذا الاختيار : فاذا كان القاسم مخالفا للصفر، فإن البرنامج يسيـّر الحاسوب فيقوم بإجراء العملية ويعطي النتيجة. _NEWLINE_أما إذا كان القاسم صفراً فإن البرنامج لا يقوم باجراء العملية وإنما ينبه إلى أن المستخدم حاول القسمة على صفر._NEWLINE_و يمكن تنظيم الأوامر بصفة أخرى، حيث يقع تنفيذ أمر أو مجموعة من الأوامر بصفة متكررة حلقية (Loop)،_NEWLINE_و يمكن تقسيم الأوامر أيضاً إلى وحدات فرعية تقوم كل وحدة بانجاز عمل محدد، والهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة في هيئة دورات حلقية (Loops).
_START_SECTION_
التصميم الخاص
_START_PARAGRAPH_
تتمتع كل لغة بتصميم خاص من حيث التعامل مع المعطيات، ومن حيث الطرق والتسهيلات التي توفرها اللغة للتعامل مع مشكلة معينة._NEWLINE_يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية (Basic، Fortran) وهي لغات تسلسلية، أساس بناؤها هو الإجراءات المطلوب تطبيقها على المعطيات والمتحولات. ولغات شيئية (C، Java، Delphi) وهي لاتسلسلية، وتقوم على أساس العناصر والمتحولات المستخدمة ضمن البرنامج المطلوب تحويلها، من خلال تطبيق مجموعة معينة من الإجراءات عليها.