الجمعة، 27 أبريل 2012

الحاسبات ولغات البرمجة - الجزء الأول

سلام الله عليكم ورحمته وبركاته..


الحاسبات هى تلك الاجهزة الرائعة والتى تعمل بقدرات مذهله وسريعة متطورة والمنتشرة حولنا فى شتى نواحى الحياة فى تنوع ووظيفية مميزة ، وبالرغم من القدارات العاليه للحاسب الا انه لايقلل من قوة واهمية العامل البشرى فى ادارة العمليات ، فالحواسب اجهزة تتسم بالسرعة الشديدة والانجاز ولكنها صماء تفتقر الى القدرة على التفكير او الابداع اى تحتاج لمن يديرها ويوجه امكانياتها لتحقيق اغراضة وفروضه.
.
وقد تطور الحاسب تطورا مذهلا بحق منذ اول ظهور له فى ثلاثينيات القرن المنصرم وتطورت معه ايضا كفائته وقدراته مما ادى الى انتشاره والتوسع فى استخدامه بعدما كان قاصرا على المؤسسات الحكومية والجامعات وساعد فى ذلك صغر حجمة وتراجع تكلفته ، فقد كانت الحواسب قديما كبيرة الحجم تولد قدرا كبيرا من الحرارة كما كانت بطيئة الاداء لا تستطيع القيام باكثر من عملية واحدة فى نفس الوقت فضلا عن ارتفاع تكلفتها لذا احتاجت لمن يديرها من العناصر البشريه واطلق عليهم مشغلى النظام System Operator  وكانت وظيفتهم هى ادارة الحاسب وتوجيهه للاستفادة من قدراته ، ومع الوقت تطورت الحواسب ومعها تطورت امكانياتها واستخداماتها وقل تدخل العنصر البشرى فى ادارة الحواسب بظهور نظام التشغيل او مايعرف باسم Operating  System  وقد ساعد على ذلك ظهور حاسبات قابله للبرمجة، والصورة التالية فى شكل 1 توضح اول حاسب قابل للبرمجة والذى صممه وصنعه الالمانى كونراد زوس Konrad Zuse وذلك فى عام 1938 واستغرق انشائه عامين واطلق عليه الاسم  Z1.

شكل 1- Z1

وتوالت ابداعات زوس بانشاءه الحاسبات Z2 و Z3 و Z4 والتى اتمها بعد سفره لسويسرا قرب نهاية الحرب العالمية الثانية واستطاع ان يصل بها لدرجة كبيرة من الدقة فى النتائج ، وقد سبقت محاولات زوس بمحاولات متعددة ساهم فيها الكثير من العلماء والذين ابتكروا وطوروا من عمل الحواسب وعلى سبيل الذكر لا الحصر تاتى مجهودات العالم نيومان عام 1945 لتكلل جهود سابقيه من العلماء حيث استطاع نيومان تطوير الحاسب ليتمكن من التخزين الداخلى للبيانات مستخدما النظام الثنائى – يشبة حالتى التيار الكهربى مرور وفصل يرمز لمرور التيار ب 1 وفصل التيار ب 0 اى ان النظام الثنائى يتكون من حالتين او رمزين صفر وواحد - وهو المستخدم حتى الآن.

