المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : من الحصاة إلى لغات البرمجة



محمد حمدي غانم
01/01/2010, 12:16 AM
من الحصاة إلى لغات البرمجة

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

(1)

من الحصاة إلى الحاسوب:
من الذي اخترع الحاسب الآلي؟
لا شك أن هذا السؤال راودك مرارا وأنت تفكّر في هذه الآلة المذهلة التي غيرت شكل حياتنا وستغير شكل مستقبلنا.
فمن يا ترى اخترع الحاسب الآلي؟
الحقيقة أن هذا السؤال ليس بالبساطة التي يبدو عليها، فبخلاف أن الحاسوب يتكون من أجزاء مختلفة يعتبر كل منها اختراعا في حد ذاته، فإن الحاسوب كذلك هو حصيلة الفكر البشري في مجالات وعلوم عديدة، كالرياضيات والمنطق والفيزياء، وبالتالي لا نعرف تحديدا من أين نبدأ قصة اختراعه!
هل ستقبل الرأي القائل بأن أول حاسب آلي هو جهاز العد الحجري abacus الذي اخترع في بابل قبل 3000 سنة من ميلاد السيد المسيح عليه السلام؟
أم ستقتنع برأيي أنا، لو قلت لك إن راعي ماشية في العصر الحجري قد يكون هو من اخترع الحاسوب ووضع فكرة أول برنامج؟
ستندهش حتما: كيف هذا؟
في يوم ما من التاريخ المجهول، اخترع رجل ما عاش على هذا الكوكب، طريقة بدائية لإحصاء ماشيته، ليعلم ما ضلّ منها أو أكله الوحش، وما زاد عليها بالميلاد أو الصيد.. كانت هذه الطريقة تتلخص في كيس يضع فيه حصاة مقابل كلّ ماشية يملكها، وبنهاية كل يوم يقارن الحصى بالماشية، فإن زاد الحصى عن الماشية كان هذا دليلا على نقصان الماشية، والعكس بالعكس.
وبهذا كان كيس الحصى أول جهاز للحساب، وكانت مقارنة الحصى بالماشية أول برنامج في التاريخ!
تحضرني هنا واقعة طريفة: يوما ما في عهد أديسون أواخر القرن التاسع عشر، اقترح أحد موظفي مكتب براءة الاختراعات إغلاق المكتب، لأنه من وجهة نظره لم يعد هناك ما يمكن اختراعه، مع كل ذلك الكم من الاختراعات الذي يرد إلى المكتب كل يوم!!
تخيل فقط لو أن البشرية اكتفت بكيس الحصى حلا لمشاكلها؟!
لا ريب أن مصر كانت ستحتاج إلى جيش من موظفي الإحصاء للاحتفاظ بـ 80 مليون حصاة، وإيقاف الشعب في طوابير يومية لإحصائه!
هل تشعر إذن مثلي بجمال علم الحساب، وعبقرية ذلك الرجل الذي اخترع الأرقام بديلا للحصى، ليقلّص حل المشكلة من كيس من الحصى يحمله المرء على ظهره، إلى مجرد عدد واحد لا وزن له يحمله المرء في رأسه؟!
لا ريب إذن أن الذي اخترع نظام العدّ هو الأب الحقيقي لاختراع الحاسوب!
ولكن.. ماذا عن اختراع الكتابة؟
ماذا عن ذلك العبقري الذي أراح ذهن الإنسان من حمل مئات أو آلاف الأعداد التي يمكن أن ينساها، وأعطاه الحل باختراع رموز مقابلة للأرقام ونقشها على الحجر؟
لكن ماذا عن العبقري الذي اختزل لوح الصخر إلى ورقة يطويها المرء ويحملها في جيبه؟
وماذا عن العباقرة الذين اخترعوا قواعد الحساب، ووضعوا أنظمة العد المختلفة؟
ماذا عن الصينيين الذين اخترعوا لوح الحساب الذي كان أساس النظام العشري، والهنود الذي نقلوه عنهم، والعرب الذين وضعوا الرمز الرياضي للصفر ليدل على الخانة الفارغة في لوح العد الصيني ؟
وماذا عن علماء المسلمين الذين طوروا الكيمياء والفيزياء ووضعوا قواعد الجبر والتفاضل والتكامل وغيرها من العلوم التي بني عليها الحاسب؟
هل تعرف أن طريقة التفكير البرمجية تُسمى خوارزمية Algorithm، نسبة إلى العالم الرياضي المسلم الشهر أبي بكر الخوارزمي؟
وماذا عن علماء الغرب الذين ساهموا في مسيرة العلم، في الرياضيات والكيمياء وخصائص المواد والكهرباء والإلكترونيات وعلوم الاتصالات؟
إذن فالحاسوب والبرمجة هما حصيلة مشوار الفكر البشري.. وها أنت الآن تُجري حساباتك على الحاسب، وتخزّن بياناتك على الوسائط المتعددة، وتقرأ الكتب على الشاشة، وتسمع القرآن، وتلعب الألعاب، وتشاهد الأفلام الحية والرسومية Graphics، وتخاطب أصدقاءك على الشبكة الدولية للمعلومات Internet في أقصى الأرض كأنهم بجانبك، لأن رجلا مجهولا في أعماق التاريخ أراد يوما ما حل مشكلة مستعصية بالنسبة له: كيف يعدّ ماشيته!

مراحل تطور الحاسب:
يمكن القول، بأن اختراع الحاسوب قد مرّ بسبعة مراحل رئيسية عبر التاريخ:
1- مرحلة تطوير أدوات العد والحساب اليدوية البدائية.. وقد صنع البابليون أول عدّاد من الطين قبل 3000 عام من ميلاد السيد المسيح عليه السلام.
2- مرحلة أدوات العدّ والحساب الميكانيكية، التي بدأت عندما بنى ويليام سكيكارد Wilhelm Schickard في جامعة هيدلبريج Heidelberg عام 1622 أول ساعة وحاسبة ذات أربع وظائف.
3- مرحلة الحاسب الآلي الميكانيكي الذي يعمل بالتروس، ويمكن برمجته عن طريق الكروت المثقوبة لأداء وظائف مختلفة لا وظيفة ثابتة فحسب.. وكان أول حاسب من هذا النوع هو الذي صممه تشارلز باباج Charles Babbage عام 1833.
4- مرحلة الآلات الحاسبة الكهربية، التي يمكن القول بأنها بدأت بعد أن اخترع اليوغسلافي نيكولا تيسلا Nikola Tesla الدوائر المنطقية الكهربية Electrical Logic Circuits عام 1903.
5- مرحلة الحاسب الآلي الكهربي الذي يعمل بالصمامات الثلاثية، وقد بدأت عام 1939 عندما صمم جون أتاناسوف John Atanasoff بمعاونة الطالب كليفورد بيري Clifford Berry أول حاسب آلي رقمي، وقد أطلق عليه اسم ABC.. هذه الحاسبات كانت ضخمة الحجم، حتى إن الواحد منها كان يحتل مبنى بأكمله، ولا يمكن مقارنة قدراتها البدائية بقدرات أصغر حاسوب كفي موجود اليوم!
6- مرحلة الحاسب الآلي الذي يعمل بالترانزستورات، وقد بدأت عام 1948 عندما قام ويليام برادفورد شوكلي William Bradford Shockley وجون باردين John Bardeen ووالتر براتين Walter Brattain باختراع الترانزستور Transistor ليكون بديلا للصمامات الثلاثية.. يمتاز الترانزستور بأنه أرخص تكلفة وأصغر حجما وأخف وزنا وأقل إشعاعا للحرارة وأقل استهلاكا للطاقة وأسرع أداء وأطول عمرا.
7- مرحلة الحاسب الآلي المبني بالدوائر المتكاملة Integrated Circuits (ICs)، التي بدأت عندما صنع جاك كيلبي أول دائرة متكاملة IC عام 1958 ليغير مسار تاريخ الإلكترونيات، حيث تم صنع آلاف الترانزستورات معا في شريحة واحدة، مما أدى إلى تقليل حجم الدائرة، وتقليل عدد نقاط التوصيل والأسلاك فيها، وتقليل استهلاكها للكهرباء، وتقليل الوقت الضائع في عملها، وبالتالي صارت أكثر سرعة وكفاءة وأرخص تكلفة.. وبهذا صرتَ ترتدي ساعة رقمية في معصمك، وتحمل هاتفا رقميا في جيبك، وتمسك حاسوبا كفيا في يدك!
بالمناسبة: هذه المقدمة ليست لمجرد الثرثرة، فهدفها الرئيسي لفت انتباهك إلى أهمية الأعداد ونظم العدّ في برمجة الحاسوب.. لا تقلق: ليس مطلوبا منك أن تدرس الرياضيات أو الهندسة قبل أن تكتب برامجك، لكني لا أنصح المبرمج بأن يكون كالكفيف السائر في مدينة يجهلها.. لا شكّ أنك ستشعر بالراحة والاقتناع أكثر لو أخذت فكرة سريعة عن نظام العدّ الثنائي، الذي يعتمد عليه الحاسوب ويؤثر في بعض المفاهيم البرمجية التي لا غنى للمبرمج عنها.. لهذا سنلقى نظرة سريعة ومبسطة على هذا النظام في الفصل السادس من هذا الكتاب بإذن الله.. صدقني: لن تجد فيه شيئا أكثر صعوبة مما درسته عن نظام العد العشري في المرحلة الابتدائية!
والآن قبل أن نترك موضعنا هذا، ما رأيك أن نأخذ فكرة سريعة عن أهم العلامات المضيئة في تاريخ اختراع الحاسوب؟

ابو داوود
01/01/2010, 03:00 PM
بارك الله فيك
شكرا جزيلا

محمد حمدي غانم
02/01/2010, 07:34 PM
شكرا لك أخي اليزيد.
تحياتي

(2)
تاريخ تطور الحاسب:


3000 ق. م:
اخترع البابليون عدادا Abacus من الطين.

1800 ق. م:
اخترع الرياضيون البابليون طرقا لحل المسائل الرقمية.

500 ق. م:
اخترع المصريون عدادا من الخرز والأسلاك.

200 م:
استخدام لوح سون بان للعد Saun-pan computing trayفي الصين، ولوح سوروبان للعد soroban computing tray في اليابان.

847 م:
ولد أبو بكر الخوارزمي الذي وضع أسس علم الجبر والمقابلة، وشرح نظام الأعداد والأرقام الهندية مع وضع رمز الصفر.
وقد جاء من بعده أحمد بن عبد الله المروزي البغدادي وشهرته ‏(‏حبش الحاسب‏)‏ أو‏ (‏حبش الكاتب الحاسب‏)، الذي أضاف إضافات كثيرة لأعمال الخوارزمي في الجبر،‏ وأوجد جذر معادلات الدرجة الثانية‏.

930 م:
ولد العالم المسلم البتاني، الذي وضع أساس علم المثلثات.

950 م:
ولد ابن يونس المصري، الذي ابتدع قوانين ومعادلات لها قيمة كبرى في اكتشافات اللوغاريتمات، واخترع رقاص الساعة (البندول) وسبق فيه (غاليلو)، كما أسهم في استقلالية علم حساب المثلثات عن الفلك، وأوجد جداول للظلال وظلال التمام.

965 م:
ولد الحسن ابن الهيثم، الذي أسس علم البصريات، ودرس ظواهر انكسار وانعكاس الضوء، كما درس تجاذب الأجسام وأشار إلى القانون الأول في الميكانيكا، وترك مؤلفات ضخمة في شتى المجالات، في الرياضيات والفلك والبصريات والطب والتشريح.

