مقدمة
أهلا وسهلا بك في هذه الدورة التي كتبت لك خصيصا لتساعدك على دخول عالم البرمجة، عالم البرمجة عالم ساحر ورائع يخفي الكثير من الأسرار والطرائف، وقد وضعت هذه الدورة لتعرفك ببعض الأمور قبل الدخول في البرمجة ولتساعدك على اختيار لغة البرمجة المناسبة لك ولاحتياجاتك.
برنامج الكمبيوتر : عبارة عن سلسة من الأوامر المخزنة في ملف أو أكثر ليتم تنفيذها عند الحاجة، وأغلب البرامج تأخذ ما يسمى بالدخل أو المدخلات Input وتقوم بإعطاء الخرج أو المخرجات Output.
البرمجة : هي عملية كتابة وتأليف البرامج.
الكمبيوتر مكون أساسا من عدد ضخم من الدارات الكهربائية، والتي تعمل وفق نظام معين لتقوم بإجراء العمليات المطلوبة، يعني أن الأوامر كلها تنفذ عبر الدارات الكهربائية، وكانت الطريقة الوحيدة لتغيير وظيفة ما في الكمبيوتر أو عمل خدمة جديدة أو وظيفة جديدة فيه هي تعديل هذه الدوائر الإلكترونية حسب الحاجة، فإذا أردت برنامجا لحساب دالة sin مثلا يحب أن تبدأ في تخطيط الدائرة الكهربائية وتبدأ العمل بالقطع الإلكترونية وشرائح السليكون والكاوية وشريط الرصاص ! ولكن ومع تطور الكمبيوتر وظهور مجالات استخدامه الأخرى والمتنوعة، بات من الواضح أن الحاجة إلى برامج جديدة ووظائف جديدة أصبحث أكبر بكثير لتلبية المتطلبات المختلفة، ومن هنا نشأت فكرة عمل طريقة لتخزين الأوامر في صورة ملفات مثل المعادلات الرياضية، وبعد ذلك نقوم بفتح هذا الملف ( تشغيل البرنامج ) والتعويض بالقيم الصحيحة ( المدخلات ) والحصول على النتائج ( المخرجات )، وكانت هذه بداية فكرة الكمبيوتر القابل للبرمجة.
الكمبيوتر القابل للبرمجة
في البداية كانت البرامج تكتب من قبل الخبراء والمبرمجين المتطورين، ولم يكن هنالك بالأصل مبرمجين غير متطورين، فكانت البرامج تكتب في صورة سلاسل من الأصفار والآحاد ( 10010101 ) أي بنظام العد الثنائي، فكانت كل ثمانية خانات من الأصفار والآحاد تكون رقما، وكان كل حرف يشار إليه برقم، المهم .. كانت العملية صعبة جدا فإذا أردت أن تكتب أبسط عبارات البرمجة عبارة ( if ) يجب أن تكتب 16 خانة من الأصفار والآحاد حتى تحقق ذلك، وتبين بعد فترة عدم جدوى هذه الطريقة وبعد التفكير توصل العلماء إلى فكرة أخرى هي العبارات البرمجية وبدأت هنا لغات البرمجة بالظهور، كان البرنامج يكتب في صورة عبارات بسيطة متتالية مثل ADD و MOD وهكذا وبعد ذلك تحول إلى الصورة البتية أي ملفات الأصفار والآحاد، وكانت عملية التحويل هذه تتم ببرامج أخرى مختلفة، تطورت بعد ذلك لغات البرمجة وظهرت الكثير من اللغات الجديدة ولكل منها طريقته الخاصة في تحويل ملفات المبرمج إلى أوامر لجهاز الكمبيوتر.
التصنيف والترجمة
تنقسم لغات البرمجة المعروفة حسب كيفية تحويل النصوص البرمجية إلى أوامر إلى قسمين أساسيين هما :
اللغات البرمجية المصنفة Compiled Programming Languages
وتكتب هذه اللغات في صورة ملفات نصية بسيطة Plain Text ثم تخضع لعملية تسمى عملية الربط والتصنيف فتحول إلى ملف قابل للتنفيذ Executable File وذلك باستخدام برنامج يدعى المصنف Compiler ويكون الملف التنفيذي عبارة عن ملف مكن من شفرة ثنائية Binary Code غير مفهومة بواسطة البشر ( الأصفار والآحاد )، وعند تنفيذ البرنامج فإن الأوامر المخزنة في الملف تنفذ مباشرة حيث أنها ترسل مباشرة إلى نظام التشغيل Operating System الذي يرسلها بدوره إلى المعالج Proccessor الذي يقوم بعملية التنفيذ، أي أنك بمجرد تصنيف البرنامج وربطه ستحصل على برنامج مستقل ولن تحتاج إلى البرنامج المصنف أو الشفرة المصدرية بعد الآن، وتتميز هذه البرامج بكونها سريعة وصغيرة الحجم إلا أنها أصعب استخداما وتعلما، ومن أشهر هذه اللغات البرمجية Assembly و C و C++ و Delphi.
اللغات البرمجية المترجمة Interpreted Programming Languages
تكتب شفرات هذه البرامج أيضا في صورة ملفات نصية بسيطة Plain Text، إلى أنها لا تخضع لعملية الربط والتصنيف بل تخضع لعملية أخرى تسمى الترجمة Interpreting باستخدام برنامج يدعى المترجم Interpreter يقوم المترجم بقراءة الشفرة وتنفيذها مباشرة سطرا بسطر أي أن النص البرمجي غالبا يظل كما هو دون تحويل وعند الإنتهاء من كتابة البرامج فإن المترجم يترجمه إلى أوامر لذلك فإن البرنامج لن يعمل دون وجود المترجم، وفي بعض الأحيان ينتج ملف تنفيذي مثل الملفات التنفيذية فيكون في صيغة وسطية بين الشفرات والبرامج الكاملة فيحتاج إلى جزء من المترجم فقط، ولأن الأوامر هنا لا توجه مباشرة إلى نظام التشغيل فإن هذه البرامج تكون بطيئة نسبيا وأكبر في الحجم ( تحتاج إلى حجم إضافي للمترجم ) وأشهر اللغات البرمجية المترجمة Visual Basic و Java و Perl و PHP .
يمكن تلخيص جميع ما سبق بأن البرنامج في كل الحالات يحتاج إلى تحويل، هذا التحويل يتم لحظيا في البرامج المترجمة حسب الحاجة لذلك فهي تستغرق وقتا أطول للتنفيذ، وفي البرامج المصنفة فإن التحويل يتم دفعة واحدة، أي أن الوقت الذي يصرفه المترجم والذي يجعل تنفيذ البرنامج بطيئا يكون قد صرف مسبقا في البرامج المصنفة أثناء عملية التصنيف.
تقنيات البرمجة
تطورت الأساليب والتقنيات المستخدمة في كتابة البرامج عبر السنين، ويرجع ذلك إلى تغير متطلبات البرمجة وأهميتها وأهدافها.
البرمجة الإجرائية Procedural Programming
البرنامج الإجرائي ما هو إلا لائحة من الأوامر فقط خطوة خطوة، وهي الطريقة التي يعمل بها المعالج والكمبيوتر بشكل عام لأن الكمبيوتر ينفذ ولا يفكر، يستخدم هذا الأسلوب لكتابة البرامج الصغيرة والمهمة جدا والتي تحتاج إلى ميزات عالية ووصول إلى أجزاء حساسة من الحاسوب مثل إدارة الإقلاع Booting ومن هذه اللغات البرمجية لغة Assembly.
البرمجة البنيوية Structured Language
وهو تطبيق عملي لمبدأ فرق تسد، حيث تقوم فكرتها على أساس تقسيم البرامج إلى عدة أقسام كل منها يستدعي الآخر، فمثلا إذا أردت أن تكتب برنامجا يقوم بحساب عدد الموظفين في الشركة، يمكن تقسيم عمل البرنامج إلى التالي :
فتح قاعدة البيانات
معرفة عدد السجلات
إغلاق قاعدة البيانات
عرض النتيجة
إغلاق البرنامج
إضافة إلى ذلك فإن هذا البرنامج بأكمله يمكن أن يكون مجرد وظيفة في برنامج آخر أكبر، وهكذا، توجد في هذه التقنية عدة دوال أو وظائف Functions كل وظيفة لها دخل خاص بها، وتعطي خرجا خاصا بها، ويتم تبادل هذه البيانات ( الدخل والخرج ) بين الدوال المختلفة فتستدعي كل دالة الأخرى وهكذا، وهذا يسهل العمل على المبرمج ويجعل الأمور تبدو واضحة أمامه، وإذا أراد تحسين البرنامج فهذا أمر سهل، فمثلا إذا أراد أن يغير أسلوب عرض النتيجة لن يضطر إلى البحث في سطور البرنامج عن الأماكن التي حدث فيها عرض النتيجة على الشاشة بل سيضطر فقط إلى تغيير الدالة التي تقوم بعرض النتيجة، ولن يضطر للمساس بباقي دوال البرنامج وسوف يظهر أثر التغيير الذي قام به في جميع الأماكن التي تستدعي الدالة التي غيرها، وفي هذا الأسلوب من البرمجة يتم تخزين البيانات في متغيرات، وهذه المتغيرات تكون إما عامة Public أو خاصة Private، المتغيرة العامة هي المشتركة بين جميع دوال البرنامج، والخاصة تظهر فقط في دالة محددة، لذلك لتبادل البيانات بين الدوال نستخدم متغيرات عامة، يمكن تشبيه الموقف بشركة كبيرة بها عدد من الأقسام ( الدوال ) كل قسم له وظيفته، البيانات الموجودة داخل القسم لا يستطيع أن يصل إليها إلا من في القسم، وإذا أردت أن تضع معلومات يستطيع الجميع الوصول إليها لا بد من وضعها في الأرشيف العام للشركة الذي يستطيع الوصول إليه والقراءة منه والكتابة إليه، ومن أشهر اللغات التي تستخدم هذا الأسلوب لغة C.
يتبع