محمد قتيبة شيخانيأبني. أستكشف. أشارك

20من 28

أساسيات الحاسوب

ما هي البرمجيّات؟ الجانب غير الملموس من حاسوبك

قطعتَ شوطًا طويلًا في هذه السلسلة: عرفتَ العتاد الذي يحسب ويتذكّر ويستقبل ويعرض، والطبقة الخفيّة التي تنظّم الملفّات وتقلع الجهاز وتخاطب القطع، ونظام التشغيل الذي يدير هذا كلّه. لكنّ هذا البناء الضخم كلّه قام لغايةٍ واحدة: أن يشغّل شيئًا اسمه البرمجيّات. المتصفّح الذي تقرأ به هذا، ولعبتك، ونظامك نفسه، كلّها برمجيّات. فما هذا الشيء الذي لا تراه ولا تلمسه، ومع ذلك يحرّك كلّ ما تراه؟

في هذا المقال تفهم ما البرمجيّات في جوهرها: تعليماتٌ مجمّدةٌ ينفّذها المعالج. وترى ثنائيّة العتاد والبرمجيّات ولماذا لا يعمل أحدهما دون الآخر، وكيف أنّ كلّ برنامجٍ ليس إلّا ملفّاتٍ كالتي مرّت بك، وتطالع طبقات البرمجيّات من النظام إلى تطبيقاتك، وتفهم لماذا المرونة سرّ الحاسوب، وكيف تُقتنى البرمجيّات بنماذج مختلفة. هذا المقال يفتح الجزء الأخير من السلسلة: عالم البرمجيّات.

الجانب غير الملموس

ينقسم كلّ حاسوبٍ إلى نصفين: عتادٌ وبرمجيّات. العتاد هو ما تلمسه: المعالج والذاكرة والقرص والشاشة، القطع الماديّة التي مرّت بك في أوّل السلسلة. والبرمجيّات هي الجانب الآخر، غير الملموس: التعليمات التي تخبر العتاد ماذا يفعل. لا تراها ولا تمسكها، لكنّها موجودةٌ حقيقيّةٌ محفوظةٌ على قرصك، وهي التي تحوّل كتلة العتاد الصامتة إلى جهازٍ يفعل شيئًا نافعًا.

الفرق بينهما جوهريّ. العتاد ثابتٌ لا يتغيّر بعد صنعه: المعالج الذي اشتريته يبقى كما هو. أمّا البرمجيّات فمتغيّرةٌ مرنة: تحذف برنامجًا وتثبّت آخر، فيتبدّل ما يفعله جهازك تمامًا دون أن تلمس قطعةً واحدة. هذا هو المعنى العميق لكلمة «برمجيّات» أو «الجزء اللّيّن»: الجانب الطيّع القابل للتغيير، مقابل «الجزء الصلب» الذي هو العتاد. الاسم نفسه يحمل هذه الثنائيّة: صلبٌ ثابت، وليّنٌ متغيّر.

البرنامج: تعليماتٌ مجمّدة

ما البرنامج في أدقّ تعريف؟ سلسلةٌ من التعليمات، مرتّبةٌ بعناية، ينفّذها المعالج واحدةً تلو الأخرى ليؤدّي مهمّة. تذكّر ما مرّ بك في مقال المعالج: هو آلةٌ تنفّذ تعليماتٍ بسيطةً بسرعةٍ هائلة. البرنامج هو قائمة هذه التعليمات، مكتوبةً ومحفوظة، جاهزةً ليقرأها المعالج ويطيعها. كأنّه وصفة طبخٍ مفصّلة: خطواتٌ محدّدةٌ بترتيبٍ دقيق، من يتبعها يصل إلى النتيجة نفسها في كلّ مرّة.

وأجمل ما في هذا التعريف كلمة «مجمّدة». فالبرنامج فكرةٌ في رأس مبرمجٍ حوّلها إلى تعليماتٍ مكتوبةٍ محفوظة، فصارت تعمل بعده وبدونه، ملايين المرّات، على ملايين الأجهزة. المبرمج فكّر مرّةً، وبرنامجه ينفّذ فكرته إلى الأبد. البرمجيّات في هذا المعنى فكرٌ إنسانيٌّ مجمّدٌ في صورةٍ ينفّذها العتاد: عقلٌ بشريٌّ صُبّ في قالبٍ يعمل بلا كلل، وهذا سرّ قوّتها العجيبة.