998 م:
ولد أبو الوفاء البوزجاني، الذي زاد على بحوث الخوارزمي في الجبر زيادات تعتبر أساسا لعلاقة الهندسة بالجبر وقد مهدت لعلماء أوروبا التقدم بالهندسة التحليلية التي قادت إلى التكامل والتفاضل وعليه قامت أكثر الاختراعات والاكتشافات العلمية.

1000 م:
اخترع جربرت من أوريلاك Gerbert of Aurillac (أو بوب سيلفستر الثاني Pope Sylvester II) جهازا للعد أكثر كفاءة.

1020 م:
ولد أبو بكر الكرخي، الذي اهتم بحساب الجذور ومربعات الأعداد ومكعباتها، واهتم بالمتواليات.

1037 م:
ولد ابن سينا، الذي ـ بالإضافة إلى إسهاماته الشهيرة في الطب ـ درس بحوث الزمان والمكان والحيز والقوة والفراغ والنهاية واللا نهاية والحرارة والإضاءة.

1096 م:
الحملة الصليبية الأولى على الشرق لنهب ثرواته.. وقد استمرت الحروب الصليبية حوالي قرنين من الزمان، حيث كانت سببا في نقل الغرب للكثير من حضارة العرب والمسلمين وعلومهم، مما كان عاملا مؤثرا في إنهاء العصور المظلمة وبداية عصر النهضة.

1121 م:
ولد عمر الخيام، الذي طور علم الجبر وأوصله إلى قمة عالية من الازدهار كانت أساسا لعلم التفاضل والتكامل، كما استطاع حل المعادلات من الدرجة الثالثة والرابعة بواسطة قطع المخروط.

1472 م:
اخترع جوتنبرج الطباعة، مما عمل على سرعة تناقل وتراكم العلوم.

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

1617 م:
استخدم المخترع الاسكتلندي جون نابير John Napier العظام، لإيضاح كيفية إجراء عملية القسمة عن طريق عملية الطرح، وكيفية إجراء عملية الضرب عن طريق عملية الجمع.. الجدير بالذكر أن الحاسوب اليوم يُجري عملية القسمة عن طريق الطرح، ويجري عملية الضرب عن طريق الجمع.

1622 م:
طور ويليام أوتريد William Oughtred قاعدة الانزلاق slide rule في انجلترا.

1624 م:
بنى ويليام سكيكارد Wilhelm Schickard في جامعة هيدلبريج Heidelberg أول ساعة وحاسبة ذات أربع وظائف.

1642 م:
بنى بليز باسكال Blaise Pascal في باريس أول آلة حاسبة ميكانيكية.

1670 م:
دخل الروس بلاد الأورال، وأحكموا السيطرة على مسلميها.

1673 م:
بنى جوتفريد ليبنيز Gottfried Leibniz آلة حاسبة ميكانيكية تقوم بعمليات الجمع والطرح والضرب والقسمة.

1780 م:
اكتشف العالم الأمريكي بنيامين فرانكلين Benjamin Franklin الكهرباء.

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

1805 م:
اخترع جوزيف جاكوارد Joseph Jacquard الكروت المثقوبة.

1822 م:
صمم تشارلز باباج Charles Babbage آلة لحساب اللوغاريتمات، لكن الآلة لم يتم بناؤها قَطّ.

1827 م:
تدخلت الجيوش الأوروبية لتدمير الأسطول المصري في موقعة نافارين، وبهذا تم إجهاض مشروع النهضة الذي بدأه محمد علي في مصر!

1830 م:
زحفت الجيوش الفرنسية لاحتلال الجزائر ونهب ثرواتها.

1833 م:
صمم تشارلز باباج Charles Babbage آلة تحليلية
Analytical Machine وكانت تلك الآلة ميكانيكية تعمل بالتروس، وتتبع التعليمات المطلوبة منها عن طريق الكروت المثقوبة punched-cards.. وتعتبر هذه الآلة أول جهاز حاسب عام الغرض (غير مصمم لوظيفة واحدة محددة).

1851 م:
احتلت بريطانيا نيجيريا.

1854 م:
نشر الأيرلندي جورج بول George Boole التحليل الرياضي للمنطق The Mathematical Analysis of Logic مستخدما في ذلك نظام العدّ الثنائي Binary system.. وقد عرف هذا العلم باسم الجبر الثنائي أو جبر بول Boolean Algebra ويعتمد تصميم الحاسب الحديث وتصميم لغات البرمجة على هذا العلم، حتى إن اسم هذا الرجل صار مقترنا بالعمليات المنطقية، فسمى المتغير المنطقي في لغة سي باسمه (bool) ونسبة المتغير المنطقي في لغة فيجيوال بيزيك إلى اسمه (Boolean).

1855 م:
بنى جورج وإيدفارد سكوتز من ستكهولم أول حاسب ميكانيكي عملي، بناء على أعمال باباج Babbages.

1857:
استتب الأمر للاحتلال الفرنسي في الجزائر، وقضت بريطانيا على الإمارة المنغولية في الهند.

1859 م:
احتلت روسيا طشقند.

1864 م:
احتلت روسيا القوقاز.

1876 م:
اخترع ألكسندر جراهام بيل Alexander Graham Bell الهاتف.

1884 م:
تقدم هيرمان هوليريث لنيل براءة الاختراع عن آلة جدولة آلية تستخدم الكروت المثقبة Punch-card Tabulating Machine، وحصل على براءة الاختراع عام 1889.

1886 م:
طوّر ويليام بوروز William Burroughs أول آلة جمع ميكانيكية تجارية ناجحة.

1881 م:
ألحقت فرنسا الجزائر بها، وأعلنت وضع تونس تحت الحماية الفرنسية بموجب ميثاق باردو.

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

1884 م:
احتلت روسيا بلاد التركستان.

1887 م:
احتلت إيطاليا الصومال وأريتريا.

1890 م:
بنى د. هيرمان هوليريث Herman Hollerith آلة كهروميكانيكية Electromechanical تستخدم الكروت المثقوبة لاستخدامها في الإحصاء الأمريكي.

1896 م:
أنشأ هوليريث شركة جدولة وأنشأ آلة ترتيب Sorting machine.

1897 م:
المؤتمر الصهيوني بقيادة تيودور هرتزل.

1898 م:
احتلت بريطانيا السودان.

1903 م:
اخترع اليوغسلافي نيكولا تيسلا Nikola Tesla ـ الذي كان يعمل مع توماس أديسون ـ الدوائر المنطقية الكهربية electrical logic circuits المسماة بالبوابات gates أو المفاتيح switches.. هذه الدوائر هي الأساس المنطقي لصناعة الحاسب الحديث.

1912 م:
احتلت فرنسا المغرب.

1914:
احتلت إيطاليا ليبيا.

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

1919 م:
احتلت إنجلترا العراق.

1920 م:
احتلت إنجلترا الأردن، واحتلت فرنسا سوريا.

1925 م:
بنى فنيفار بوش Vannevar Bush آلة حاسبة ومحلّلا تفاضليا.

1927 م:
أول عرض عام للتلفاز، وتشغيل خطوط المذياع والهاتف بين لندن ونيويورك.

1928 م:
اخترع المهاجر الروسي فلاديمير زوريكين أنبوبة أشعة المهبط
Cathode Ray Tube (CRT) المستخدمة في صنع الشاشات.

1931 م:
بنى كونراد زيوس Konrad Zuse أول آلة حاسبة من طراز Z1.

1933 م:
بنى دودلي Dudley أول آلة ناطقة الكترونية وأسماها Voder.

1937 م:
بنى جورج ستيبيتيز George Stibitz في معامل بيل للهاتف، أول آلة حاسبة ثنائية binary calculator.

1939 م:
صمم جون أتاناسوف John Atanasoff بمعاونة الطالب كليفورد بيري Clifford Berry أول حاسب آلي رقمي، وقد أُطلق عليه اسميهما Atanasoff-Berry Computer أو اختصارا ABC.

1940 م:
- بنى جورج ستيبيتيز George Stibitz في معامل بيل للهاتف، آلة حاسبة للتعامل مع الأعداد المركبة Complex Numbers.
- أول بث تلفزيوني ملون.
- معامل بيل تنشئ أول وصلة طرفية Terminal للمعالجة الحاسوبية عن بعد Remote processing.

1941 م:
- صمم آلان تيوننج Alan Turing حاسوبا عملاقا وقام ببنائه م. هـ. أ. نيومان M.H.A. Neuman في جامعة مانشيستر بإنجلترا.. لاحظ أن أول حواسيب تم اختراعها لم تكن تستخدم الشاشة كوحدة إخراج.. بدلا من ذلك كانت النتائج تظهر في صورة إشارات ضوئية، أو يتم طباعتها على الورق.
- بنى كونراد زيوس أول آلة حاسبة ذات تحكم آلي في عملياتها، وأطلق عليها Z3.

1945 م:
قدم جون فون نيومان ورقة علمية تشرح مفهوم البرامج المخزنة.

1946 م:
- في جامعة بنسلفانيا، تم بناء الحاسوب العملاق إنياك ENIAC، وكان يحتوي على 18 ألف صمام ثلاثي vacuum tube ويزن 80 طنا، وأقيم على مساحة 8 أقدام × 100 قدم، وكان قادرا على إجراء 5000 عملية جمع و360 عملية ضرب في الثانية الواحدة.
- شرع إيكرت Eckert وموتشلي Mauchly في بناء الحاسوب باينك Binac.. وقد أنهياه عام 1949.

1948 م:
- طوّر موريس ويلكس Maurice Wilkes في جامعة كمبريج آلة حاسبة تدعى EDSAC.
- قدّمت IBM آلة حاسبة إلكترونية من طراز 604، وبنت حاسبا يحتوي على 12 ألف صمام ثلاثي سمّته SSEC.
- لكن الحدث الأهم في تلك السنة، والذي غير تاريخ العلم، هو قيام ويليام برادفورد شوكلي William Bradford Shockley وجون باردين John Bardeen ووالتر براتين Walter Brattain باختراع الترانزستور Transistor.
- أما الحدث الأهم في تاريخ المنطقة العربية، فهو قيام إنجلترا وأمريكا باختراع دولة إسرائيل، لتضمنا بذلك تخلفنا واستنزاف مواردنا لقرنين من الزمان على الأقل، بالحروب المدمرة وسباق التسلح!

1949 م:
- ظهر الحاسوب EDVAC، أول حاسوب يستخدم الأقراص المغناطيسية Magnetic disks.
- استخدم جاي فورستر الأقراص الممغنطة في صناعة الذاكرة.
- بنى كلود شانون أول آلة تلعب الشطرنج.. هذا العالم الرياضي
هو الذي وضع النظرية الحديثة للمعلومات
modern information theory أثناء عمله في معامل بيل.. وقد توفي في 24 فبراير عام 2001 عن عمر يناهز 85 عاما.

1951 م:
- طرح موريس ويلكس Maurice Wilkes مفهوم برمجة الأجهزة الدقيقة microprogramming.
- تشغيل الحاسوب Whirlwind الذي صممه جاي فورستر وكين أوسلين، وهو يعتبر أول حاسوب آني real-time computer.

1952 م:
- قدمت IBM الحاسوب 701، أول حاسوب يخزن البرامج الكترونيا.
- طوّرت شركة RCA الحاسوب بيزماك Bizmac، أول حاسوب بذاكرة ممغنطة ويتعامل مع قواعد البيانات.

1953 م:
- مؤسسة بوروز Burroughs تشغل الحاسوب الإلكتروني الرقمي العالمي Universal Digital Electronic Computer أو اختصارا UDEC، في جامعة ولاية واين.
- طورت شركة ريمنجتون – راند Remington-Rand أول طابعة عالية السرعة لحاسوب Univac.
- طورت أي بي إم الحاسوب 726، أول حاسوب بعمل بالأشرطة الممغنطة، بكثافة 100 حرف لكل بوصة وسرعة قراءة 100 بوصة في الثانية.

