لغة الآلة هي اللغة التي يفهمها الحاسب وتتكون من 0 و 1.. صواب أم خطأ؟
تتعامل أجهزة الحاسب الحديثة مع عمليات معقدة، بدءا من تشغيل الألعاب فائقة الدقة وصولا إلى إجراء الحسابات الفلكية، وورغم هذا التطور الهائل في الواجهات الرسومية والبرمجيات المتقدمة، يظل السؤال قائما حول اللغة الحقيقية التي يفكر بها الحاسوب في مستواه الأدنى، وهي ما يُعرف بـ «لغة الآلة».
ما هي لغة الآلة التي يفكر بها الحاسب؟
تعد العبارة في العنوان صوابا بشكل مطلق، حيث أن «لغة الآلة هي بالفعل اللغة الأم، والوحيدة، التي يفهمها المعالج المركزي (CPU) في الحاسوب بشكل مباشر.
وتتكون هذه اللغة حصريا من سلسلة من الأرقام الثنائية: 0 (الذي يمثل حالة «إطفاء» أو «False») و1» الذي يمثل حالة «تشغيل» أو «True».
ويعود السبب في هذا الاعتماد الحصري على النظام الثنائي (Binary System) إلى البنية الفيزيائية للحاسوب، فالمعالج يتكون من مليارات المكونات الإلكترونية الدقيقة تسمى «الترانزستورات».
ويعمل الترانزستور كمفتاح كهربائي (Switch) دقيق جدا لا يقبل سوى حالتين:
-
عندما يمر تيار كهربائي (جهد مرتفع)، يمثل ذلك القيمة «1».
-
عندما لا يمر تيار (جهد منخفض)، يمثل ذلك القيمة «0».
وتشكل هذه الأصفار والآحاد مجتمعة تعليمات يفهمها المعالج، فكل عملية يقوم بها الحاسوب، مهما بدت معقدة على الشاشة، يتم ترجمتها في النهاية إلى سلسلة طويلة جدا من هذه التعليمات الثنائية.
على سبيل المثال، قد يمثل تسلسل معين (مثل 10110010) أمرا للمعالج بجمع رقمين، بينما يمثل تسلسل آخر أمرا بـ «تخزين قيمة في الذاكرة».
ويكمن التحدي في أن «لغة الآلة» غير قابلة للقراءة أو الفهم من قبل البشر/ فكتابة برنامج كامل باستخدام 0 و 1 مباشرة هو أمر شبه مستحيل وشديد التعقيد، ولهذا السبب، تم تطوير لغات البرمجة.
وتعمل لغات البرمجة كوسيط ضروري/ فلغات البرمجة عالية المستوى مثل Python أو Java تستخدم كلمات إنجليزية مألوفة مثل Print أو If/Else وعندما يكتب المبرمج بهذه اللغات، يقوم برنامج خاص يسمى المترجم أو المفسربترجمة هذه الأوامر البشرية إلى لغة التجميع (Assembly)، ثم يتم تحويلها إلى «لغة الآلة» التي يفهمها المعالج.
ولذلك، فكل ما نراه على شاشاتنا، من نصوص وصور ومقاطع فيديو، هو في جوهره تمثيل مرئي لمليارات من الأصفار والآحاد التي تنفذها «لغة الآلة» بسرعات فائقة داخل المعالج.