ثنائيّة لا ينفكّ طرفاها

العتاد والبرمجيّات كالبيانو والموسيقى. البيانو أفخم آلةٍ صُنِعت، لكنّه صامتٌ بلا عازف، وبلا نوتةٍ يعزفها. والموسيقى أجمل ما ألّف الإنسان، لكنّها لا تُسمَع بلا آلةٍ تعزفها. كلٌّ بلا الآخر عاجز. كذلك أقوى معالجٍ في العالم كتلةٌ صامتةٌ بلا برنامجٍ يشغّله، وأذكى برنامجٍ سطورٌ ميّتةٌ بلا عتادٍ ينفّذه. الحاسوب الحيّ يولد من لقاء الاثنين، لا من أحدهما وحده.

ولهذه الثنائيّة أثرٌ عمليّ. حين يبطؤ جهازك، قد تكون العلّة في العتاد الضعيف، أو في برمجيّاتٍ رديئةٍ تستهلكه. وحين تريد ترقيةً، أحيانًا يكفي تغيير برنامجٍ أو تحديثه دون شراء عتاد، وأحيانًا لا يجدي برنامجٌ مع عتادٍ عاجز. تشخيصك السليم لأيّ مشكلةٍ يبدأ من سؤال: أهي في الجزء الصلب أم اللّيّن؟ فلكلٍّ علاجه، والخلط بينهما يقودك إلى حلٍّ خاطئٍ لمشكلةٍ في الطرف الآخر.

البرمجيّات ملفّات في النهاية

أين تعيش هذه التعليمات؟ في ملفّات، كالتي مرّت بك في مقال الملفّات. البرنامج ليس شيئًا سحريًّا، بل ملفٌّ أو مجموعة ملفّاتٍ محفوظةٌ على قرصك، تحمل تعليماته المجمّدة. ملفّ البرنامج التنفيذيّ في ويندوز، بامتداد .exe، هو بالضبط سلسلة البايتات التي مرّت بك: تعليماتٌ للمعالج مصفوفةٌ في ملفّ. حين «تثبّت» برنامجًا، فأنت تنسخ ملفّاته إلى قرصك وتهيّئها ليجدها النظام.[1]

هذا يربط ما تعلّمته سابقًا في صورةٍ واحدة. البرنامج ملفّاتٌ من نوعٍ ثنائيّ، تحمل تعليماتٍ لا نصوصًا مقروءة، محفوظةٌ في نظام ملفّاتٍ منظّم، يديرها نظام التشغيل. حين تنقر أيقونةً، يقرأ النظام ملفّ البرنامج من القرص، ويحمّل تعليماته إلى الذاكرة، ويأمر المعالج بتنفيذها. كلّ ما مرّ بك في السلسلة يجتمع في هذه اللحظة: الملفّ، والنظام، والذاكرة، والمعالج، معًا ليحوّلوا ملفًّا جامدًا إلى برنامجٍ يعمل.

طبقات البرمجيّات

ليست البرمجيّات كتلةً واحدة، بل طبقاتٌ يستند بعضها على بعض، كطوابق بناءٍ لا يقوم أعلاها إلا على أسفلها. في القاع البرنامج الثابت الذي يوقظ العتاد. فوقه نظام التشغيل الذي يدير الموارد. وإلى جانبه برامج التشغيل التي تخاطب القطع. وفوق النظام تجلس تطبيقاتك التي تستعملها. وفي القمّة عملك أنت: مستنداتك وصورك التي تنتجها بهذه التطبيقات. كلّ طبقةٍ تعتمد على ما تحتها ولا تراه المستعمل مباشرةً.

وهذا الترتيب الطبقيّ عبقريّ. التطبيق في الأعلى لا يحتاج أن يعرف تفاصيل العتاد، لأنّ النظام تحته يخفيها عنه ويقدّم له خدماتٍ جاهزة. والنظام لا يحتاج أن يعرف كلّ قطعة، لأنّ التعريفات تحته تترجم له. كلّ طبقةٍ تبني على التي تحتها وتخفي تعقيدها عمّا فوقها. هذا التجريد المتدرّج هو ما يجعل بناء البرمجيّات ممكنًا أصلًا، إذ لا يحتاج كاتب التطبيق أن يفهم كلّ الطوابق تحته.