1956 م:
- طور د. ت. روس D.T. Ross الأداة آلية البرمجة
Automatic Programmed Tool أو اختصارا APT.
- أول منتج للاختراع الإنجليزي الأمريكي (إسرائيل): العدوان الثلاثي على مصر نتيجة تأميم قناة السويس!

1958 م:
- طوّر ر. م. كيلبرن R.M. Kilburn في جامعة مانشيستر أول آلة ذاكرة افتراضية virtual memory machine، وتم تصنيعها في شركة Feranti وأطلق عليها اسم أطلس Atlas.
- الشركة اليابانية NEC تبني أول حاسب الكتروني من طراز
NEC-1101.
- سيمور جراي يبني أول حاسوب فائق supercomputer يعتمد على الترانزستور، وقد سمي CDC 1604.
- صنع جاك كيلبي أول دائرة متكاملة Integrated Circuit ليغير مسار تاريخ الإلكترونيات!

1959 م:
شركة أي بي إم تطرح في الأسواق الحاسوب 1620 أول حاسوب مصنوع بالترانزيستور (الجيل الثاني من الحواسب).

1960 م:
- طور بنيامين كورلي في مؤسسة DEC الحاسب PDP-1، أول حاسوب دقيق minicomputer.
- شركة Control Data تبيع الحاسب العلمي الضخم CDC 1604.
- ظهور أقراص التخزين Removable disks لأول مرة.

1964 م:
- طورت أي بي إم الحاسب 360، أول عائلة من الحواسب المتوافقة compatible computers المبنية بالدوائر المتكاملة
Integrated Circuit (الجيل الثالث من الحواسب).. كانت الحواسب قبل عائلة الحواسب 360 تنقسم إلى قسمين: حواسب خاصة بالتطبيقات الرياضية العلمية، وحواسب خاصة بالمعاملات التجارية في البنوك والشركات، وكانت برامج كل نوع منهما لا تعمل على الأخرى، بل ولا تعمل على الإصدارات الأحدث من نفس النوع!.. هنا جاءت عائلة الحواسب 360 لتكون قادرة على التعامل مع التطبيقات الرياضية والتجارية معا، وتكون إصداراتها الأحدث متوافقة فيما بينها، بحيث تكون قادرة على تشغيل البرامج القديمة.. لاحظ أن استخدام الدوائر المتكاملة بدلا من استخدام الترانزستورات المنفردة هو ما جعل هذا ممكنا، بسبب صغر حجم الحاسب الجديد وقلة تكلفته، رغم زيادة عدد الترانزستورات المستخدمة به (المصنوعة معا كوحدة واحدة داخل الدوائر المتكاملة).
- صمم سيمور جراي Seymour Cray الحاسب CDC 6000 الذي يستخدم المعالجة الرقمية المتوازية parallel processing.

1965 م:
ريتشارد ويكسلبلات Richard Wexelblat يحصل على أول دكتوراه في علوم الحاسب من جامعة بنسلفانيا.

1966 م:
طرحت شركة Texas Instruments أول آلة حاسبة كفية hand-held جيدة الأداء.

1967 م:
- طور بوبيك Bobeck في معامل بيل الذاكرة نوعا من أنواع الذاكرة يسمى bubble memory.
- عدوان إسرائيل على الدول العربية وهزيمة العرب في 1967، التي ترتب عليها ضياع القدس وأجزاء كبيرة من باقي دول الجوار، وانهيار التنمية في البلدان العربية نتيجة استنزاف مواردها في إعادة التسلح.

1971 م:
- ظهور الأقراص المرنة Floppy disks.
- أعلنت شركة إنتل Intel عن إنتاجها لأول مشغل دقيق microprocessor وأطلقت عليه اسم Intel 4004، وقد طوّره فريق بقيادة مارشين هوف Marcian Hoff.
- بنى جون بلانكينبيكر John Blankenbaker أول حاسب شخصي personal computer وأسماه Kenbak I.

1972 م:
طورت إنتل المشغل الدقيق 8008.

1973 م:
انتصار مصر وسوريا على إسرائيل.

1974 م:
طورت إنتل المشغل الدقيق 8080، الذي دخل في صناعة العديد من أنواع الحاسب.

1975 م:
طور إيد روبرتس Ed Roberts وبيل ياتس Bill Yates لشركة MITS الحاسب الشخصي ألتير Altair الذي سمّى على اسم إحدى حلقات مسلسل الخيال العلمي رحلة النجوم Star Trek بعنوان"رحلة إلى ألتير "A Voyage to Altair.. وكان هذا الحاسب يباع بـ 379 دولارا، وكانت مساحة ذاكرته 256 بايت (!!)، وكانت وحدة الإدخال والإخراج فيه عبارة عن بعض الأزرار واللمبات!.. وكان هذا الحاسب بداية تاريخ الحواسب الشخصية، ومن أجله طور بيل جيتس Bill Gates وبول آلان Paul Allen نسخة من لغة البيزيك BASIC وكان ذلك بداية إنشائهما لشركة ميكروسوفت Microsoft.

1976 م:
طورت شركة NEC أجهزة الحاسب الكبيرة Mainframes من طراز 800 و 900.

1977 م:
- شركة آبيل تطرح حاسبها الشخصي من طراز Apple II.
- شركة DEC تطرح أول حاسب دقيق فائق Super Minicomputer من طراز VAX-11/780، الذي يتعامل مع البيانات بمسارات تتكون من 32 خانة 32-bit.
- طورت شركة Datapoint نظام أرس ARC، الذي يعدّ أول شبكة حاسب محلية Local Area Network (LAN).

1978 م:
- طرحت شركة Texas Instruments لعبة تعليمية للكلام وهجاء الحروف.
- في هذا العام تجاوز عدد وحدات الحاسب المستخدمة في الولايات المتحدة نصف مليون وحدة!

1980:
اندلعت الحرب العراقية الإيرانية لاستنزاف موارد كل دول الخليج البترولية ـ بما فيها إيران ـ لمدة 8 سنوات متتالية، مما منع الاستفادة من الثروات الهائلة لهذه الدول في أية نهضة حقيقية.. المدهش في الأمر أن كل الأطراف العربية والغربية كانت تعمل على إطالة زمن الحرب.. الدول الغربية لمكاسبها الاقتصادية والعسكرية في الخليج، والدول العربية لخوفها من هيمنة المنتصر في هذه الحرب على المنطقة!.. وقد كشفت فضيحة كونتراجيت عن تورط أمريكا في بيع الأسلحة لإيران في الوقت الذي كانت فيه تدعم العراق سياسيا وعسكريا!!.. وبعد توقف الحرب بعشرين يومًا فرضت أمريكا عقوبات على العراق، وامتنعت عن استيراد النفط العراقي!!.. وقد وقدرت خسائر هذه الحرب بحوالي 500 مليار دولار، منها 280 مليار دولار خسائر إيران و220 مليار دولار خسائر العراق، إضافة إلى 450 ألف قتيل وأضعافهم من الجرحى والمعوقين، وخسائر في المنشآت النفطية والاقتصادية تقدر بـ 500 مليار دولار للبلدين، أي أن التكلفة الإجمالية لهذه الحرب تقدر بتريلون دولار أي 1000 مليار دولار، ، وهو ما كان كافيا لشراء جهاز حاسب لكل إنسان في العالم الإسلامي وليس العربي فحسب!!.. هذا لو لم تتخيل ماذا كان سيحدث لو أنفقت هذه النقود على البحث العلمي، أو حتى وجهت هذه الأسلحة للقضاء على السرطان المسمى إسرائيل بدلا من توجيهها ليقتل المسلمون بعضهم بعضا!!

1981 م:
- طرحت شركة كومودور Commodore الحاسب المنزلي VIC-20، الذي بيع منه أكثر من مليون وحدة!
- طرحت شركة أوسبورن Osborne أول حاسب نقال
portable computer.
- إسرائيل تقصف المفاعل النووي العراقي بالطائرات.

1982 م:
- طرحت شركة كومباك Compaq حاسبها الأول، وحققت مبيعاته في عامه الأول 111 مليون دولار، وهو أكبر رقم مبيعات للعام الأول في تاريخ أمريكا، وقد وصلت مبيعاته في خمس سنوات إلى مليار دولار!
- الاجتياح الإسرائيلي للبنان، ومذبحة صابرا وشاتيلا.

1983:
اندلاع الحرب الأهلية السودانية بسبب تشجيع وتمويل الغرب لحركات التمرد في الجنوب، مما عمل على استنزاف موارد السودان الاقتصادية وثرواته الزراعية والحيوانية الهائلة عبر أكثر من 20 عاما، قتل فيها أكثر من 2 مليون شخص، بخلاف تشريد الملايين.. ونحن في انتظار استفتاء حق تقرير المصير للجنوب السوداني، الذي ينذر بانفصال الجنوب، والاضطرابات الحالية في دارفور تنذر بأن السودان قد تتمزق شر ممزق!

1984 م:
- تجاوز عدد الحاسبات المستخدمة في الولايات المتحدة 10 مليون حاسوب.
- طرحت شركة آبل حاسبها من طراز ماكنتوش Macintosh.

1986 م:
قصفت الطائرات الأمريكية مدينتي طرابلس وبنغازي مما أدى إلى مقتل العديد من المدنيين.

1987 م:
- تجاوز عدد الحاسبات المستخدمة في الولايات المتحدة 30 مليون حاسوبا.
- طرحت شركة أي بي إم الحاسب PS/2 وباعت منه بنهاية العام أكثر من مليون وحدة.
- قدمت شركة Texas Instruments أول مشغل دقيق microprocessor من إنتاجها وأسمته AI.

1988 م:
- طورت أي بي إم حاسوبا ضخما mainframe أسمته MVS/ESA.
- أعلنت شركة موتورولا Motorola عن إنتاجها للمشغل الدقيق 88000.
- أعلنت شركات Apollo و Ardent و Stellar عن إنتاجها حاسبات فائقة supercomputers لتشغيل تطبيقات الرسوم المجسمة ثلاثية البعد.
- طورت أي بي إم الحاسوب Next الذي كان أول حاسوب يستخدم أقراصا ضوئية قابلة للمسح كوحدة تخزين رئيسية.
- انتشرت دودة (فيروس) عبر شبكة المعلومات الدولية Internet وأصابت آلاف الأجهزة ببعض الأضرار الخفيفة.
- أجبرت أمريكا العالم على فرض الحصار الاقتصادي على ليبيا بسبب قضية لوكربي (1988).

1989 م:
- تجاوز عدد وحدات الحاسب في العالم 100 مليون وحدة، نصفها في الولايات المتحدة الأمريكية وحدها.
- أعلنت إنتل عن المشغل الدقيق 80486 والشريحة
I860 RISC/coprocessor.. كلتا الشريحتين احتوتا على أكثر من مليون ترانزيستور.
- طرحت أبيل حاسب ماكنتوش النقال portable Macintosh.
- طرحت شركة جريد Grid الحاسب النقال GridPad، المزود بلوحة حساسة للمس تتعرف على خط اليد.
- أعلنت شركة بوكيت Poqet عن أول حاسب بحجم الجيب متوافق مع نظام تشغيل ميكروسوفت دوس.
- طرحت شركة Compaq مفكرة الكترونية notebook من طراز LTE و LTE/286 التي كانت بمثابة حاسب متكامل الوظائف يعمل بالبطارية، ويحتوي على قرص صلب Hard disk وقرص مرن Floppy disk.

