1952، ما الذي يدور في ذهنك يا صديقي عندما تسمع هذا التاريخ. ربما الثورة المصرية التي اندلعت في الثالث والعشرين من يوليو، أو ربما تعيين الملكة إليزابيث كملكة لبريطانيا بعد وفاة والدها الملك جورج السادس، أو ربما حتى الحاسوب مانشستر مارك 1 وهو يقوم بتشغيل برنامجا مكتوبا بلغة الأوتوكود.
أظن أنك توقفت قليلا عند أمر الحاسوب هذا. أليس كذلك؟! لا تقلق. ستفهم كل شيء قريبا.
اليوم يا صديقي سنجيب على سؤال قد يكون جال بخاطرك يوما ما، وهو ببساطة. كيف يفهمنا الكمبيوتر؟
في زمننا الحاضر، أصبحنا نسمع عن المبرمجين بشكل شبه يومي، وأحيانا نتساءل . . . " كيف يفهم جهاز الكمبيوتر مثل هذه الأسطر الكودية التي يكتبها المبرمجون. لقد سمعنا أن هناك الآلاف من لغات البرمجة حرفيا، فهل لكل كمبيوتر القدرة على فهم كل تلك اللغات؟! ". . . تساؤل يجول بخاطرنا ونسعى لمعرفة إجابته، أليس كذلك يا صديقي؟ ماذا . . . حسنا، لا بأس. أنا أيضا توقعت هذا.
أظن أنه يجب علينا الآن التوقف عن سرد المقدمات والبداية في الإجابة على هذا السؤال.
في البداية يا صديقي، عليك أن تعلم أن الحواسيب لا ولم ولن تفهم أبدا إلا لغة واحدة، وهي لغة الآلة. نعم يا صديقي، هي هذه اللغة المكونة من الرقمين 1 و0 ! بالتأكيد ستتعجب من الأمر يا صديقي وتسأل، ما دام الأمر هكذا، لم اخترعنا كل هذه اللغات البرمجية ما دام بإمكاننا البرمجة بلغة الآلة من البداية؟
في الحقيقة يا صديقي، في بداية عصر الحواسيب الكهربائية كنا فعلا نبرمج بلغة الآلة. لكن الأمر كان معقدا جدا، وكانت الأخطاء سائدة. مما أجبر علماء الحواسيب في ذلك الوقت على اختراع لغات برمجية بشرية أسهل نسبيا من لغة الآلة. ولأن الحاسوب لا يفهم إلا لغة الآلة؛ فقد كان عندما يقوم بتشغيل برنامج مكتوب بلغة برمجية بشرية يترجمه في البداية إلى لغته الخاصة، ثم يقوم بتشغيله بعدها. كانت لغة الأوتوكود من أوائل هذه اللغات. ولهذا السبب، كان تشغيل الحاسوب مانشستر مارك 1 لبرنامج مكتوب بلغة الأوتوكود في عام 1952 حدثا تاريخيا. فقد كان من أوائل الحواسيب التي تقوم بتشغيل برنامج مكتوب بلغة غير لغة الآلة!
ظلت لغات البرمجة وعلوم الحاسوب تتطور حتى وصلت إلى المرحلة التي هي عليها الآن. كل شيء تقريبا تغير عدا شيء واحد. وهو فلسفة لغات البرمجة. حيث بالرغم من وجود آلاف اللغات البرمجية في الوقت الحالي، والتي نستخدمها لإيصال الأوامر إلى الحاسوب. فهو ما زال لا يفهم أيا منها. هو فقط يأخذ الأسطر الكودية المكتوبة بلغاتنا البرمجية البشرية، - أيا كانت ماهيتها، بداية من الأوتوكود ومرورا ببرولوغ ووصولا حتى إلى بايثون - ويترجمها جميعا إلى لغته الخاصة . . . لغة الآلة!
التعليقات