برمجيّات النظام

تنقسم البرمجيّات قسمين كبيرين. الأوّل برمجيّات النظام: تلك التي تشغّل الجهاز نفسه وتديره، لا تنتج بها عملًا مباشرًا، لكنّها الأساس الذي يقوم عليه كلّ شيء. رأسها نظام التشغيل الذي أُفرِدت له مقالات، ومعه برامج التشغيل التي مرّت بك، وأدوات الصيانة التي تنظّف القرص وتفحص النظام. هذه برمجيّاتٌ تخدم الجهاز والبرامج الأخرى، لا تخدمك أنت مباشرةً في مهمّةٍ تريدها.

فأنت لا تفتح نظام التشغيل لتنجز به شيئًا كما تفتح محرّر نصوص، بل هو يعمل تحت كلّ ما تفعله. برمجيّات النظام كالبنية التحتيّة لمدينة: الطرق والكهرباء والماء، لا تستعملها لذاتها، لكن لا تقوم حياةٌ بدونها. حين تعمل جيّدًا لا تلاحظها أصلًا، وإنّما تلاحظها حين تتعطّل. هذا القسم مرّ بك في معظم السلسلة، فقد كان نظام التشغيل والتعريفات هما موضوع الجزء السابق كلّه.

برمجيّات التطبيقات

القسم الثاني برمجيّات التطبيقات، وهي ما تستعمله فعلًا لتنجز مهامّك. المتصفّح الذي تقرأ به، ومحرّر النصوص الذي تكتب فيه، ومشغّل الفيديو، والألعاب، وتطبيقات الرسائل، كلّها تطبيقات. هذه البرمجيّات صُمّمت لك أنت، لتحقّق غرضًا تريده: قراءةً، أو كتابةً، أو تصميمًا، أو تسليةً. تعمل فوق نظام التشغيل، تطلب منه الخدمات، فيوفّرها لها عبر نداءات النظام التي مرّت بك.[2][3]

والتطبيقات لا حصر لأنواعها، بعدد ما يحتاجه البشر. تطبيقاتٌ للإنتاجيّة كمعالجات النصوص والجداول، وأخرى للإبداع كبرامج الرسم والتصميم والمونتاج، وثالثةٌ للتواصل، ورابعةٌ للتسلية، وخامسةٌ متخصّصةٌ لمهنٍ بعينها كالهندسة والطبّ والمحاسبة. هذا الثراء هو ثمرة المرونة الآتي بيانها: بما أنّ البرمجيّات ليّنةٌ متغيّرة، يقدر أيّ أحدٍ أن يصنع تطبيقًا لأيّ حاجة، فيتّسع عالمها بلا حدود.

البرمجيّات التي تصنع البرمجيّات

وهناك نوعٌ ثالثٌ لطيف: برمجيّاتٌ غايتها صنع برمجيّاتٍ أخرى. فالمبرمج نفسه يحتاج أدواتٍ يكتب بها برامجه ويحوّلها إلى تعليماتٍ ينفّذها المعالج. من هذه الأدوات محرّرات الشيفرة، والمترجمات التي تحوّل ما يكتبه المبرمج إلى لغة الآلة، وأدوات كشف الأخطاء. هذه برمجيّاتٌ يستعملها صانعو البرمجيّات، لا المستخدم العاديّ، لكنّها التي يخرج من رحمها كلّ برنامجٍ تستعمله.

هذه الفكرة تبدو دائريّةً عجيبة: برنامجٌ يصنع برنامجًا. لكنّها أساس كلّ ما حولك من برمجيّات. وهي تفتح بابًا يطرقه المقال القادم: كيف تتحوّل فكرة المبرمج، المكتوبة بلغةٍ يفهمها الإنسان، إلى تعليماتٍ ثنائيّةٍ يفهمها المعالج وحده؟ كيف «يعمل» البرنامج فعلًا من الداخل؟ يكفيك الآن أن تعرف أنّ هذه الأدوات موجودةٌ، وأنّ كلّ تطبيقٍ في جهازك خرج من بين يديها.

