تكنولوجيا وأمن معلومات
البرمجة لغة الكمبيوتر
ياسر فحص
البرمجة مصطلح متواتر الاستخدام في مجتمعنا، إلا أن له أكثر من مفهوم، ما يؤدي في كثير من الأحيان للاشتباه في معناه عند استخدامه. فيستخدم مصطلح البرمجة بمعنى ضبط إعدادات الأجهزة، كبرمجة الـ Receiver الخاص بالتلفاز. ويستخدم أيضًا بمعنى تنصيب البرامج على نظام الكمبيوتر أو الهاتف. إلا أن البرمجة التي سنتكلّم عنها في مقالنا هذا مختلفة عمّا سبق، فنحن نتحدّث عن البرمجة بمعنى صناعة برامج الكمبيوتر والهاتف. والبرنامج (أو التطبيق) عبارة عن مجموعة أوامر (أو تعليمات)، مكتوبة من قبل الشخص المبرمِج بإحدى لغات البرمجة، أي لغات الكمبيوتر، الذي يقوم عند تشغيلها بأداء الوظيفة المحددة المطلوبة منه.
ولكن الكمبيوتر آلة، فكيف يكون له لغة وكيف يفهمها؟
* مبدأ البرمجة
الكمبيوتر آلة الكترونية، تأخذ الأوامر وتقوم بإجراء حسابات وتحاليل لأداء وظائف بناءً على تلك الأوامر. وحيث إنه آلة الكترونية فالطريق الوحيد للتمييز بين أوامره المختلفة هو مرور الكهرباء أو عدم مرورها في الأسلاك الكهربائية الدقيقة. وهكذا تتشكّل الأوامر المختلفة، باختلاف توزّع الكهرباء في مجموعة من الأسلاك الدقيقة.
لمزيد من الإيضاح، إذا كان لديك مصباح واحد، وتريد من خلاله التواصل مع شخص بعيد مشرف عليك، كم رسالة يمكن أن ترسل له في وقت واحد باستخدام المصباح؟ رسالتان، حيث يمكنك الاتفاق معه مسبقًا على أنه إذا كان المصباح مطفأً أن يلتقي معك عند صديقكما أحمد، وإن كان المصباح مضاءً أن يأتي إلى منزلك.
ماذا لو كان لديك مصباحان؟ كم رسالة يمكن أن ترسل لصديقك؟
كما لاحظنا، باستخدام مصباحين يمكننا التعبير عن أربع رسائل، الأولى إذا كان المصباحان مطفئين، والثانية إذا كان الأوّل مضاءً فقط، والثالثة إذا كان الثاني مضاءً فقط، والرابعة إذا كان المصباحان مضائين.
ماذا لو كان لديك ثمانية مصابيح؟ كم رسالة يمكنك إرسالها إلى ذلك الصديق؟ إذا جربت حسابها ستجد أنه عدد كبير من الرسائل. ولتسهيل عملية حسابها يمكنك حساب عدد الحالات (الإضاءة والإطفاء أي اثنين) اضربها بنفسها على عدد المصابيح أي ثمانية مرات، ويكون الجواب 256.
256 = 28
نفس الكلام لو استبدلنا المصابيح بأسلاك كهربائية. ببساطة، هذه هي لغة الكمبيوتر، فهو يفهم الرسائل المختلف باختلاف توزّع الكهرباء في الأسلاك. فلكل رمز على لوحة المفاتيح عدد خاص به يتشكّل من ترتيب الصفر والواحد، حيث إن الصفر يعني عدم وجود الكهرباء، والواحد يعني وجودها. أمثلة:
A: 01000001
B: 01000010
C: 01000011
a: 01100001
b: 01100010
c: 01100011
وكذلك، كل أمر من أوامر البرمجة يقابله عدد أو أعداد مشابهة لهذه الأعداد المؤلفة من صفر وواحد، مع وجود مترجِمات تقوم بترجمة الأوامر المدخلة إلى لغة "يفهمها" الكمبيوتر.
* تصنيف لغات البرمجة من حيث المستوى
وتُصنّف لغات البرمجة بحسب المستوى، أي مستوى قربها للإنسان أو للكمبيوتر أكثر. فالأولى تسمّى High Level مثل لغة الـ Python حيث إن مصطلحاتها مشابهة للغة الإنكليزية. والثانية تسمّى Low Level، مثل لغة الـ Assembly، حيث إن أوامرها عبارة عن رموز غير مفهومة تحتاج إلى ترجمة ليتمكن الإنسان من فهمها.
* مجالات الاستفادة من البرمجة
يمكننا القول إنه يكاد لا يخلو مجال من المجالات من الاستفادة من تقنيات البرمجة، فالقطاعات التعليمية والصحية والتجارية والصناعية وقطاع الاتصالات وغيرها من القطاعات أصبحت تعتمد بشكل أساسي على تقنيات البرمجة. بل دخلت البرمجة بشكل أو بآخر في القطاع الزراعي وغيره من المجالات النائية عادة عن التطور المعلوماتي. كما أصبحت لا تكاد تخلو يدٌ من استخدام تطبيقات التواصل والألعاب وغيرها والتي ليست سوى صناعات برمجية.
* أشكال الاستفادة من البرمجة
إن للبرمجة أشكالًا متعددة، فمنها برمجة المواقع الالكترونية، وبرمجة تطبيقات الهاتف، وبرمجة برامج الكمبيوتر، وبرمجة الـ Robotics وغيرها. ولذلك تتعدد لغات البرمجة وتقنيّاتها بما يتناسب مع شكل ومجال الاستفادة منها.
* البرمجة خيار تخصصي ممتاز
تدخل البرمجة في كل مجالات الحياة، ومستخدمو البرامج هم كل الناس تقريباً، وتحصد البرمجة جزءًا كبيراً من الحركة المالية العالمية. وحيث إن العالم يتجه إلى التطوّر، يتزايد الاعتماد عليها مع مرور الوقت. كل هذا يؤدي إلى أن خيار التخصص في مجال البرمجة هو خيار صائب للفرد لتأمين مستقبله، فضلاً عن أهميتها من ناحية إمكانية العمل بها عن بعد، وأن فرص العمل فيها غير محصورة في الوظائف المتاحة من قبل الشركات بل يمكن للشخص أن يمتهن البرمجة كعمل حُرّ، فضلاً عن أهميتها من جهة أنها مجال غير محدود على المستوى الإبداعي.
بعد ما تقدم، من الجيد لفت النظر إلى أن الفيروس الذي يصيب جهاز الكمبيوتر ما هو إلا برنامج (تطبيق) يحتوي مجموعة أوامر برمجية موجّهة للكمبيوتر لتحقيق ما أُعِدَّ الفيروس من أجله، مثل حذف الملفات أو ضغطها أو سرقتها.