وتوالت اصدارات الحاسوب منذ ذلك الوقت فى خمسة اجيال متعاقبة تميز فيها كل جيل عن سابقه بصغر الحجم وقلة الحرارة المتولدة واستخدام مواد افضل فى التصنيع مما اثر على كفاءة الحاسب وسرعتة النقل والمعالجة والدقة على حد سواء كما قلت تكلفته نسبيا وظهرت لغات للبرمجة – والتى اخذت طريقها فى التطور ايضا بمرور الوقت وبتقدم مكونات الحاسب - وظهرت انظمة التشغيل المختلفة وانتقل الحاسب من الاستخدامات العسكرية والحكومية والعلمية الى كونه ضرورة من ضروريات الحياة.
وحقيقة لم يكن ابتكار الحاسوب والى وقتنا هذا جهدا فرديا يرجع فضله لشخص بعينه لكونه وبحق مجموعة من المحاولات والابتكارات التى تكاملت معا لتظهر بهذا الشكل الرائع سواء على مستوى العتاد او البرمجيات ، فصناع ومبتكرى الصمامات المفرغة والترانزيستور والدوائر المتكاملة والموصلات وحتى انظمة التبريد والمطورين والمبرمجين والمصممين يسهمون بدور او اكثر فى تشكيل النقلات النوعية باجيال الحاسوب ويؤثرون عليه.

 وجدير بالذكر ايضا ان فكرة الحاسوب ليست فكرة جديدة كليا فعلى العكس يرجع تاريخها الى تاريخ حاجة الانسان نفسه الى مساعد يعنيه ويسهل عليه على القيام بفروضه ، وبداية بالعد على اصابع اليد وانتهاءا بالحاسوب فى اشكاله الحالية مرورا باستخدام الحصى وابتكار العداد البسيط abacus قبل الفى سنة من الميلاد وابتكار العالم الفرنسى باسكال الاله الحاسبة الميكانيكية فى عام 1642 والتى عرفت باسم الباسكالاين Pascaline ومن بعدها آله ليبينز المطورة والتى تلتها بثلاثين سنة ثم آلة غزل جوزيف جاكارد عام 1802 والتى كانت تعمل بالبطاقات المثقبة وتستطيع قرائتها وتنفيذ مافيها على القماش وتعتبر الفكرة الاولى لبرمجة الآلات ، ولانتجاهل هنا جهود تشارلز بابادج Charles Babbage فى تصنيع آلته الحاسبه الميكانيكه اوائل القرن التاسع عشر والتى عملت بالبخار وتميزت بالذاكرة ووحدتى الادخال والاخراج ووحدة الحساب والتعليمات مما ساعدها على استقبال وتنفيذ بعض الاوامر البسيطة ، ووصولا الى عام 1980 ومع دكتور هيرمان هوليريث Dr. Herman Hollerith والذى استطاع تطوير آله جدولة كهروميكانيكية استخدمت البطاقات المثقوبة فى ادخال ومعالجة البيانات – وهو مؤسس شركة IBM لاحقا - ، ونهاية بابداع دكتور اتانوسوف Dr. John V. Atanasoff ومساعده كليفورد بيرى Clifford Berry عام 1939 واللذان صنعا اول حاسب رقمى حقيقى اعتمد فى عمله على النظام الثنائى – الصفر والواحد – واستخدم الدوائر الالكترونية فى عملياته الحسابيه بدلا من العجلات والمفاتيح الميكانيكية كسابقيه والذى سيمهد لحاسوب كونراد زوس فيما بعد كما ذكرنا سابقا ، وبعد تلك اللمحات التاريخية والتى تحتل باسماء علمائها وابتكاراتهم سطورا مضيئة فى تاريخ العلم والبحث هيا بنا لنشاهد صورا لتلك المبتكرات – خصوصا وان كنتم ممن يصيبكم ملل التاريخ والاحداث مثلى -  ففيما يلى صورا توضيحية للعداد البسيط والباسكالاين والبطاقات المثقبة وألة الجدوله لهيرمان وماكينة بابدج واخيرا حاسب اتاناسوف وبيرى.
      
شكل 2 - abacus
شكل 3 - pascaline
شكل 4 - Punch Cards

شكل 5 - hh-tabulator
شكل 6 - Babbage Engine
شكل 7 - atanasoff-berrycomputer
 وتتالى بخطوات اكثر سرعة ابداعات العلماء فى الحواسب وعلى سبيل المثال لا الحصر ياتى حاسب Colossus البريطانى السرى عام 1944 و فى نفس العالم حاسب Harvard Mark 1 القابلين للبرمجة ايضا وان كانت محدودة والمعتمدين على الصمامات المفرغة كليا ثم يأتى Von Neumann فى اوائل الخمسينات ليقدم اساسا  فى ذلك الوقت لبنية الحواسب والبرامج المخزنة وقد تلى ذلك قفزات نوعية باجيال الحواسب خصوصا بعد اخترا الترانزيستور والدوائر المتكاملة وفيما يلى صورة لحاسب Harvard Mark 1:

شكل 8 - Harvard-Mark-1

ومما سبق تتلخص وظيفة الحاسب المجردة الا وهى القيام بالعمليات الحسابية والمنطقية على المدخلات بطريقة سريعة واخراجها فى صورتها النهائية المطلوبة ، ولا تقتصرالمدخلات هنا على الكلام المكتوب فقط من ارقام وحروف والى غيره انما تتنوع المدخلات بتنوع وظيفة الحاسب فقد تكون المدخلات كلمات منطوقة او مسجلة او حتى فيديو قد تكون صورا وخرائط وقد تكون مجرد اوامر كضغطات المفاتيح ، ومن هنا يتبين لنا نواة عمل الحاسب الا وهى عملية المعالجة للبيانات وتحويلها من صورة لصورة اخرى.

وفى وقتنا الآن تتنوع الحواسب لتغطى كافة نواحى الحياة فنراها فى المنازل والمتاجر ومكاتب الحجز وابراج المراقبة ومحطات القطار وشركات الاستضافه والاقمار الصناعية والطائرات والصواريخ الى اخر مايمكن عمله بتلك الاجهزة الرائعة فقصر مفهوم الحاسب على الاجهزة الشخصية او المحمولة هو تجاهل كبير لانواع كثيرة من الحواسب والتى توجد بغير شكلها المعتاد من اجهزة ادخال واخراج فالفيصل فى كون الحاسب حاسبا هو عملية المعالجة ذاتها وعلى ذلك تكون الخوادم والمساعدات الرقمية والروبوتس حاسبات وكذلك دوائر المعالجة والرقاقات الالكترونية المضمنه او المتحكمة فى اجهزة اكبر.

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


وحتى نلتقى دمتم فى رعاية الله آمنين..




Microsoft Excel VBA – Part 1

سلام الله عليكم ورحمته وبركاته تأتى هذه التدوينة لا لتأصل نظريا لمفهوم VBA ...