المرونة: سرّ الحاسوب كلّه

وهنا أعمق فكرةٍ في هذا المقال. لماذا يقدر جهازٌ واحدٌ أن يكون آلةً حاسبةً، ثمّ استوديو تصميم، ثمّ منصّة ألعاب، ثمّ آلةً كاتبة، دون أن تغيّر فيه قطعةً واحدة؟ الجواب: لأنّك تغيّر برمجيّاته. العتاد واحدٌ ثابت، لكنّ البرنامج الذي يشغّله يقرّر ما يكونه الجهاز في تلك اللحظة. غيّر البرنامج، يتغيّر الجهاز، ويبقى العتاد كما هو.

هذه هي عبقريّة الحاسوب التي تميّزه عن كلّ آلةٍ قبله. المطرقة تطرق فقط، والمنشار ينشر فقط، لأنّ وظيفتهما مصبوبةٌ في شكلهما الماديّ. أمّا الحاسوب فآلةٌ عامّةٌ لا وظيفة لها في ذاتها، تتشكّل بالبرنامج الذي تحمله. لهذا سمّاه روّاده «الآلة العامّة»: آلةٌ واحدةٌ تصير أيّ آلةٍ تريدها بمجرّد تغيير تعليماتها. البرمجيّات هي ما حوّل قطعة عتادٍ جامدةٍ إلى أعجوبةٍ تفعل كلّ شيء.

كيف تُقتنى البرمجيّات؟

تصل البرمجيّات إليك بنماذج مختلفة، ومعرفتها تحميك وتوفّر مالك. منها المجّانيّ تمامًا، ومنها ما تشتريه مرّةً فيصير ملكك، ومنها ما تدفع عنه اشتراكًا شهريًّا أو سنويًّا فتفقده إن توقّفت عن الدفع. وهذا النموذج الأخير، الاشتراك، انتشر كثيرًا: لم تعد تملك البرنامج، بل تستأجر حقّ استعماله. اعرف أيّ نموذجٍ تدخل فيه قبل أن تبدأ، فالفرق بين شراءٍ دائمٍ واشتراكٍ متجدّدٍ كبير.

ومنها المفتوح المصدر الذي مرّ بك في مقال الأنظمة: مجّانيٌّ وشيفرته منشورة، يقابله المغلق الذي تحتكره شركة. وهناك المجّانيّ المموّل بالإعلانات، وهو ليس مجّانيًّا حقًّا: تدفع ثمنه انتباهك وبياناتك بدل مالك. القاعدة الذهبيّة: إن كان المنتج مجّانيًّا تمامًا وشركةٌ تجنّي منه، فغالبًا أنت المنتج لا الزبون، وبياناتك هي السلعة. لا شيء بلا ثمن، وإن لم يكن الثمن مالًا مباشرًا.

وتختلف البرامج في طريقة وجودها على جهازك. أكثرها «مثبّت»: ينسخ ملفّاته في أماكن من نظامك ويسجّل نفسه فيه، فيصير جزءًا منه حتّى تزيله. وبعضها «محمول»: يعمل من ملفٍّ واحدٍ دون تثبيت، تشغّله من ذاكرةٍ محمولةٍ وتأخذه معك بلا أثرٍ يتركه في الجهاز. المحمول أنظف وأخفّ لمهامّ عابرة، والمثبّت أقدر على الاندماج مع النظام. معرفة الفرق تفيدك حين تريد أداةً سريعةً لا تلوّث بها جهازًا ليس لك.

واحذر عند التثبيت من الحمولة الزائدة. كثيرٌ من المثبّتات، خاصّةً المجّانيّة، تحاول أن تدسّ معها برامج أخرى لا تريدها: شريط بحثٍ في متصفّحك، أو برنامج «تنظيف»، أو تغيير صفحتك الرئيسيّة. تمرّ هذه سريعًا في خطوات التثبيت، مؤشّرةً مسبقًا لتقبلها بالغفلة. اقرأ كلّ خطوةٍ في التثبيت، وارفض ما لا تطلبه، واختر «التثبيت المخصّص» لا «السريع» لترى ما يُدَسّ. دقائق انتباهٍ تجنّبك برامج طفيليّةً يصعب التخلّص منها لاحقًا.