1990 م:
- طرحت موتورولا Motorola المشغل الدقيق 68040.
- طرحت إنتل حاسوبا فائقا supercomputer يستخدم أكثر من 500 مشغل دقيق من طراز 860 RISC على التوازي.
- انطلاق أول مزود خدمة إنترنت عالمية تجارية بنظام الاتصال عبر الهاتف dialup.
- طرحت إنتل المشغل الدقيق 80386SL الذي يمتاز بأنه أقل استهلاكا للطاقة، لهذا تم استخدامه في العديد من الحواسب النقالة.
- أنتجت شركة كرياتيف كارت الصوت SoundBlaster Pro.
- دخول الجيش العراقي الكويت، لتستغل أمريكا ذلك لحشد العالم ضدّ العراق وضربه وتدميره وقبض فاتورة ذلك من دول الخليج لإعاقة نموها الاقتصادي!!.. وقد ارتكبت أمريكا الكثير من جرائم الحرب ضد الجنود العراقيين المنسحبين بعد إعلان وقف إطلاق النار، واستخدمت أسلحة تحتوي على مخلفات مشعة تسببت في تلويث جنوب العراق وتشويه أطفاله، وفرضت عليه حصارا جائرا طويلا تسبب في مقتل حوالي مليون طفل من أطفاله.

1991 م:
- أطلقت شركة Advanced Micro Devices أو اختصارا (AMD) المشغل الدقيق AMD 386 ليتنافس مع مشغل إنتل 386.
- أطلقت شركة ويفتريسر Wavetracer الحاسب الضخم Zephyr الذي يحتوي على 8192 مشغلا دقيقا تعمل على التوازي.
- أطلقت شركة كرياتيف حزمة برمجية تتضمن كارت الصوت SoundBlaster Pro مع محرّك أقراص ضوئية CD Drive والبرامج اللازمة لتشغيلهما.
- ظهور محركات الأشرطة DLT لقراءة وحفظ البيانات على الأشرطة بسرعة عالية.
- طورت شركات إنتل Intel و زيركوم Xircom وزينيث Zenith مَنفَذ البيانات المتوازي المحسّن Enhanced Parallel Port أو اختصارا EPP.

1992 م:
- طرحت شركة هيوليت-باكارد Hewlett-Packard طابعة الليزر LaserJet 4، بدقة طباعة 600×600 نقطة لكل بوصة.
- أطلقت راديو شاك Radio Shack حواسبها الشخصية من طراز M2500 XL/2 و M4020 SX التي تدعم استخدام الوسائط المتعددة.
- طرحت بالأسواق بطاريات Alkaline القابلة لإعادة الشحن.

1993 م:
- أطلقت موتورولا مشغلها الدقيق PowerPC، الذي استخدمته أي بي إم في بناء وحدات الحاسبات الكبيرة workstations.
- أطلقت إنتل الجيل الجديد من المشغلات الدقيقة المسماة بنتيام Pentium، وكانت سرعته 60 ميجا هرتز ويحتوي على 3.2 مليون ترانزستور، وكان يباع بـ 878 دولارا.

1994 م:
- طرحت شركة أيوميجا Iomega القرص المضغوطة Zip Disk، الذي كان بحجم القرص المرن، لكنه قادرا على تخزين 100 ميجا بايت.. وقد تطور القرص المضغوط بمرور الزمن لتصل سعته إلى 2 جيجيا بايت.
- تطوير طابعات PHP.

1995 م:
تم إطلاق برنامج Vocaltec، للسماح للمستخدمين بإجراء المكالمات الهاتفية عبر شبكة المعلومات الدولية Internet.

1996 م:
- أطلقت شركة إنتل المشغل الدقيق بنتيام 2، الذي وصلت سرعته إلى 200 ميجا هرتز.
- تجاوز عدد رسائل البريد الإلكتروني e-mail عدد الرسائل اليدوية المرسلة عبر مكاتب البريد في الولايات المتحدة!
- استطاع حاسوب شركة أي بي إم المسمى Deep Blue هزيمة بطل العالم في الشطرنج جاري كاسبروف Garry Kasparov في مبارتي شطرنج!
- أطلقت شركة سوني الحاسب الشخصي VAIO.
- أطلقت شركة كرياتيف Creative كارت الشاشة 3D Blaster.
- انطلقت شبكة المعلومات التلفزيونيةWebTV ، لتسمح للمستخدمين بتصفح مواقع شبكة المعلومات الدولية Internet عن طريق التلفاز.. لاحظ أن الولايات المتحدة تمتلك شبكات تلفزيونية غير لاسلكية (متصلة بالكابلات).
- أطلقت ميكروسوفت الفأرة ذات العجلة wheel mouse من طراز IntelliMouse.

1997 م:
- أطلقت إنتل الشريحة MMX لتحسين القدرات الرسومية.
- استطاع حاسوب شركة أي بي إم المسمى Deep Blue هزيمة بطل العالم في الشطرنج جاري كاسبروف Garry Kasparov للمرة الثانية في جولة شطرنج تتكون من 6 مباريات!
- انتشرت مقطوعة الطفل الراقص على شبكة المعلومات الدولية Internet انتشارا كاسحا، وهي عبارة عن لقطة قصيرة لرسم متحرك ثلاثي الأبعاد لطفل يرتدي حفاظة ويرقص.. هذه اللقطة كانت من تصميم ميشال جيرارد Michael Girard ثم تم تطويرها بواسطة رون لوسير Ron Lussier.
- بدء بيع أقراص الفيديو الرقمية، التي عرفت اختصارا باسم ديفيدي DVD.
- صار بيل جيتس مالك ميكروسوفت أغنى رجل أعمال في العالم.
- تم تسجيل 100 مليون زيارة لموقع وكالة الفضاء الأمريكية ناسا NASA المخصص لبث صور حية للمريخ من سفينة الفضاء "الباحث عن الطريق" Pathfinder.
- أطلقت انتل مشغلا دقيقا من عائلة بانتيوم 2 بسرعة 233 ميجا هرتز.
- إطلاق المبادئ الأساسية للشبكات اللاسلكية.
- تصميم المنفذ المتقدم للرسوم Advanced Graphics Port أو اختصارا AGP لدعم كروت الفيديو.

1998 م:
- أطلقت إنتل مشغل السيليرون Celeron processor.
- أطلقت شركة Saehan في اليابان أول مشغل صوتيات MP3 من طراز MPMan.
- أمر الرئيس الأمريكي كلينتون بضرب بعض مصانع الأدوية السودانية بالصواريخ، بحجة تصنيعها لأسلحة كيميائية.

1999 م:
- أطلقت إنتل مشغل بانتيوم 3، وكانت سرعته 500 ميجا هرتز.

2001 م:
- بدأت شركات الطيران تطبق بعض الوسائل لتقديم خدمة شبكة المعلومات الدولية Internet للمسافرين أثناء الطيران!
- الاحتلال الأمريكي لأفغانستان.

2002 م:
حوالي مليار جهاز حاسب تم بيعها في العالم منذ السبعينات.

2003 م:
توّجت أمريكا جرائمها ضد العراق باحتلاله تحت ذرائع وهمية، لتقتل في العام الأول من الاحتلال ما لا يقلّ عن 100 ألف عراقيّ، بخلاف عشرات الآلاف من المصابين والمعتقلين، وبخلاف تدنيس البيوت والاعتداء على النساء!.. وقد تجاوز عدد ألقتلي في ست سنوات أكثر من 1.5 مليون عراقي، إضافة إلى تشريد خمسة ملايين عراقي!
وبهذا ضمنت أمريكا تخلف العراق والدول المحيطة به لقرنين من الزمان على الأقل، بسبب تأجيج القلاقل بين السنة والشيعة والعرب والأكراد، مما سيوقف عجلة التنمية في كل البلاد المحيطة ويستنزف مواردها في سباق التسلح.. هذا بخلاف سرقة أمريكا لنفط العراق لمواصلة تطورها الحضاري الرائع!

2006 م:
طوّرت إنتل مشغلاتها الدقيقة الجديدة من طراز Core Duo.

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

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

محمد حمدي غانم
08/01/2010, 07:42 PM
(3)
أنظمة التشغيل.. من البطاقات المثقبة إلى الويندوز:
لم يكن أول حاسوب رقمي ميكانيكي تم اختراعه عام 1833 على يد العالم الإنجليزي تشارلز باباج Charles Babbage في حاجة إلى نظام تشغيل، رغم أنه كان يتعامل مع برامج مختلفة.. ولم يظهر الجد الأعلى لنظم التشغيل إلا في خمسينات القرن العشرين.. في تلك الفترة كانت البرامج تُكتب على كروت مثقوبة ويتم إدخالها إلى الحاسب لتشغيلها، ثم تطبع النتائج على الأوراق.. وكانت عمليتي قراءة الكروت وطباعة النتائج تضيعان الكثير من الوقت، خصوصا مع البطء الشديد للحواسب في تلك الأيام، لهذا تم التفكير في نقل هاتين المهمتين إلى حاسب فرعي خاص يسمى حاسب التجميع
Batch Computer، حيث يقوم بتحميل عدد من البرامج معا على شريط ممغنط.. بعد هذا يقرأ الحاسوب الأصلي الشريط ويقوم بتحميل البرامج منه لتشغيلها على التتابع.. ولكي يتم هذا، كان لا بد من تشغيل برنامج خاص لقراءة هذه البرامج وتنفيذها.. هذا البرنامج هو الجد الأكبر لنظم التشغيل الحالية.. وبعد أن ينتهي عمل كل برنامج، يقوم برنامج التشغيل بتسجيل النتائج على شريط ممغنط، ثم يشغّل البرنامج التالي.. وبعد أن ينتهي تشغيل كل البرامج وتسجيل كل نتائجها على الشريط الممغنط الخاص بالمخرجات، يقوم العامل المختص بنقل شريط المخرجات يدويا إلى حاسب التجميع ليقوم بطباعة النتائج على الأوراق، في الوقت الذي يمكن فيه تشغيل شريط ممغنط آخر في الحاسب الأصلي.
كانت هذه إذن بداية الحاجة إلى برنامج يتحكم في عمل الحاسب وأجزائه، ويمكن من خلاله تشغيل البرامج الأخرى.. هذا البرنامج يعرف اليوم باسم نظام التشغيل Operating System.
في تلك الأثناء كانت الحاسبات الضخمة تُستخدم في العمليات الرياضية، وكانت البرامج تكتب لهذه الحواسب بلغة التجميع Assembly أو الفورتران FORTRAN.. وكانت هذه البرامج تعمل بواسطة نظم تشغيل مثل "نظام مراقبة الفورتران" Fortran Monitor System أو اختصارا FMS، أو نظام تشغيل أجهزة أي بي إم من طراز 7094 المعروف باسم IBSYS.

