logiclane

الكمبيوتر بيفهم الكود إزاي وهو مبيفهمش غير صفر وواحد؟

  • برمجة · #10
  • ~3:29 دقيقة
  • 5 محطات
الكمبيوتر بيفهم الكود إزاي وهو مبيفهمش غير صفر وواحد؟
الحلقة دي لسه ما نزلتشاتفرج على المحطات اللي هنمشيها، وارجع لنا قريب.

محطات الحلقة

  1. ●
    المقدمة~0:00
  2. 1
    لغة الآلة~0:24
  3. 2
    طبقات فوق بعض~0:59
  4. 3
    المترجم والمفسّر~1:50
  5. 4
    ليه لغات كتير؟~2:34
  6. 5
    الخلاصة~3:07

الأوقات تقديرية لحد ما الصوت يتسجّل ويتظبط.

النص كاملللقراءة أو لو مش قادر تسمع

البداية

الكمبيوتر من جوه مبيفهمش غير حاجة واحدة: كهربا موجودة، أو مش موجودة. يعني واحد أو صفر. طب إزاي المبرمج بيكتب كلام شبه الإنجليزي، زي برينت هالو، والكمبيوتر يفهمه وينفذه؟ الإجابة: فيه مترجمين! برامج شغلتها تاخد الكلام اللي بنكتبه، وتحوله خطوة خطوة لأصفار ووحايد الكمبيوتر بيفهمها. وده من أهم الاختراعات في تاريخ الكمبيوتر.

لغة الآلة

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

طبقات فوق بعض

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

المترجم والمفسّر

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

ليه لغات كتير؟

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

الخلاصة

يعني باختصار: الكمبيوتر بيفهم لغة الآلة بس، أصفار ووحايد. وفوقها طبقات: أسمبلي، وبعدين لغات زي سي وبايثون. والمترجم، كومبايلر أو مفسّر، هو اللي بيحوّل كلامنا لأصفار ووحايد. وكل لغة ليها شغلها. وسؤال ليك: لو هتتعلم أول لغة برمجة النهارده، هتختار أنهي واحدة، وليه؟ اكتب لنا في الكومنتات!

الحلقة اللي قبلهاالتصيّد: إزاي الهاكر بيخليك تديله الباسورد بإيدك؟الحلقة اللي بعدهاجوجل بيلاقي إجابتك في نص ثانية إزاي؟