الترخيص: العقد الذي لا تقرؤه

مع كلّ برنامجٍ تثبّته، يمرّ بك ذلك النصّ الطويل الذي تضغط «أوافق» دون أن تقرأه: اتّفاقيّة الترخيص. هي عقدٌ قانونيٌّ يحدّد ما يحقّ لك فعله بالبرنامج وما لا يحقّ. غالبًا لا تملك البرنامج فعلًا، بل تشتري رخصة استعماله بشروطٍ معيّنة: على جهازٍ واحدٍ ربّما، أو لغرضٍ غير تجاريّ، أو دون حقّ نسخه وتوزيعه. أنت تشتري إذنًا بالاستعمال، لا قطعةً تملكها كما تملك كتابًا.

ومن هنا خطر البرامج المقرصنة، أو «المكسورة». كثيرون يبحثون عن نسخةٍ مجّانيّةٍ من برنامجٍ مدفوعٍ فيحمّلونها من مواقع مجهولة. المشكلة ليست قانونيّةً فقط، بل أمنيّةٌ خطيرة: هذه النسخ عُدِّلت بيد مجهولٍ حذف حمايتها، فمن يضمن أنّه لم يدسّ فيها برمجيّةً خبيثةً أيضًا؟ تحصل على برنامجٍ بمالٍ موفَّر، وقد تدفع ثمنه بياناتك كلّها. البديل الآمن كثيرٌ: بدائل مجّانيّةٌ مفتوحةٌ لمعظم البرامج المدفوعة، تغنيك عن المخاطرة.

الإصدارات والأرقام

تحمل البرمجيّات أرقام إصداراتٍ تخبرك بتاريخها، وقراءتها مفيدة. غالبًا تأخذ الأرقام شكل ثلاثة أعدادٍ مفصولةٍ بنقاط: الأوّل يتغيّر مع التحديثات الكبرى التي تعيد الكثير، والثاني مع إضافة مزايا، والثالث مع إصلاح عيوبٍ صغيرة. فإصدارٌ يقفز رقمه الأوّل تحديثٌ ضخمٌ قد يغيّر ما اعتدته، وإصدارٌ يتغيّر رقمه الأخير إصلاحٌ صغيرٌ آمنٌ غالبًا. هذه الأرقام لغةٌ صامتةٌ تخبرك بحجم التغيير قبل أن تحدّث.

لماذا تحمل البرامج عيوبًا؟

لا يخلو برنامجٌ من عيوب، مهما بلغت جودته. لماذا؟ لأنّ البرنامج تعليماتٌ كتبها بشرٌ، والبشر يخطئون. برنامجٌ كبيرٌ قد يحوي ملايين السطور من التعليمات، تتفاعل بطرقٍ يصعب على أيّ عقلٍ توقّعها كلّها. يكفي خطأٌ صغيرٌ في سطرٍ واحد، أو حالةٌ لم يتوقّعها كاتبه، ليظهر «العيب» الذي يُسمّى بالإنجليزيّة حشرةً، فيتصرّف البرنامج تصرّفًا غير مقصود.

لهذا التحديثات المتواصلة: جزءٌ كبيرٌ منها إصلاح عيوبٍ اكتُشِفت بعد الإصدار. وبعض العيوب أمنيّةٌ خطيرة، ثغراتٌ يستغلّها المهاجمون، ولهذا يجب ألّا تتأخّر عن تحديثاتها. تقبّل أنّ البرنامج الكامل الخالي من العيوب وهمٌ لا وجود له، وأنّ الجودة تُقاس بقلّة العيوب وسرعة إصلاحها، لا بانعدامها. من يفهم هذا لا يفزع من كلّ عطلٍ صغير، ويعرف أنّ التحديث الدوريّ جزءٌ من طبيعة البرمجيّات لا زيادةٌ عليها.

متطلّبات التشغيل