نظام التشغيل OS/360:
مع إطلاق شركة أي بي إم للجيل الثالث من الحواسب (المصنوعة بالدوائر المتكاملة)، بظهور عائلة الحاسب 360، طورت الشركة نظام التشغيل OS/360 ليكون قادرا على التعامل مع جميع أنواع حواسب هذه العائلة، الصغير منها والضخم، العلمي منها والتجاري، متعدد أطراف الإدخال والإخراج منها وما له طرف واحد.
ولكن نظرا لكل المتطلبات المطلوبة من نظام التشغيل OS/360، فقد جاء معقدا للغاية، ومكونا من ملايين السطور بلغة التجميع Assembly كتبها مئات المبرمجين.. ونتيجة لهذا كان نظام التشغيل يحتوي على آلاف وآلاف من الأخطاء، التي كان إصلاح خطأ منها يؤدي إلى مزيد من الأخطاء الجديدة في متاهة لا تنتهي، حتى إنّ فريد بروكس Fred Brooks أحد مصممي نظام التشغيل OS/360 كتب فيما بعد كتابا ساخرا يحكي فيه مأساة المبرمجين مع هذا النظام، وكانت على غلاف الكتاب صورة تمثل مجموعة من حيوانات ما قبل التاريخ عالقة في مستنقع من الوحل، كأبلغ تعبير عن تلك المعاناة!
لكن، وعلى الرغم من تلك العيوب، فقد حقّق نظام التشغيل OS/360 متطلبات معظم المستخدمين، خاصة مع امتلاكه ـ لأول مرة ـ القدرة على تشغيل أكثر من برنامج في نفس الوقت، فيما عرف باسم تعدد البرامج Multiprogramming، فقد كانت أنظمة التشغيل السابقة تعطّل الحاسوب عن العمل أثناء انتظارها لاكتمال قراءة البيانات من أحد الأشرطة، أو أثناء طباعة المخرجات، وهو ما كان يضيع 80% أو 90% من وقت الحاسوب بلا فائدة!!
لهذا كان الحل الذي قدمته عائلة الحاسب 360 ونظام التشغيل OS/360، هو تقسيم الذاكرة إلى عدة أجزاء، حتى يمكن تحميل عدد من البرامج معا، كل برنامج بجزء مستقل من الذاكرة.. وبينما ينتظر أحد البرامج انتهاء قراءة المدخلات أو كتابة المخرجات، يمكن أن ينفذ الحاسب برنامجا آخر في ذلك الوقت، وبذلك لا يكون هناك وقت مهدر.
الجدير بالذكر أن هذه الطريقة أنهت الحاجة إلى حاسب التجميع
Batch Computer، فقد صارت مهمته مجرد مهمة فرعية من مهام الحاسب 360 بفضل نظام التشغيل الذكي.. فما إن ينتهِ تنفيذ أحد البرامج، حتى يقوم نظام التشغيل بإزالته من جزء الذاكرة الذي يحتله، ثم يقوم بقراءة برنامج جديد من على الأقراص أو الشرائط، لتحميله في المساحة الخالية من الذاكرة.. وقد عُرفت هذه التقنية باسم "العمليات الطرفية اللحظية الخطية"
Simultaneous Peripheral Operation On Line أو اختصارا "العمليات الطرفية" Spool.
لكن رغم هذه الميزات، إلا أن أنظمة تشغيل الجيل الثالث من الحواسب لم تكن مفيدة للمبرمجين بقدر ما كانت مفيدة في التطبيقات العلمية والتجارية.. فقد كان على المبرمج أن ينتظر عدة ساعات لتتم ترجمة وتشغيل الكود الذي كتبه، وبالتالي لو أخطأ في حرف واحد فقط في برنامجه، فلن يعمل بصورة صحيحة عند تشغيله، وسيضيّع المبرمج نصف اليوم لتصحيح الخطأ وإعادة تشغيل البرنامج!.. هذا الوقت المهدر لن يكون من عمر المبرمج فحسب، بل كذلك من وقت الحاسب الذي يستخدمه.. تذكر أن الحواسب الشخصية لم تكن قد ظهرت بعد، وأن هذه الحاسبات الضخمة كانت ملكا للجامعات والشركات الكبرى، وتتكلف مئات الآلاف من الدولارات!
ولحل هذه المشكلة، تم ابتكار نظام مشاركة الوقت، حيث يكون لكل حاسب نهايات طرفية عديدة Peripherals لإدخال البيانات وإخراج النتائج، مما يسمح لأكثر من مستخدم أن يعملوا على نفس الحاسب في نفس الوقت.. وطبعا لم يكن هذا ممكنا إلا في وجود تقنية تعدد البرامج Multiprogramming.. لاحظ أننا نستخدم تقنية شبيهة اليوم عبر شبكة المعلومات الدولية Internet، فخوادم شبكة المعلومات الدولية Internet Servers تقدم الخدمة لعشرات المستخدمين في نفس اللحظة.. إلا أن النهايات الطرفية في هذه الحالة ليست مجرد لوحة مفاتيح أو طابعة، بل هي أجهزة الحاسب الخاصة بالعملاء، المتصلة بالخادم عن طريق شبكة المعلومات الدولية Internet.
يتبع,,,

محمد حمدي غانم
14/03/2010, 02:59 AM
(4)
نظام التشغيل يونيكس UNIX:
كان مالتيكس MULTICS أضخم حاسب يدعم خاصية مشاركة الوقت، حيث يمكنه خدمة مئات المستخدمين في نفس اللحظة.. ولم يكن إنتاج هذا الحاسب العملاق في الستينات سهلا، ولم يُبع منه أكثر من 80 جهازا، لكنه كان من القوّة بحيث لم تقم شركة جنرال موتورز وشركة فورد ووكالة الأمن القومي الأمريكية بإغلاق أجهزة مالتيكس الخاصة بها إلا في بداية التسعينات، بعد ثلاثين عاما من تشغيلها!
وقد قرر كين طومسون Ken Thompson ـ أحد من عملوا في مشروع مالتيكس ـ أن يكتب نسخة مصغرة من نظام تشغيل مالتيكس تتعامل مع مستخدم واحد فقط، ليشغلها على الكمبيوتر الصغير minicomputer من طراز PDP-7.. هذا العمل تم تطويره فيما بعد ليصبح نظام التشغيل المعروف باسم يونيكس UNIX، الذي اشتهر في الوسط الجامعي والوكالات الحكومية والعديد من الشركات، وذلك لأن الكود الأصلي
Source Code الذي كتب به هذا النظام كان ـ وما زال ـ متاحا للجميع، مما سمح باشتراك عدة شركات ومؤسسات جامعية ـ بل ومئات من المبرمجين في كل أنحاء العالم ـ في تطويره.. لكن هذا أدي في المقابل إلى ظهور نسخ عديدة غير متوافقة منه بسبب اختلاف مطوّريها، وإن ظل هناك حد أدنى من الاتفاق بين نسخ يونكس المختلفة، لهذا وضعت منظمة IEEE عدة مبادئ أساسية standards أسمتها POSIX، يجب التزامها عند تطوير نسخة جديدة من يونكس، بحيث يمكن لأي برنامج كتب على نسخة أخرى من يونكس أن يعمل على النسخة الجديدة.. حاليا، تدعم معظم نُسخ يونكس هذه المبادئ، بل ظهرت بعض نظم التشغيل الأخرى التي تدعمها أيضا!

نظام التشغيل CP/M:
مع ظهور المشغل الدقيق 8080 عام 1974، طلبت شركة إنتل من جراي كيلدال Gary Kildall أن يكتب نظام تشغيل للحاسبات التي تستخدم هذا المشغّل.. كان كيلدال وزميل له قد كتبا البرنامج الذي يتحكم في عمل محرك الأقراص
floppy disk driver الذي ظهر في تلك الآونة، لهذا فقد كتب كيلدال نظام تشغيل يعمل من الأقراص المرنة وأسماه "برنامج التحكم في الحواسب الصغيرة"
Control Program for Microcomputers، أو اختصارا CP/M.. وقد طلب كيلدال من إنتل حقوق ملكية نظام التشغيل CP/M، ونظرا لأن إنتل لم تكن ترى لهذا النظام مستقبلا واعدا، فقد منحتها له.. هنا أسس كيلدال شركة أسماها "البحوث الرقمية" Digital Research لتطوير وبيع نظام التشغيل CP/M.
وفي عام 1977 قامت شركة البحوث الرقمية بإعادة كتابة نظام التشغيل CP/M ليعمل على الحواسب التي تستخدم المشغلات 8080 و Z80 وغيرهما.. ولقد كُتبت العديد من البرامج لتعمل على هذا النظام، الذي كان الملك المتوج على عرش سوق نظم التشغيل لمدة خمس سنوات متتالية.

