بداية عهد الحوسبة… تاريخ موجز لـ لغة التجميع Assembly
منذ بداية عهد الحواسيب، كان كل شيء بدائياً إلى حد ما، وصعباً للغاية مقارنة بما وصلنا إليه اليوم، لم تكن بالتأكيد تلك الواجهات الملونة السهلة، أو تلك البرامج العملاقة التي نتعامل معها الآن، بل حاسوب بالصمامات يحتاج الكثير من الوقت ليقلع، وكمًّا هائلًا من التعليمات ليعمل، وغرفة عملاقة ليوضع به. ومع مرور الأيام بدأ الخبراء بالعمل على تحسين تلك الحواسيب بشكل تدريجي، حيث قاموا بتغيير جذري بالهيكل، تقليص حجمه، استبدال الحواسيب الصمامات إلى حواسيب إلكترونية، تحسين أداء المعالجات والرامات والذواكر، بناء الشاشة الرسومية الملونة الجذابة وسهلة التعامل، والكثير الكثير من الأشياء التي تخدم مصلحة المستخدم.
إلا أن أهم ما جاء بفائدة للمبرمجين اليوم هو تطور لغات البرمجة عبر عقود من الزمن، بحيث أمكنهم بناء العديد من البرمجيات باستخدام لغات سهلة وبسيطة ببنيانها مقارنة مع الماضي، وبالتالي يعود الفضل الأكبر لها على ما نحن عليه اليوم من تطور للتكنولوجيا ووصولنا إلى عصر السرعة.
في البداية كان المبرمجون يكتبون بلغة الآلة المؤلفة من العديد من الأصفار والواحدات، وأي خطأ بأي رقم سيأخذ منهم أياماً وليالي لإيجاده ومن ثم تصليحه، لذا كانت مشكلة التعامل مع الحاسب وتطويره من أبرز مشاكل الحوسبة التي واجهها الخبراء، وعندها بدؤوا بالبحث لإيجاد حلول بديلة للكتابة بتلك اللغة، ليصلوا إلى ما نسميه اليوم والتي تُعدّ حجر الأساس لتطور الإمبراطورية التقنية ألا وهي “لغات البرمجة“، العنصر الأهم والأبرز بتكنولوجيا الآلات والحواسيب.
وباستخدام المترجمات Compilers، يتم تحويل تلك اللغات من لغة البرمجة التي يدخلها المبرمج، إلى لغة الآلة التي تفهمها الحواسيب، وبالتالي بناء جسر تواصل متين، سهل الفهم، ورائع بين المبرمج والحاسب.
في عام 1940، تم إنشاء أول أجهزة الحاسب الكهربائي الحديث المعترف به. إلا أن السرعة المحدودة وحجم الذاكرة الصغير قد جعل المبرمجون يلجؤون إلى لغة منخفضة المستوى والتي تدعى لغة Assembly.
تُعدّ لغة Assembly لغة منخفضة المستوى أي أنها تتحول مباشرة إلى لغة الآلة (أصفار وواحدات) وبالتالي تتعامل مباشرة مع المعدات المادية للحاسب على عكس اللغات عالية المستوى كالـ c والـ java، وهي تُستخدم لأي جهاز قابل للبرمجة.
ولذا تُعدّ أسرع لغة والأخف حجماً بين كل اللغات، حيث تمت برمجة مركبة أبولو بالكامل باستخدام لغة الإسمبلي من قبل عالمة البرمجيات العبقرية مارغريت هاملتون Margaret Hamilton.
تاريخ لغة Assembly
تم تطوير أول إصدار من لغة الأسمبلي في عام 1947 من قبل كاثليين بوث Kathleen Booth في جامعة لندن بعد العمل مع جون فون نيومان John von Neumann وهيرمان غولدستين Herman Goldstine في معهد الدراسات المتقدمة.
من ثم أتت آلة التخزين التلقائي EDSAC بلغة الأسيمبلي والتي تدعى “initial orders” عام 1949، ومن ثم SOAP أو (Symbolic Optimal Assembly Program) الذي كتبه ستان بولي Stan Poley في IBM عام 1955.
لقد تم استخدامها على نطاق واسع لأنها كانت تخفف على المبرمجين عبء المهام الشاقة مثل تذكر الرموز الرقمية الضخمة والعناوين الموجودة في الذاكرة، ومع ذلك لقد قلّ استخدامها بحلول عام 1980 بسبب وصول لغات عالية المستوى.
لقد كُتبت برمجيات هائلة في شركة IBM بلغة أسمبلي ومازالت حتى هذه اللحظة، وذلك كما قلنا سابقاً لأنها قليلة الحجم، سريعة جداً، وذات موثوقية عالية. ومن بينها برنامج The Lotus 1-2-3 ونظام التشغيل IBM PC DOS وأيضاً مترجم Turbo Pascal compiler الشهير، كما أن هناك العديد من ألعاب الفيديو في عقد التسعينات ومنها NBA Jam التي انشهرت كثيراً حينها في عام 1993.
كما تطورت معظم الحواسيب في كل من عقدي الثمانينات والتسعينات باستخدام لغة الأسيمبلي منها Atari ST و أنظمة MSX وأيضاً نظام VIC 20.
وما زالت تُستخدم إلى الآن، لم ينتهِ عصرها إطلاقاً، ليس فقط ببناء التطبيقات، بل عند بناء المترجمات أيضاً. فهي تُعدّ الشيفرة الوسيطية بين اللغات عالية المستوى ولغة الآلة، فعند تحويل اللغة عالية المستوى إلى لغة الأصفار والواحدات، عليها أن تتحول أولاً إلى لغة الأسمبلي ومنها إلى لغة الآلة، وهنا تستنتج أهمية اللغات منخفضة المستوى.
وبذلك حافظت على عهدها، مع أنها تُعدّ لغة صعبة بالمقارنة مع اللغات عالية المستوى، إلا أن سرعتها كانت كافية لتبقى موجودة حتى الآن في العديد من القطاعات التي تخصّ التعامل المباشر مع الأجهزة، معالجة مشاكل الأنظمة والمعالجات، البرامج الهامة في الأنظمة والأنظمة منخفضة المستوى وأنظمة الوقت الحقيقي.
إلا أن أهم ما جاء بفائدة للمبرمجين اليوم هو تطور لغات البرمجة عبر عقود من الزمن، بحيث أمكنهم بناء العديد من البرمجيات باستخدام لغات سهلة وبسيطة ببنيانها مقارنة مع الماضي، وبالتالي يعود الفضل الأكبر لها على ما نحن عليه اليوم من تطور للتكنولوجيا ووصولنا إلى عصر السرعة.
في البداية كان المبرمجون يكتبون بلغة الآلة المؤلفة من العديد من الأصفار والواحدات، وأي خطأ بأي رقم سيأخذ منهم أياماً وليالي لإيجاده ومن ثم تصليحه، لذا كانت مشكلة التعامل مع الحاسب وتطويره من أبرز مشاكل الحوسبة التي واجهها الخبراء، وعندها بدؤوا بالبحث لإيجاد حلول بديلة للكتابة بتلك اللغة، ليصلوا إلى ما نسميه اليوم والتي تُعدّ حجر الأساس لتطور الإمبراطورية التقنية ألا وهي “لغات البرمجة“، العنصر الأهم والأبرز بتكنولوجيا الآلات والحواسيب.
وباستخدام المترجمات Compilers، يتم تحويل تلك اللغات من لغة البرمجة التي يدخلها المبرمج، إلى لغة الآلة التي تفهمها الحواسيب، وبالتالي بناء جسر تواصل متين، سهل الفهم، ورائع بين المبرمج والحاسب.
في عام 1940، تم إنشاء أول أجهزة الحاسب الكهربائي الحديث المعترف به. إلا أن السرعة المحدودة وحجم الذاكرة الصغير قد جعل المبرمجون يلجؤون إلى لغة منخفضة المستوى والتي تدعى لغة Assembly.
تُعدّ لغة Assembly لغة منخفضة المستوى أي أنها تتحول مباشرة إلى لغة الآلة (أصفار وواحدات) وبالتالي تتعامل مباشرة مع المعدات المادية للحاسب على عكس اللغات عالية المستوى كالـ c والـ java، وهي تُستخدم لأي جهاز قابل للبرمجة.
ولذا تُعدّ أسرع لغة والأخف حجماً بين كل اللغات، حيث تمت برمجة مركبة أبولو بالكامل باستخدام لغة الإسمبلي من قبل عالمة البرمجيات العبقرية مارغريت هاملتون Margaret Hamilton.
تاريخ لغة Assembly
تم تطوير أول إصدار من لغة الأسمبلي في عام 1947 من قبل كاثليين بوث Kathleen Booth في جامعة لندن بعد العمل مع جون فون نيومان John von Neumann وهيرمان غولدستين Herman Goldstine في معهد الدراسات المتقدمة.
من ثم أتت آلة التخزين التلقائي EDSAC بلغة الأسيمبلي والتي تدعى “initial orders” عام 1949، ومن ثم SOAP أو (Symbolic Optimal Assembly Program) الذي كتبه ستان بولي Stan Poley في IBM عام 1955.
لقد تم استخدامها على نطاق واسع لأنها كانت تخفف على المبرمجين عبء المهام الشاقة مثل تذكر الرموز الرقمية الضخمة والعناوين الموجودة في الذاكرة، ومع ذلك لقد قلّ استخدامها بحلول عام 1980 بسبب وصول لغات عالية المستوى.
لقد كُتبت برمجيات هائلة في شركة IBM بلغة أسمبلي ومازالت حتى هذه اللحظة، وذلك كما قلنا سابقاً لأنها قليلة الحجم، سريعة جداً، وذات موثوقية عالية. ومن بينها برنامج The Lotus 1-2-3 ونظام التشغيل IBM PC DOS وأيضاً مترجم Turbo Pascal compiler الشهير، كما أن هناك العديد من ألعاب الفيديو في عقد التسعينات ومنها NBA Jam التي انشهرت كثيراً حينها في عام 1993.
كما تطورت معظم الحواسيب في كل من عقدي الثمانينات والتسعينات باستخدام لغة الأسيمبلي منها Atari ST و أنظمة MSX وأيضاً نظام VIC 20.
وما زالت تُستخدم إلى الآن، لم ينتهِ عصرها إطلاقاً، ليس فقط ببناء التطبيقات، بل عند بناء المترجمات أيضاً. فهي تُعدّ الشيفرة الوسيطية بين اللغات عالية المستوى ولغة الآلة، فعند تحويل اللغة عالية المستوى إلى لغة الأصفار والواحدات، عليها أن تتحول أولاً إلى لغة الأسمبلي ومنها إلى لغة الآلة، وهنا تستنتج أهمية اللغات منخفضة المستوى.
وبذلك حافظت على عهدها، مع أنها تُعدّ لغة صعبة بالمقارنة مع اللغات عالية المستوى، إلا أن سرعتها كانت كافية لتبقى موجودة حتى الآن في العديد من القطاعات التي تخصّ التعامل المباشر مع الأجهزة، معالجة مشاكل الأنظمة والمعالجات، البرامج الهامة في الأنظمة والأنظمة منخفضة المستوى وأنظمة الوقت الحقيقي.