لكلّ برنامجٍ متطلّباتٌ من العتاد ليعمل جيّدًا: قدرٌ أدنى من الذاكرة، ونوعٌ من المعالج، ومساحةٌ على القرص، وأحيانًا بطاقة رسوماتٍ معيّنة. هذه «متطلّبات التشغيل» التي تراها مكتوبةً قبل الشراء أو التثبيت. برنامجٌ يتجاوز حجمه قدرة جهازك سيعمل ببطءٍ مؤلمٍ أو لا يعمل أصلًا. لهذا اقرأ المتطلّبات قبل أن تثبّت، خاصّةً الألعاب والبرامج الثقيلة، لتعرف هل يحتملها جهازك قبل أن تحمّل وتصطدم بخيبة.

وتذكّر من مقال الأنظمة أنّ للبرنامج متطلّبًا آخر غير العتاد: النظام نفسه. برنامجٌ بُنِي لويندوز لا يعمل على ماك، ونسخةٌ صُمّمت لإصدارٍ حديثٍ من النظام قد لا تعمل على قديم. فحين تجد برنامجًا لا يعمل، لا يكون العيب دائمًا في جهازك، بل قد يكون في عدم توافقه مع نظامك أو إصداره. اعرف نظامك وإصداره كما نصحتُك سابقًا، فهو نصف الجواب عن أيّ مشكلة توافق.

السحابة: برمجيّاتٌ لا تملكها

ومن أكبر تحوّلات العصر أنّ كثيرًا من البرمجيّات لم يعد يعمل على جهازك أصلًا، بل على خوادم بعيدةٍ تصل إليها عبر المتصفّح. تفتح تطبيق بريدٍ أو مستنداتٍ في المتصفّح، فيعمل البرنامج في مكانٍ بعيد، وأنت ترى نتيجته فقط. هذا نموذج «البرمجيّات خدمةً»: لا تثبّت شيئًا ولا تملكه، بل تستعمله عبر الإنترنت كخدمةٍ متجدّدة، بياناتك وبرنامجك كلاهما هناك لا عندك.

لهذا النموذج حسناته: تصل إلى برنامجك من أيّ جهازٍ فيه متصفّح، ولا تحتاج تثبيتًا ولا تحديثًا ولا عتادًا قويًّا، وتتشارك العمل مع غيرك لحظيًّا. لكن له ثمنه: تعتمد على الاتّصال بالإنترنت، وتضع بياناتك عند شركةٍ أخرى، وتتوقّف الخدمة إن توقّف اشتراكك أو أغلقت الشركة. هذا التحوّل من البرنامج الذي تملكه إلى الخدمة التي تستأجرها من أهمّ ما يشكّل علاقتك بالبرمجيّات اليوم.

التضخّم والتحديث

البرمجيّات تنمو مع الزمن. كلّ إصدارٍ جديدٍ يضيف مزايا، فيكبر البرنامج ويثقل، حتّى يحتاج عتادًا أقوى ممّا كان يكفيه. هذه ظاهرةٌ معروفةٌ: البرمجيّات تتوسّع لتملأ العتاد المتاح وتزيد. لهذا يبطؤ برنامجٌ كان سريعًا على جهازك بعد سنواتٍ من التحديثات، لا لأنّ العتاد تعطّل، بل لأنّ البرنامج صار أثقل. أحيانًا يكون البرنامج القديم الأخفّ أنسب لجهازٍ متواضع.

والتحديثات ضروريّةٌ لكن ليست كلّها متساوية. بعضها يسدّ ثغراتٍ أمنيّةً يجب ألّا تتأخّر عنها، وبعضها يضيف مزايا قد لا تحتاجها بثمن ثقلٍ زائد. القاعدة كما تعلّمتَ في التعريفات والبرنامج الثابت: حدّث دائمًا ما يمسّ الأمان، وتأنّ في تحديثاتٍ تضيف حجمًا وتعقيدًا بلا فائدةٍ لك. لست ملزمًا بأحدث إصدارٍ دائمًا، لكنّك ملزمٌ بألّا تترك ثغرةً أمنيّةً مفتوحةً في برنامجٍ يحمل بياناتك.

حين تنقلب البرمجيّات عليك

وبما أنّ البرنامج تعليماتٌ ينفّذها جهازك بطاعة، فماذا لو كانت التعليمات خبيثة؟ هنا تولد البرمجيّات الخبيثة: برامجُ كُتِبت لتؤذيك لا لتخدمك، تسرق بياناتك، أو تشفّر ملفّاتك وتطلب فديةً، أو تتجسّس عليك، أو تستهلك جهازك لمصلحة غيرك. هي برمجيّاتٌ كأيّ برمجيّات، تعليماتٌ في ملفّات، لكنّ غايتها الأذى. جهازك ينفّذها بالطاعة نفسها التي ينفّذ بها أيّ برنامج، إن هو شغّلها.