محمد حمدي غانم
14/03/2010, 03:03 AM
(5)
نظام التشغيل دوس DOS:
في مطلع الثمانينات، أنتجت أي بي إم حاسبها الشخصي، وتطلعت حولها بحثا عن البرامج التي ستعمل عليه.. وقد طلبت من بيل جيتس أن يُمدّها بنسخة من لغة البيزيك، وسألته عن نظام تشغيل مناسب لحاسوبهم.. ولقد نصحهم بيل جيتس حينها بالتوجه إلى شركة البحوث الرقمية، أكبر شركة نظم تشغيل حينها.. لكن كيلدال ارتكب أكبر حماقة في تاريخ الأعمال، حينما رفض مقابلة أي بي إم، وأرسل مندوبا عنه بدلا من ذلك.. ولكي يزداد الطين بلة، رفض محامي كيلدال التوقيع على تعهد بضمان سرية المعلومات حول حاسوب أي بي إم الذي لم يعلن عنه بعد.. لهذا، عادت أي بي إم إلى بيل جيتس لتسأله إن كان قادرا على كتابة نظام تشغيل لهم.
هنا قرر جيتس اغتنام الفرصة، وكان على علم بأن شركة محلية مصنعة للحاسب اسمها "سياتل لمنتجات الحاسب" Seattle Computer Products تمتلك نظام تشغيل يسمى "نظام التشغيل من الأقراص" Disk Operating System أو ما عرف اختصارا باسم دوس DOS، فاشتراه منها بخمسين ألف دولار، وعرضه على آي بي إم، التي طلبت بعض التعديلات.. هنا وظّف بيل جيتس في شركته (ميكروسوفت) الوليدة، تيم باترسون Tim Paterson الذي كان قد كتب الدوس لشركة سياتل.. وقد أجرى توم التعديلات المطلوبة وتم تسمية نظام التشغيل MS-DOS حيث إن MS هي اختصار "ميكروسوفت" Microsoft.
وسرعان ما تسيد هذا النظام سوق حواسب آي بي إم، ليبدأ عصر ميكروسوفت كأكبر شركات نظم التشغيل.
ولم يَخل الأمر من لعبة احتكارية من ألعاب الداهية بيل جيتس المعتادة، فقد باع البيزيك مع نظام الدوس DOS لشركة IBM كحزمة واحدة، بدلا من أن يتبع سياسة كيلدال في بيع نظام التشغيل CP/M للمستخدمين النهائيين وليس للشركات المصنّعة، وبالتالي صار الإقبال على أجهزة أي بي إم المزودة بنظام تشغل دوس ولغة برمجة البيزيك أعلى، لأن ذلك أرخص من شراء جهاز ثم شراء نظام تشغيل ثم شراء لغة برمجة!
ورغم أن الدوس كان متواضعا في بدايته، إلا أن إصداراته المتتابعة شهدت تطويرات كثيرة، بما في ذلك نقل بعض إمكانيات نظام يونيكس إليه.
حتى ذلك الحين، كانت أنظمة التشغيل تعمل بكتابة المستخدم للأوامر يدويا من لوحة المفاتيح، لإدخال سطر في نافذة سوداء، ثم ضغط زر الإدخال Enter لتنفيذ هذه الأوامر، والانتظار إلى أن يتم عرض النتائج على الشاشة.
واجهة الاستخدام المرئية Graphical User Inteface والويندوز Windows:
في الستينات نجح دوج إنجلبارت Doug Engelbart في مؤسسة ستانفورد للبحوث Stanford Research Institut في ابتكار واجهة المستخدم الرسومية
Graphical User Interface أو اختصارا GUI، وشمل ذلك النوافذ Windows
والأيقونات Icons والقوائم Menus واستخدام الفأرة Mouse.. وقد تبنى الباحثون في مؤسسة زيروكس بارك Xerox PARC هذه الأفكار، وتم تطبيقها على الآلات التي يبنونها.
وذات يوم، كان ستيف جوبس ـ الذي شارك في اختراع حاسوب آبل ـ في زيارة لشركة زيروكس بارك، حينما شاهد واجهة المستخدم الرسومية، فأدرك في الحال قيمتها الهائلة التي لم تدركها شركة زيروكس نفسها!. لهذا شرع جوبس في بناء واجهة استخدام رسومية لشركة آبل.. ولقد أسفر هذا المشروع عن الحاسب ليزا Lisa الذي كان غالي الثمن وفشل تسويقه تجاريا.. لكن جوبس لم يقنط، وعمل مجددا ليخرج بحاسوب ماكنتوش الذي لاقى نجاحا باهرا، ليس فقط لرخص سعره، لكن كذلك لأنه كان مريحا للمستخدم، فقد كان موجها إلى المستخدم الذي يجهل كل شيء عن الحاسب، بل ولا يريد حتى أن يتعلم!!
وحينما قررت ميكروسوفت إنشاء الجيل التالي للدوس من نظم التشغيل، كانت متأثرة بشدة بنجاح ماكنتوش، لهذا أنشأت في عام 1985 نظام تشغيل ذا واجهة رسومية أسمته الويندوز Windows (أو النوافذ)، الذي كان يعمل على نظام تشغيل دوس.. بمعنى أنه كان أشبه بغلاف Shell، تعمل من خلاله برامج أخرى.. لعل هذا يفسر لك استخدام مصطلح Shell للدلالة على وظائف الويندوز التي تتعامل مع الملفات والبرامج.
وقد استمر هذا النظام كذلك لعشر سنوات متتالية، حتى أصدرت ميكروسوفت نسخة ويندوز 95، الذي احتوى على إمكانيات كبيرة كنظام تشغيل متطور.. ثم تلاه إصدار ويندوز 1998 مع مزيد من التحسينات.. لكن كلا النظامين كانا ما زالا يحتويان على الكثير من كود لغة التجميع Assembly المكتوب لمشغلات إنتل القديمة التي تقرأ البيانات في حزم تتكون من 16 خانة 16 bits، بينما كانت المشغلات الجديدة تتعامل مع حزم بيانات تتكون من 32 خانة.. لهذا لم يكن أي من النظامين نظام ويندوز 32 كاملا.
على صعيد آخر، كانت ميكروسوفت تطور منذ بداية التسعينات نظام ويندوز إن تي Windows NT، حيث يختصر الحرفان NT تعبير "التقنية الجديدة"
New Technology.. ويمتاز هذا النظام بأنه مكتوب من جذوره ليكون ويندوز 32 32-bit Windows.. ولقد كان على رأس مطوري هذا الويندوز ديفيد كاتلر
David Cutler، الذي كان أحد مطوري نظام تشغيل آخر يدعي VAX VMS، ومن الطبيعي حتما أن تنتقل بعض أفكار هذا النظام إلى الويندوز الجديد.
وقد توقعت ميكروسوفت أن يزيح هذا النظام كل إصداراتها الأخرى من الدوس والويندوز، ولكن هذا لم يحدث، ولم يبدأ ويندوز إن تي في الانتشار إلا مع ظهور الإصدار الرابع منه، والذي كان يدعم التعامل مع شبكات الحاسب Networks.
وقد أطلقت ميكروسوفت الإصدار الخامس من هذا النظام في مطلع عام 1999 تحت اسم ويندوز 2000، وكانت تتوقع أن يكون البديل لويندوز 95 و 98 وويندوز إن تي 4، لكن هذا لم يحدث أيضا، ربما بسبب عدم ملاءمته لقدرات بعض الأجهزة القديمة التي كانت لا زالت مستخدمة لدي الشركات والأفراد.. لهذا اضطرت ميكروسوفت إلى إصدار نسخة مطورة من ويندوز 98 أسمتها ويندوز الألفية (أو ويندوز ميلينيوم) Windows Millennium، أو اختصارا Win ME.
ثم في عام 2001 أطلقت ميكوسوفت نسخة أفضل أسمتها ويندوز اكس بي Win XP.. هذه النسخة كانت أكثر إراحة وأقل مشاكل لمستخدمي الأجهزة الشخصية من نسخة ويندوز 2000، وقد صدرت منها بعد ذلك عدة نسخ مطورة.
الجدير بالذكر أن ميكروسوفت دفعت المبرمجين إلى استخدام ويندوز 2000 وويندوز اكس بي بجعل بيئة فيجيوال ستديو دوت نت VS.NET التي أصدرها في عام 2001، لا تعمل إلا على هذين النظامين.. أذكر حينها أن ويندوز ميلينيوم كان أكثر ملاءمة لإمكانيات جهازي، لكنني اضطررت إلى الانتقال إلى ويندوز إكس بي حتى أستطيع استخدام فيجيوال بيزيك دوت نت التي هي إحدى لغات فيجوال ستديو دوت نت.
ثم أصدرت ميكروسوفت ويندوز فيستا Win Vista في نهاية عام 2006، ومنه نسخ 64 خانة، ثم تلاه ويندوز 7، والبقية تترى!

محمد حمدي غانم
16/03/2010, 07:09 AM
(6)
من لغة الآلة إلى اللغات عالية المستوى:
بدأ الجيل الأول من لغات البرمجة بلغة الآلة Machine Language، وهي مجموعة من الأرقام (أصفار وآحاد) تنتمي إلى نظام العد الثنائي Binary الذي سنتعرف عليه في الفصل الخامس بإذن الله.. إ الحاسب لا يعرف غير الأرقام، ولكنّه يحوّلها إلى مدلولات أخرى على حسب رغباتنا نحن.. افترض مثلا أننا أرسلنا إلى الحاسب هذا التتابع من الآحاد: (11111111).. هذا التتابع يمثّل العدد 255 لو اعتبرناه عددا موجبا، ويمثل العدد – 127 لو اعتبرناه سالبا، ويمثّل اللون الأحمر لو اعتبرناه لونا، والرمز "?" لو اعتبرناه حرفا، ونغمة ما لو اعتبرناه صوتا..... وهكذا..
كلّ ما يفعله الحاسب هو النظر في جداول التحويل المناسبة، وعرض القيمة المناظرة.
إنّ كلّ شيءٍ بالنسبةِ للحاسب نسبيّ، فالأرقام المجرّدة التي يتعامل معها يمكن أن تفعل كلّ شيء.. المهم: هو الزاوية التي تنظر لها منها.
لكن كيف نخبر الحاسوب بما نقصده بالتحديد؟
يمكن فعل هذا في لغة الآلة، باستخدام بعض التتابعات من الأصفار والآحاد كأوامر توضّح للحاسوب ما المطلوب منه بالضبط.. فيما بعد، تم استخدام نظم عد أخرى لكتابة لغة الآلة، مثل نظام العد الثماني ونظام العد السداسي عشر.. لكن في النهاية تظل لغة الآلة تتعامل مع أرقام.
إذن فأول لغة برمجة، هي لغة الآلة، التي تحوّل الأرقام إلى إشارات كهربية.. وكانت هذه اللغة في بداية تطور الحاسوب تكتب من خلال وصلات ولوحات إدخال خاصة، تنقل الأوامر من المبرمج إلى الآلة مباشرة.. وكان الحاسوب في بداية صناعته يحتل حجرات كاملة من المبنى، حيث يدخل المبرمج إحدى الحجرات ويوصل لوحة الإدخال الخاصة به، ويقضي عدة ساعات في إدخال الأرقام التي كتب بها برنامجه، داعيا الله ألا يحترق أحد الصمامات الثلاثية في تلك الأثناء، حتى لا يضطر إلى إعادة العملية منذ البداية بعد إصلاح الخلل وإعادة تشغيل الحاسوب!
ولقد تطور الأمر في بداية الخمسينيات، باختراع أول وسيط لحفظ البرامج.. ذلك هو الكروت المثقوبة Punched Cards، حيث صارت الأرقام الدالة على البرامج توضع على الكروت المثقوبة، ثم يتم إدخالها إلى الحاسوب ليقرأها.
لا بد أنك تقول الآن: كان الله في عون المبرمجين الأوائل.. أو إن شئت الدقة: المهندسين الأوائل، فقد كان عليهم فهم تركيب الحاسوب ومكوناته الداخلية، وحفظ الأرقام الدالة على الأوامر المختلفة لبرمجته، وكتابة عشرات ـ بل مئات وربما آلاف ـ السطور من تتابعات الأرقام التي تزيغ العين وهي تحاول قراءتها، ناهيك عن الوضع المأساوي الذي يجد فيه المرء نفسه، لو اكتشف خطأ في برنامجه وسهر الليالي يبحث عن سببه وكيفية علاجه وسط كل هذه الأرقام!
لمثل هذه التعقيدات، فكر المهندسون في كتابة الأوامر بكلمات إنجليزية مختصرة يسهل فهمها (مثل ADD و SUB و MOV)، على أن يقوم برنامج بسيط
(يسمى المجمّع Assembler) بتحويل هذه الكلمات إلى الأرقام المناظرة لها في لغة الآلة.. وهكذا جاء الجيل الثاني من لغات البرمجة ونشأت لغة التجميع Assembly، وصعدنا درجة أعلى على السلم: لغة تحول الكلمات إلى أرقام، لتحولها لغة أخرى إلى إشارات كهربية.
ورغم أن لغة التجميع تعتبر قفزة كبيرة بعد لغة الآلة، إلا أن هذه اللغة تعتبر لغة برمجة منخفضة المستوى Low-Level، لأنها تتعامل مع مكونات الحاسب المادية مباشرة.. فهي مثلا تتعامل مع عناوين الذاكرة RAM وأسماء المخازن Registers الموجودة داخل المشغل الدقيق Microprocessor وغير ذلك، مما يجعل الكود المكتوب بها طويلا جدا، وفيه أجزاء كثيرة مكررة ومملة لفعل أشياء تقليدية، وهو ما جعل هذا الكود معقدا وصعب الفهم، حتى ولو كان أسهل من لغة الآلة.
من هنا نشأ التفكير في الانتقال إلى الجيل الثالث من لغات البرمجة، وهي لغات البرمجة عالية المستوى High-Level Languages، التي تعزل المبرمج بدرجة كبيرة عن مكونات الجهاز المادية، فبدلا من أن يتعامل مع عناوين الذاكرة، يُعرّف متغيرا Variable له اسم سهل، ليتعامل مع الذاكرة من خلاله، بالإضافة إلى منح المبرمج أوامرَ ودوالَّ جاهزة للقيام بالعمليات الحسابية والمنطقية، دون أن يشغل ذهنه بمكونات المشغل الدقيق أو وحدة الحساب والمنطق وغير ذلك.
وهكذا صعدنا درجة جدية على سلم التطور، فالمبرمج يكتب أوامر مختصرة وواضحة، ثم تتم ترجمتها إلى لغة التجميع ومنها إلى لغة الآلة، أو إلى لغة الآلة مباشرة.. هذه الوظيفة يقوم بها ما يعرف باسم مترجم الكود Compiler.

محمد يماني
19/03/2010, 09:10 PM
السلام عليكم استاذي الفاضل بارك الله في جهودك وجعلها في ميزان الحسنات ورزقك الجنات على هذه المعلومات القيمة والمفيدة ولي طلب بسيط أتمنى لو أحصل على هذا الكتاب القيم كاملاً جزاك الله الخير وحفظك وزادك من فضله

محمد حمدي غانم
21/03/2010, 02:39 AM
محمد يماني:
شكرا لتقديرك ودعائك..
الكتاب غير منشور على النت، لأن مكتبة دار المعرفة تملك حقوق نشره.
وللأسف، هناك صعوبة في الحصول على الكتاب خارج مصر، ما عدا مكتبة العبيكان بالسعودية.. وأحيانا يوجد الكتاب في معارض الكتاب في الدول العربية، من خلال مكتبة زهراء الشرق.
أعتذر عن كل هذه المصاعب.
تحياتي

محمد حمدي غانم
21/03/2010, 02:42 AM
(7)
تطور لغات البرمجة:
الجدول الزمني التالي يوضح مراحل تطور لغات البرمجة:

1946 ظهرت أول لغة برمجة إلى الوجود، على يد المهندس الألماني كونراد زويس Konrad Zues، الذي اخترعها في مخبئه أثناء انتظاره لانتهاء الحرب العالمية الثانية.
1949 ظهرت لغة تسمى "الكود القصير" Short Code، ولكنها كانت تُترجم إلى لغة الآلة يدويا، مما جعلها اسما على غير مسمى!
1951 بدأ جريس هوبر Grace Hopper تطوير لغة تدعى A-O والتي عرفت أيضا باسم AT-3.
1952 طوّر أليك جليني Alick Glennie مترجم الكود الآلي
AutoCode-Compiler لتحويل كود لغة التجميع إلى لغة الآلة.
1954 طورت أي بي إم IBM لغة محوّل الصيغ FORmula TRANslator أو ما عرفت بالاسم المختصر فورتران FORTRAN، وذلك بالاعتماد على لغة A-O.. وقد نُشرت لغة الفورتران عام 1957 وصارت أول لغة برمجة عالية المستوى تباع تجاريا، وبعد ذلك بعام ظهر الإصدار الثاني منها ليسمح باستخدام الإجراءات الفرعية Sub Procedures.
1956 طور نويل Newell وشو Shaw وسيمون Simon لغة معالجة المعلومات Information Processing Language أو اختصارا IPL.
1958 - بدأ جون مكارثي John McCarthy تطوير لغة ليسب LISP.
- نشر الفكرة النظرية للغة ألجول ALGOL التي كانت مخصصة للتعامل مع الجبر والحساب في بدايتها.. الجدير بالذكر أن لغتي باسكال Pascal وسي C قد ظهرتا فيما بعد بالاعتماد على الإصدار ALGOL 60 من هذه اللغة، والذي ظهر عام 1960.. وقد صارت ألجول أشهر لغة في أوروبا في نهاية الستينات.
1959 ظهرت اللغة الموجهة للأعمال العامة:
COmmon Business Oriented Language
أو ما يعرف اختصارا باسم كوبول COBOL، وهي تستخدم حتى يومنا هذا.
1961 طور كينيث انفرسون Keneth Iversson لغة برمجة تسمى APL
ـ اختصارا لتعبير "لغة برمجة" A Programming Language ـ وكانت ملائمة أكثر للحسابات الرياضية.
1962 قدمت معامل بيلز Bells Laboratories لغة جديدة تسمى SNOBOL،
اختصارا لتعبير "اللغة الرمزية الموجهة بالنصوص"
StriNg Oriented symBOlic Language ـ وكانت مخصصة للتعامل مع النصوص والصيغ.. وفي عام 1971 ظهرت لغتان مبنيتان على هذه اللغة، هما FASBOL و SPITBOL.
1963 شرعت IBM في تطوير لغة PL/I، في محاولة لدمج أفضل الميزات في لغات ألجول وفورتران وكوبول.. وما زالت هذه اللغة مستخدمة في آي بي إم حتى اليوم.
1964 ظهرت إلى الوجود لغة البيزيك BASIC لأول مرة.. إنها الجد الأكبر للغة التي جئنا اليوم لنتعلمها معا.
1965 ظهر مترجم الكود المسمى DEC للعمل على أجهزة الحاسب من طراز PDP-6 و PDP-10.
1966 ظهرت لغة اللوجو LOGO المخصصة للرسوم، وكانت مخصصة للأطفال والمبتدئين.
1967 ظهرت لغة سيميولا Simula في أوسلو بالنرويج، وهي مبنية على لغة ALGOL60، وقد أضافت مفهوم الفئات Classes والبرمجة بالكائنات object-programming.
1968 بدأ نيكولاس ويرث Niklaus Wirth تطوير لغة باسكال Pascal التي أخذت اسمها من اسم العالم الرياضي الفرنسي الشهير بليز باسكال Blaise Pascal، وما زالت تُستخدم حتى اليوم في الأغراض التعليمية، وبنيت عليها لغة ديلفي.


1969 تم تطوير لغة BCPL في إنجلترا، وهي تعتبر لغة منخفضة المستوى.
1970 - تم في فرنسا تطوير لغة الذكاء الصناعي "منطق البرمجة" PROgramming LOGic أو اختصارا "برولوج" PROLOG ليبدأ بذلك عهد لغات الذكاء الصناعي Artificial Intelligence، حيث تتعامل هذه اللغة مع الحقائق والبيانات لتسمح باستنتاج حقائق جديدة، ولا تعتمد على خطوات التنفيذ المتتابعة كما في باقي لغات البرمجة العادية.
- طورت زيروكس لغة موجهة بالكائنات Object-Oriented تسمى Smalltalk.
- ظهرت لغة تسمى بي B لأجهزة PDP-11 التي تستخدم نظام تشغيل Unix.. وكانت هذه اللغة مبنية على لغة BCPL.
1972 طوّر دينيس ريتشي لغة سماها في البداية NB لأنه بناها على لغة B، ثم سماها سي C على شرف لغة BCPL.. ولقد انتشرت هذه اللغة على نظام يونيكس فزادت من مبيعاته.. وتمتاز هذه اللغة بسهولة نقلها إلى أنظمة التشغيل المختلفة، كما أنها تعتبر مرحلة وسيطة بين اللغات منخفضة المستوى واللغات عالية المستوى.. وعلى هذه اللغة بنيت عائلة من اللغات، مثل C++
و Visual C++ و C# فيما بعد.. هذا بخلاف أن طريقتها في الصياغة متبعة في العديد من اللغات الأخرى، مثل الجافا.
1979 طور فريق فرنسي بقيادة جين اتشبياه Jean Ichbiah من شركة
CII-Honeywell Bull لغة Ada، التي سميت باسم الآنسة آدا لوفلاس Ada Lovelace التي تعتبر أول مبرمجة للحاسوب، حيث وظفها باباج Babbage لكتابة البرامج لآلته الميكانيكية التي اخترعها عام 1833 كما أشرنا من قبل.
1991 - انطلقت لغة FORTRAN 90.
- أطلقت ميكروسوفت الإصدار الأول من فيجيوال بيزيك Visual Basic أو لغة البيزيك المرئية.
1995 ظهرت لغة الجافا Java.
1999 ظهرت لغة دي D.
2000 أطلقت ميكروسوفت لغة C#، التي يمكن اعتبارها لغة فيجيوال بيزيك مكتوبة بصياغة C++.
أظن هذه الفكرة تكفي عن لغات البرمجة.

محمد حمدي غانم
27/03/2010, 11:51 PM
(8)
قصة حياة لغة البيزيك:
والآن.. ما رأيك أن نتعرف على قصة حياة لغة البيزيك التي جئنا اليوم لنتعلمها؟
دعنا نبدأ منذ البداية.. منذ يوم مولدها.

ميلاد لغة البيزيك:
في عام 1964 في جامعة دارتموث Dartmouth College، اخترع جورج كيمينيJ. Kemeny وتوم كارتز T. Kurtz لغة يمكن عن طريقها التحكم في الحاسوب وكتابة البرامج معا.. هذه اللغة سميت BASIC.
ولعلك لاحظت أن كل حروف الكلمة BASIC كبيرة.. هذا لأنها ليست الكلمة basic الإنجليزية التي تعني "أساسي".. لكنها الحروف الأولى من التعبير:
Beginner's All-purpose Symbolic Instruction Code
أي: كود التعليمات الرمزي لجميع الأغراض للمبتدئين.
واضح إذن من اسمها، أن هذه اللغة قد تم تصميمها لتكون سهلة بالنسبة لمعظم المستخدمين ـ خاصة المبتدئين من طلاب المدارس ـ عن أي لغة أخرى
(مثل لغة الآلة أو لغة التجميع Assembly أو حتى لغة الحساب فورتران Fortran).. لهذا عرفت البيزيك بأنها لغة برمجة عالية المستوى High-level Language.
ونظرا لسهولة ترجمة لغة البيزيك على أي نظام تشغيل، بالإضافة إلى صغر حجمها الذي أتاح تخزينها على ذاكرة ثابتة ROM لا تتجاوز 2 كيلوبايت أو 4 كيلو بايت، فقد صارت البيزيك هي الخيار الأمثل لنظم الحاسب، وكانت شركة آبل Apple تقدم نسخة من هذه اللغة تعرف باسم Integer BASIC على الذاكرة الثابتة ROM للإصدار الثاني من نظامها Apple II، كما بدأت شركة ميكروسوفت نشاطها باعتبارها متخصصة في بيع نسخ لغة البيزيك المحفوظة على الذاكرة الثابتة ROM إلى بائعي أجهزة الحاسب، بما في ذلك شركة IBM عند بداية تصنيعها لأجهزة الحاسب الشخصية.
ونظرا لأن الذاكرة الثابتة كانت محدودة المساحة، فقد حدّ هذا من قدرات لغة البيزيك وأوامرها.. وظل الأمر كذلك إلى أن انتقلت نسخ لغة البيزيك إلى الأقراص المرنة Disks بعد أن انخفضت أسعار هذه الأقراص كثيرا.. سيبدو هذا الكلام مثيرا للدهشة لمن يقرؤونه الآن، فهم يعيشون في عصر الجيجا والتيرا وذاكرة الفلاش والديفيدي.. لم يكن هذا هو الحال منذ عقدين من الزمان، حينما كان الحاسب لا يُشغّل الموسيقى ولا الأفلام، وكانت الأقراص المرنة اختراعا عبقريا، يكفي لحمل نظام التشغيل ولغات البرمجة، في مساحة أقل من ميجا بايت!


ميكروسوفت تقوم على أكتاف البيزيك:
في سبعينات القرن العشرين، طرحت شركة M.I.T.S في الأسواق حاسبها الشخصي من طراز Altair.. في تلك الفترة كانت أجهزة الحاسب ضخمة وتوجد في معامل المعاهد والكليات، وكان ظهور الحاسب الشخصي نقلة هائلة في تاريخ البشرية.
في تلك الأثناء أقنع موظف في شركة هانويل اسمه بول آلين Paul Allen صديقا له في جامعة هارفارد يدعى بيل جيتس Bill Gates، بمساعدته في تطوير نسخة من لغة البيزيك صالحة للعمل على الحاسب الشخصي الجديد من طراز Altair.. وقد شرع الاثنان بالعمل، وراسلا الشركة المصنّعة، التي أخذت الأمر بمنتهى الجدية، ليبدأ عصر البيزيك والحواسيب الشخصية.. وعصر ميكروسوفت!
وبالفعل، قدّم آلين وجيتس إلى الشركة المصنعة أول نسخة من لغة البيزيك للحواسب الشخصية، ولم تكن مساحة الذاكرة التي تحتاجها أكثر من 4 كليو بايت بما في ذلك البيانات وكود اللغة! (تحتاج فيجوال بيزيك دوت نت 2010 بمفردها إلى حوالي 2 جيجيا بايت، أي 500 ألف ضعف ما تحتاجه أول نسخة بيزيك أصدرتها ميكروسوفت!)
ولم يكن عسيرا بعد ذلك، أن يقدّم الرجلان نسخا من هذه اللغة إلى أنظمة أخرى من أنظمة الحواسب الشخصية.. وبهذا ظهرت ميكروسوفت إلى الوجود بإصدار لغة البيزيك عام 1975.

الجيل الأول: البيزيك والدوس DOS:
مع توزيعها لغة البيزيك على الأقراص المرنة، صارت ميكروسوفت المنتج الأساسي لهذه اللغة، كما صارت ميكروسوفت تورد إصدار آبل سوفت بيزيك
Applesoft BASIC لأجهزة Apple II، وإصدار إم بيزيك MBASIC لأجهزة CP/M-80 وإصدار البيزيك لمحطات العمل الرسومية Graphic Workstation BASIC أو ما يعرف اختصارا بـ (جي دبليو بيزيك GWBASIC) لأجهزة COompaq.
في تلك الأثناء، ارتأت ميكروسوفت استغلال شعبية لغة البيزيك، فطورت إصدارا اسمه "البيزيك السريع" QuickBasic، صالح للعمل على أنواع مختلفة من الأجهزة.. وقد استمر تطوير هذه اللغة إلى الإصدار 4.5، قبل أن تنتقل ميكروسوفت إلى إصدار جديد يسمي "نظام التطوير الاحترافي للبيزيك":
Professional Development System (PDS) BASIC
وعرف أيضا باسم QuickBasic Extended.. وقد استمرت ميكروسوفت في تطوير هذه اللغة حتى الإصدار 7.1.
الجدير بالذكر أنه ما بين عامي 1970 و1990 كانت هناك العديد من إصدارات لغة البيزيك لشركات مختلفة، مثل ترو بيزيك وتربو بيزيك وباور بيزيك وغيرها.. ما سيدهشك حقا أن تلك الإصدارات البدائية كانت تباع بمبالغ من 10 إلى 20 ألف دولار!
على كل حال، لقد انقرضت معظم إصدارات البيزيك، وإن كان بعض هذه الإصدارات ما زال موجودا حتى الآن، سواء للأجهزة الشخصية أو للحاسبات الضخمة mainframes.. لكن لم يحظَ إصدار آخر بمثل ما حظيت به لغة فيجيوال بيزيك من الشهرة والشعبية والازدهار والتطور.. والمثير للسخرية، أن هذا الأمر انطبق حتى على الإصدار المطور من البيزك والمعروف باسم البيزيك الحقيقية True BASIC الذي أصدره مخترعا لغة البيزيك الأصليان جيميني وكارتز، والذي لم يصمد لمنافسة السوق أمام إصدارات ميكروسوفت!

الجيل الثاني: البيزيك والويندوز:
في عام 1991، قررت ميكروسوفت أن تمنح فيجيوال بيزيك حياة جديدة بشكل جديد على نظام الويندوز الوليد.. وبهذا ظهر إلى الوجود الإصدار الأول من لغة البيزيك المرئية، أو فيجيوال بيزيك، التي انتقلت من قِفار الدوس DOS المجدبة إلى مراعي الويندوز الخصبة، مانحةً للمبرمج القدرة على إنشاءِ برامج ذات واجهة مرئيّة Visual Interface، بأسهلِ طريقةٍ وفي أسرعِ وقت.
ومنذ إصدارها، تتصدّر فيجيوال بيزيك قائمة مبيعات لغات البرمجة، لتدخلَ في بناءِ التطبيقاتِ التجاريّة وتطبيقاتِ قواعد البياناتِ البسيطة، وبرامج الوسائط المتعدّدة Multimedia والكثير من الألعاب.
ولكن للأسف.. دائما وأبدا كانت VB أدنى من باقي لغاتِ البرمجة، فتطبيقاتُها أبطأ نسبيّا وأكبر حجما، وتعاني من بعض أوجهِ القصورِ في الأداء.
ولقد استمرّت ميكروسوفت في تطوير فيجيوال بيزيك عبرَ ست إصداراتٍ مختلفة، وفي كلّ إصدارٍ جديدٍ كانت تعالجُ بعضَ المشاكلِ القديمةِ وتضيفُ المزيدَ من القدرات، لتضيقَ الفجوةُ شيئًا فشيئا بين VB وباقي لغات البرمجة.
والجدول التالي يلخص تواريخ إصدارات فيجيوال بيزيك المختلفة:

العام الإصدار
1991 الإصدار الأول من فيجيوال بيزيك
1992 الإصدار الثاني من فيجيوال بيزيك.
1993 الإصدار الثالث من فيجيوال بيزيك.
1995 الإصدار الرابع من فيجيوال بيزيك.
1997 الإصدار الخامس من فيجيوال بيزيك.
1998 الإصدار السادس من فيجيوال بيزيك.
2001 الإصدار السابع من فيجيوال بيزيك: فيجيوال بيزيك دوت نت 2002
2003 تعديلات طفيفة في الإصدار السابع من فيجيوال بيزيك، ضمن فيجيوال ستديو دوت نت 2003.
2005 الإصدار الثامن من فيجيوال بيزيك: فيجيوال بيزيك دوت نت 2005.
2007 الإصدار التاسع من فيجيوال بيزيك: فيجيوال بيزيك دوت نت 2008.
2010 الإصدار العاشر من فيجيوال بيزيك: فيجيوال بيزيك دوت نت 2010.

الجيل الثالث: البيزيك ودوت نت:
في نهاية عام 2001 أقدمت ميكروسوفت أخيرا على الخطوة التي طال انتظارها، فأصدرت نسخة جديدةً بكلّ المقاييس من فيجيوال بيزيك، بنتها من جذورها
From scratch لتجعلها إحدى لغات نظام فيجيوال ستديو دوت نت VS.NET، لتستفيد بكل قدرات إطار العمل Framework، فتصير بذلك ندّا حقيقيّا لعائلة لغات C++، بحيثُ تتسيد فيجيوال بيزيك برمجة تطبيقات مواقع الإنترنت والتطبيقات التجاريّة وتطبيقات قواعد البيانات والوسائط المتعدّدة ومعظم الألعاب وما شابه!
وأعتقدُ أنّ هذا هو السبب الذي دفع ميكروسوفت إلى إصدار اللغة الجديدة سي شارب C#، التي تُعتبر توأما لفيجيوال بيزيك إلا إنّها تستخدم قواعد C++ في كتابة الأوامر، ممّا يشكّلُ لمبرمجي C++ إغراءً تصعبُ مقاومته للانتقالِ إليها، كما انضمت لغة J# إلى عائلة دوت نت عام 2003، لتشكل إغراء لمبرمجي الجافا تصعب مقاومته!
ولكن مهما كانت سهولة C# و J#، فإنّ VB تصرعُهما في هذا المضمار، فهي أقربُ ما تكونُ إلى اللّغةِ الإنجليزيّة العاديّة، ولا تحتوي على الرموزِ الكثيرةِ المملّة التي تملأ سي شارب وجي شارب، مثل ; ، ++ ، == ، ||.... إلى آخر هذه الرموزِ التي تجعلُ احتمالاتِ الخطإ عند كتابةِ الكودِ أعلى، وتجعلُ البرنامجَ أصعبَ فهمًا وأقلَّ ألفةً عندَ قراءته.
ولم تتوقف ميكروسوفت عن التطوير لحظة، ففي العام التالي أصدرت دوت نت 2003، وبعدها بعامين أصدرت دوت نت 2005 التي ضيقت الفجوة أكثر بين فيجيوال بيزيك وسي شارب بإضافة بعض القدرات الناقصة (مثل إعادة تعريف المعاملات Operator Overloading).. ثم جاءت دوت نت 2008 لتتيح لك تعريف الأنواع المجهولة Anonymous Types، وكتابة وسائل إضافية Extended Methods للفئات الجاهزة الموجودة في اللغة، بالإضافة إلى استخدام الاستعلام المتكامل LinQ.. وأخيرا جاءت دوت نت 2010 لتتيح لاستعلامات LinQ الاستفادة من الأجهزة التي تحتوي على أكثر من مشغل دقيق Microprocessor من خلال الاستعلامات المتوازية PLinQ، مع إدخال بعض التعديلات الطفيفة في كود البيزيك، مثل السماح بتقسيم الأوامر على أكثر من سطر في بعض المواضع بدون الحاجة إلى وضع علامة تقسيم السطر _ ، ومثل تعريف دوال فورية Lambda Expressions متعددة السطور، وغير هذا من الإضافات التي سنتعرف عليها في هذا الكتاب.

محمد حمدي غانم
05/04/2010, 04:00 AM
وقفة ثانية لا بد منها:
في الصفحات السابقة أخذتك في رحلة سريعة عبر تاريخ لغات البرمجة عموما ولغة البيزيك خصوصا.. لم يكن هدفي من هذا تحبير الصفحات أو إهدار وقتك، ولكني أحببت أن أبدأ معك منذ البداية حتى تأخذ خلفية عن العالم الذي تخطو إليه.
كما أردت كذلك أن ألفت انتباهك إلى أن علم البرمجة علم عميق ولم يأتِ من فراغ، بل هو وليد جهود آلاف المهندسين والمبرمجين طوال الأعوام الستين الماضية، وكان التقدم فيه مرهونا بالتقدم في صناعة مكونات الحاسب المادية، لأن مطوري لغات البرمجة كانوا مجبرين دائما على مراعاة سرعات الحاسب المتاحة ومساحة الذاكرة المتوفرة.
إن ما وصلت إليه البرمجة اليوم من تطور مذهل جعلها أشبه بلعبة يمكن أن يتعلمها الصبية في المرحلة الإعدادية ـ وربما الابتدائية لو كانوا يجيدون أساسيات الإنجليزية ـ هو نتاج سهر وتعب وفكر عشرات المؤسسات وآلاف المبدعين.. ومما يؤسف له أننا كنا خارج هذا السباق الرائع على طريق الموجة الحضارية الثالثة: حضارة المعلومات، كما كنا خارج السباق على طريق الموجة الحضارية الثانية: الحضارة الصناعية.. والنتيجة الحتمية هي أننا لا نملك أي مؤسسات تقنية لصناعة الإلكترونيات ولا حتى لصناعة نظم التشغيل ولغات البرمجة والتطبيقات العملاقة، ما عدا بضع شركات قليلة تحاول أن تشق طريقها بجدية في مجال البحوث والتطوير، مثل صخر والشركة الهندسية لتطوير البرمجيات RDI.
لا أقول لك هذا لأصيبك باليأس والإحباط، فالأمل دائما موجود ما دامت هناك إرادة وإدارة، وقبلهما الإيمان بالله سبحانه وتوفيقه.
ومن يدري.. ربما تكون أنت واحدا ممن يضيفون شيئا إلى البرمجة لم يسبق إليه غيرك، فتضيف بذلك سبقا يحمل اسم الإسلام والعروبة.
آه: حتى لا تظنها أحلاما جزافية أو كلاما حماسيا رنانا، أنصحك بتصفح موقع الشركة العربية لتطوير البرمجيات RDI على هذا الرابط www.rdi-eg.com لترى إنجازاتهم، والتي أعتبر أهمها وأروعها برنامج حفص لتعليم تجويد القرآن الكريم، الذي يستقبل قراءة المستخدم صوتيا ويصحح له مواضع الخطأ في التجويد.
العقول العربية بخير.. تحتاج فقط إلى من يأخذ بيدها إلى بداية الطريق.. وإن كنا قد خسرنا السباق التقني في مجال مكونات الحاسب المادية Hardware، فالأمل ما زال موجودا في أن نقدم شيئا في مجال البرمجيات Software.. ولا يقتصر الأمر على الشركات وحدها، فحماسة الشباب ـ خاصة في وجود شبكة المعلومات Internet قادرة على إحداث تأثير كبير.. تخيل لو أن كل شاب يتعلم البرمجة في الوطن العربي شارك بفكرة واحدة جيدة في أحد منتديات البرمجة، كيف سيكون تأثير ذلك على تراكم الأفكار والخبرات في خلال عشر سنوات فقط؟
هذه دعوة لك لكي تتعلم وتعلم غيرك.

محمد حمدي غانم
17/08/2010, 03:24 PM
والآن، دعونا ننتقل إلى فصل آخر، نحاول فيه ربط البرمجة بالفكر والعلم والدين:
أبدع حاسب وأبدع نظام تشغيل: نظرة برمجية إلى الحمض النووي الوراثي DNA (http://www.wata.cc/forums/showthread.php?t=76586)