لهذا كان اختيار ما تشغّله على جهازك قرارًا أمنيًّا، لا راحةً فقط. كلّ برنامجٍ تثبّته يمنحه جهازك ثقةً بتنفيذ تعليماته، فلا تمنح هذه الثقة إلّا لمصدرٍ تثق به. هذه فكرةٌ ستعود إليها في آخر السلسلة حين يأتي الحديث عن أمان جهازك، لكن جذرها هنا: البرمجيّات أداةٌ محايدة، تنفّذ ما فيها من خيرٍ أو شرّ، والحارس الأوّل هو أنت حين تقرّر ماذا تُدخِل جهازك.

جرّبه بنفسك

افتح قائمة البرامج المثبّتة في جهازك من الإعدادات. تصفّحها وحاول أن تصنّف كلّ برنامج: أهو من برمجيّات النظام التي تشغّل الجهاز، أم تطبيقٌ تستعمله أنت لمهمّة؟ ولاحظ حجم كلّ برنامجٍ على القرص، وتاريخ تثبيته. سترى غالبًا برامج نسيت أنّها عندك، وأخرى لا تستعملها منذ زمن. هذه فرصةٌ لتعرف ما يسكن جهازك فعلًا، فكثيرون يجهلون نصف ما هو مثبّتٌ عندهم.

ثمّ احذف ما لم تعد تحتاجه، خاصّةً ما لا تعرف مصدره أو غايته. كلّ برنامجٍ زائدٍ يشغل مساحةً، وقد يعمل في الخلفيّة فيبطّئ جهازك ويستهلك موارده، وقد يكون بابًا أمنيًّا لا تحتاجه. جهازٌ نظيفٌ من البرامج غير المستعملة أسرع وأأمن. هذه العادة، مراجعة برمجيّاتك دوريًّا وإزالة الزائد، من أبسط ما تفعله لصحّة جهازك، ولا تكلّفك إلّا دقائق معدودة.

من الفكرة إلى التنفيذ

عرفتَ أنّ البرمجيّات هي الجانب غير الملموس من الحاسوب: تعليماتٌ مجمّدةٌ في ملفّات، ينفّذها المعالج، تتوزّع طبقاتٍ من النظام إلى تطبيقاتك، وتنقسم نظامًا وتطبيقاتٍ وأدوات تطوير. وفهمتَ أنّ مرونتها هي سرّ قدرة الحاسوب على أن يكون كلّ شيء، وأنّها تصل بنماذج اقتناءٍ مختلفة، وأنّها أداةٌ محايدةٌ قد تخدمك أو تؤذيك بحسب من كتبها.

لكن بقي السؤال الذي أجّلتُه: كيف تتحوّل فكرةٌ في رأس مبرمجٍ إلى برنامجٍ يعمل في جهازك؟ كيف يُكتَب البرنامج، وبأيّ لغة، وكيف تفهم الآلة ما كتبه إنسانٌ بلغةٍ تشبه لغته لا لغة الأصفار والآحاد؟ ما الذي يجري في اللحظة التي «يعمل» فيها البرنامج فعلًا؟ هذه أسئلة المقال القادم، حين تدخل غرفة الآلة وترى كيف تنبض البرمجيّات بالحياة.

المصادر

  1. ويكيبيديا، «برمجية (Software)» (تعريف البرمجيّات جانبًا غير ملموسٍ من التعليمات مقابل العتاد الماديّ، وكونها محفوظةً في ملفّات).
  2. IBM، «What is software?» (تقسيم البرمجيّات إلى برمجيّات نظامٍ وبرمجيّات تطبيقاتٍ ودور كلٍّ منها).
  3. موضوع تك، «أنواع البرمجيّات» (تصنيف البرمجيّات: نظامٌ وتطبيقاتٌ وأدوات برمجةٍ وبرمجيّاتٌ وسيطة).

اترك تعليقاً

الحقول المميّزة بـ مطلوبة