الخميس، 28 يوليو، 2005

كتاب: اليوم الأول قبل هوريشيما وبعدها

هذا الكتاب هو أحد الكتب القليلة التي اشتريتها بمجرد رؤية الغلاف، وكان علي أن أتذكر الحكمة التي تقول: _لا تحكم على الكتاب من غلافه_، كنت أظن بأنني سأقرأ في الكتاب أخباراً ومشاهدات عن [هوريشيما](http://en.wikipedia.org/wiki/Hiroshima) قبل إلقاء القنبلة الذرية عليها وبعدها، لكن عنوان الكتاب لم يكن دقيقاً في وصف المحتويات، فالكتاب يتحدث عن جهود العلماء في تطوير السلاح النووي وعن خطة إلقاء القنبلة على هوريشيما وعن التنافس العالمي على هذا السلاح الرهيب، وعن المشاهد المروعة في المدينة المدمرة، كتاب اشتريته وأنا مدرك تماماً أنني سأقرأ عن أمور فضيعة لا أستطيع تحملها، لست من الذين يتحملون رؤية الدماء والقتل أو حتى القراءة عنها.

الكتاب من إصدارات المجمع الثقافي، ومؤلفه هو بيتر وايدن.

البداية مع العالم الكبير [أرنست رثرفورد](http://en.wikipedia.org/wiki/Ernest_Rutherford) الذي كان يعتقد أن الطاقة الذرية محض هذيان، كلمة الذرة (Atom) في اللغة الإنجليزية جاءت من Atomos في الإغريقية، وتعني ما لا يمكن تقسيمه، لكن الذرة قسمت وهذا الانقسام يولد طاقة هائلة.

جاء شاب مجري اسمه [ليو زيلارد](http://en.wikipedia.org/wiki/Leo_Szilard) إلى مكتب رثرفورد ليناقشه حول احتمالات إيجاد طاقة ذرية فانتهى اللقاء بطريقة غير ودية، فقد قذف فورد بزيلارد خارج مكتبه! لكن زيلارد لم ييأس، واستخرج براءة اختراع تصف التفاعل المتسلسل، وكان عليه أن يبحث عن المادة القابلة للتجزئة من بين 92 مادة، كان هذا عملي روتيني بالنسبة لزيلارد الذي يمقت الأعمال المملة، ولم يبدأ زيلارد في العمل الجاد على القنبلة النووية إلا في عام 1939م عندما وصل إلى أمريكا والعالم دخل أو أجبر على الدخول في الحرب العالمية الثانية التي بدأها هتلر.

غزو القوات الألمانية لدول أوروبا أجبر علماء الفيزياء والكيمياء والرياضيات وغيرهم على الهجرة إلى الولايات المتحدة، أجتمع هؤلاء في مشروع سمي أس 1، الذي تحول إلى [مختبرات لوس ألموس](http://en.wikipedia.org/wiki/Los_Alamos_National_Laboratory)، هذه المختبرات جمعت آلاف العمال والموظفين والعلماء لينتجوا سلاحاً قوياً مدمراً، لم تكن المهمة سهلة، كان هناك تضارب في المصالح وصراع إرادات، كانت تكلفة المشروع مرتفعة ويجب أن تبرر أمام الكونجرس الأمريكي في حال لم تظهر نتائج مفيدة لهذا الإنفاق الكبير من أموال دافعي الضرائب، كان الساسة يضغطون من أجل ظهور السلاح واستخدامه لإنهاء الحرب، فقد ظنوا أن ألمانية النازية ستقوم باستخدام السلاح قبلهم إن لم يستخدموه هم.

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

تمكنت مختبرات لوس ألموس من إجراء أول تجربة لتفجير نووي في عام 1945م، وفي السادس من أغسطس من نفس العام وفي الساعة الثامنة والربع صباحاً ألقيت القنبلة الذرية الأولى على هوريشيما، وقد كان مخططاً لها أن تقع على جسر في وسط المدينة، لكنها وقعت فوق مستوصف الدكتور شيما الذي تبخر تماماً بمن فيه،مات على الفور 88% من السكان الواقعين في دائرة قطرها 1500 قدم، ومات الآلاف من الحرارة والحرائق والإشعاع النووي في الأيام والأسابيع التي تلت الانفجار.

كان هناك جهل واسع حتى بين العلماء في أمريكا بتأثيرات الإشعاع القاتلة، لا أعتقد أن أحدكم يريد قراءة ما حدث للناجين في هوريشيما، الكاتب جاء بتفاصيل جعلتني أشعر بالصداع والغثيان، يكفي أن الناس أصيبوا بصدمة ولم يعد أكثرهم يعرف ماذا يفعل أو أين يذهب، في هذا الوقت الحرج جاءت مبادرات من أشخاص ساهمت في التخفيف من حدة الكارثة، [شنزو هاماي](http://en.wikipedia.org/wiki/Shinzo_Hamai) ساهم في توفير الغذاء والملابس للناس، أطباء حولوا بعض المباني إلى مستشفيات لعلاج الناس، الجند والشرطة ساهموا في تنظيم الحركة وحرق الجثث التي تراكمت في كل مكان وغص بها النهر.

بدأ [الامبراطور الياباني](http://en.wikipedia.org/wiki/Emperor_of_Japan) في محاول لإقناع وزراءه لكي يستسلموا، لكن تقاليد المحاربين القدامى كانت مسيطرة على الجيش، وهذا يعني إما النصر وإما الموت في ساحة المعركة، أراد الإمبراطور [هيروهيتو](http://en.wikipedia.org/wiki/Hirohito) الحفاظ على حياة الناس، وبكى أمام وزراءه حينما أعلن قرار الاستسلام، وإبداء المشاعر في الثقافة اليابانية أمر نادر ومعيب، بكى وزراءه ولكن جاء قرارهم متأخراً، ألقيت القنبلة الثانية على نجازاكي، أصر الإمبراطور على إلقاء كلمة مباشرة في الإذاعة يبث فيها قرار الاستسلام، لم يوافق موظفوا الإذاعة على ذلك، فالإمبراطور يعد في نظرهم إلهاً، لكنهم سجلوا الكلمة وأذاعوها، كانت صدمة لليابانيين الذين لا يعرفون الاستسلام، لكن فرح الكثير منهم لأن الجحيم النازل عليهم سيتوقف، كانت القوات الأمريكية قد دمرت مدينة طوكيو بقنابل النابالم وأحرقتها.

كانت مدينة كويوتو هي الهدف الرئيسي للقنبلة، لكن السياسيين رأوا أن للمدينة مكانة تاريخية ودينية عند اليابانيين، وتدميرها سيضر بسمعة أمريكا الأخلاقية.

اليوم لم تعد هوريشيما مدينة مدمرة، بل مدينة حديثة راقية، لم يبقى من أثار الدمار شيء سوى مبنى القبة الذي احتفظ به كذكرى للكارثة.

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

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

>لا أعرف السلاح الذي سيستخدم في الحرب العالمية الثالثة، لكنني أعرف أن الناس سيستخدمون العصي في الحرب العالمية الرابعة.
>
>آينشتاين

الاثنين، 18 يوليو، 2005

كتاب: قرن التقنية الحيوية

مؤلف الكتاب هو [جيرمي ريفكن](http://en.wikipedia.org/wiki/Jeremy_Rifkin)، الذي نشر العديد من الكتب والمقالات حول العلم والأخلاق، كتاب قرن التقنية الحيوية يطرح أسئلة كثيرة حول [الجينات](http://en.wikipedia.org/wiki/Gene) وتأثيرها على حياتنا، حينما اكتشفت الجينات وبدأ العلماء في دراسة فوائدها والإمكانيات التي توفرها، بدأ العلماء في إجراء تجارب كثيرة، من أشهرها الاستنساخ والنعجة [دولي](http://en.wikipedia.org/wiki/Dolly_the_sheep)، لكن دولي ما هي إلا جزء صغير من عالم الجينات الكبير.

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

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

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

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

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

قد يستغرب البعض من طرح مثل هذا السؤال وهذه القضايا، لأننا في مجتمع مسلم محافظ تبدو لنا بعض القضايا واضحة ولا تحتاج إلى جدال، لكن دعونا لا ننسى أن ما يحدث في الغرب سيؤثر علينا بشكل أو بآخر، الأمم المتحدة والولايات المتحدة تسعيان لفرض بعض المعايير والمبادئ على أنها مبادئ عالمية __يجب__ أن يقبل بها الجميع بغض النظر عن اختلاف الأديان والثقافات، فهل سنرى اهتماماً من قبل العامة بمثل هذه القضايا على تمس كل مقدس لديهم؟

السبت، 9 يوليو، 2005

تاريخ الحاسوب وواجهات البرامج

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

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

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

لكي تبحث عن تاريخ الحاسوب، إذهب إلى جوجل وابحث عن computer history وستجد عشرات المواقع المفيدة، مثل:

* [A HISTORY OF THE COMPUTER - PBS](http://www.pbs.org/nerds/timeline/)
* [صور قديمة للحواسيب](http://www.crowl.org/Lawrence/history/)
* [تاريخ الحاسوب من قرون قبل الميلاد إلى عام 1997م](http://www.maxmon.com/history.htm)
* [تاريخ الحاسوب الشخصي](http://www.islandnet.com/~kpolsson/comphist/)
* [العرض الأول للماوس](http://sloan.stanford.edu/MouseSite/1968Demo.html)
* [Digibran.com](http://www.digibarn.com/)
* [TheOldComputer.com](http://www.theoldcomputer.com/MainMenu.htm)
* [Retrocomputing](http://www.brouhaha.com/~eric/retrocomputing/)
* [Old-Computers.com](http://www.old-computers.com/news/default.asp)
* [Obsolete Computer Museun](http://www.obsoletecomputermuseum.org/)

أي شخص مولع بالحاسوب سيجد في هذه المواقع ما يكفي لقضاء ساعات في القراءة والبحث، ستقرأون في هذه المواقع عن شركات وأشخاص وتقنيات، أبحثوا في موسوعة [ويكيبيديا](http://en.wikipedia.org/wiki/Main_Page) عن أسماء الأشخاص أو التقنيات وستجدون المزيد من المعلومات.

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

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

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

لكي تبحث عن موضوع واجهات البرامج، إبحث كالمعتاد في ويكيبيديا وجوجل عن GUI وusability وGUI history، وستجد بعض المواقع المفيدة:

* [معرض واجهات الاستخدام](http://toastytech.com/guis/)
* [تاريخ واجهات الاستخدام](http://arstechnica.com/articles/paedia/gui.ars)
* [GUIdebook](http://www.aresluna.org/guidebook/index)، موقع مميز ويحوي مئات اللقطات لأنظمة تشغيل مختلفة.
* [مقالات جيكوب نيلسون](http://www.useit.com/alertbox/)
* [أكبر 10 أخطاء في التصاميم](http://www.asktog.com/Bughouse/BugHallOfFame.html)
* [التاريخ الحقيقي لواجهات الاستخدام](http://www.sitepoint.com/article/real-history-gui)

أما الكتب فهي كثيرة، هذه قائمة ببعض الكتب التي أنصح بقراءتها، إبحثوا عنها في أمازون:

* The Humane Interface
* The Design of Everyday Things
* Emotional Design
* Handbook of Usability Testing
* Designing Visual Interfaces: Communication Oriented Techniques

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

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

الثلاثاء، 5 يوليو، 2005

نصائح صغيرة لمن يريد أن يكون مبرمجاً

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

لم تكن شبكة الويب قد اخترعت بعد، وشبكة الإنترنت لا يستخدمها إلا القليل من الناس وهم في الغالب علماء ومدرسون وطلاب جامعات ومعاهد أبحاث، وكانت الخدمات المتوفرة هي المجموعات الإخبارية (newsgorups)، البريد الإلكتروني، خدمة نقل الملفات FTP وخدمات أخرى ربما لم يسمع بها الكثير من الناس مثل [Gopher](http://en.wikipedia.org/wiki/Gopher_protocol).

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

لهذه الأسباب كان الكثير من مستخدمي الحاسوب يتقنون البرمجة، في ذلك الوقت كانت هناك ثقافة منتشرة بين مستخدمي الحاسوب وهي ثقافة الهاكرز، للأسف وسائل الإعلام اليوم تسمي من يخترق الحواسيب ويخرب المواقع هاكرز، لكن التسمية الصحيحة هي كراكرز ([crackers](http://en.wikipedia.org/wiki/Hacker#Hacker:_Intruder_and_criminal))، أما الهاكرز فهم مبرمجون، وفي بداية عصر الحاسوب كان الهاكرز يتبادلون الخبرات في ما بينهم ويطورون البرامج بشكل مشترك ولم يكن هناك شيء اسمه البرامج الحرة لأن البرامج يفترض بها أصلاً أن تكون حرة، هذا أمر بديهي في ذلك الوقت، كانت بعض المجلات تنشر في صفحاتها برامج كثيرة، كل ما على المرء أن ينقل ما في المجلة ويكتبه في الحاسوب ليصبح لديه برنامج يستطيع أن يتعلم منه، يطوره، ويعطيه للآخرين.

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

لماذا أذكر كل هذا؟ في اعتقادي أن دراسة تاريخ الحاسوب ولو بشكل عام يساعد المبرمج على فهم الحاسوب بشكل أفضل، صحيح أن ذلك لا يضمن للمبرمج أن يكتب برامج أفضل، لكن على الأقل يعطيه فكرة أوضح عن الحاسوب ويساعده على فهم الكثير من الجوانب في عالم الحواسيب والبرمجة، لذلك أول ما أنصح به هو دراسة تاريخ الحاسوب وهو بالمناسبة موضوع ممتع، على الأقل بالنسبة لي!

اليوم حتى لو لم تأتي الحواسيب مع كتب برمجة، يمكن لأي شخص الوصول إلى آلاف المصادر في شبكة الويب ويمكنه تبادل الخبرات مع أناس من مختلف أنحاء العالم، أصبح العلم متوفراً ويمكن الوصول له بسهولة، كل ما على المرء فعله هو أن يتحرك فعلاً ويتعلم.

### البرمجة ليست لغات البرمجة
يخطأ الكثير من الناس عندما يربطون بين البرمجة ولغات البرمجة، البرمجة هي أساسيات ومبادئ يمكن تطبيقها في أي لغة برمجة، من الخطأ أن يتعلم المرء لغة معينة ثم يقول أنه تعلم البرمجة، أن تتعلم البرمجة يعني أنك تستطيع تعلم أي لغة وأن تبرمج بها بدون أن يتطلب ذلك منك الكثير من الوقت والجهد، لغات البرمجة ما هي إلا أدوات ومن الخطأ الاعتماد على أداة واحدة لفعل كل شيء.

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

البرمجة كذلك لا تختلف كثيراً عن عالم السيارات، هناك لغات برمجة مخصصة لأغراض معينة، فمثلاً لغة [PHP](http://www.php.net/) مخصصة لإنشاء المواقع، ويمكن استخدامها لإنشاء تطبيقات عادية، لكن لماذا أستخدمها لهذا الغرض في حين أن هناك لغات أخرى أكثر فعالية؟ المبرمج لا يخشى تعلم لغة جديدة، ومن المفترض أن يتعلم اللغات الجديدة بسرعة لأنه قد اكتسب الأساسيات ولا يحتاج إلى تعلمها من جديد، بعكس الشخص المبتدئ الذي يحتاج إلى تعلم الأساسيات.

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

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

### الواجهة هي البرنامج
تذكر أن الناس الذين سيستخدمون برامجك هم في الغالب لا يهتمون أبداً بالبرمجة وكل ما يريدون هو برنامج سهل الاستخدام ويحقق لهم ما يريدون، هذا يعني أن الناس يتعاملون فقط مع واجهة البرنامج وهي البرنامج بالنسبة لهم، لذلك عليك أن تتعلم كيفية إنشاء واجهات سهلة الاستخدام ومنسقة، وهذا يعني أن تتعلم قابلية الاستخدام (usability) وتقرأ عن هذا الجانب، وبالتأكيد القراءة عن واجهات البرامج وتاريخ واجهات أنظمة التشغيل سيساعدك على إنشاء واجهات سهلة الاستخدام.

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

### تعلم XHTML وCSS
عاجلاً أو آجلاً ستنشر بعض الوثائق والمقالات والملفات في موقع ما، قد تقوم بإنشاء موقعك الشخصي، تعلم XHTML وCSS سيساعدك كثيراً على نشر ما تريد في المواقع، وهذه التقنيات ليست صعبة، إن كنت تتعلم البرمجة فبكل تأكيد يمكنك تعلم هذه التقنيات خلال ساعات قليلة.

### درب عضلات دماغك باستمرار
إن توقفت عن البرمجة والقراءة والتدرب سيحدث لك ما يحدث لأي لاعب رياضي يتكاسل عن التدريب، ستنسى ما تعلمته في السابق وقد تحتاج إلى إعادة دراسته لكي تسترجعه مرة أخرى، اقرأ كثيراً واشتري كتب البرمجة واقرأ أيضاً في مجالات أخرى بعيدة عن البرمجة، طبق ما تقرأه وعلمه للآخرين وسترسخ المعلومات في دماغك، أما إن أبقيتها لنفسك ولم تطبقها فلن تستطيع أن تحفظها.

حاول أن تتقن الكتابة، لأنك ستضطر للتعبير عن أفكارك وستدخل في نقاشات كثيرة، ومن الضروري أن تتقن الكتابة لكي تخبر الآخرين عن آراءك وأفكارك، من الضروري أن تنقل ما لديك من خبرات للآخرين سواء عن طريق المقالات أو الكتب.

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

### في الختام
هذا موضوع أحببت أن أضع فيه ملاحظات متفرقة حول البرمجة، تصلني بعض الأسئلة حول هذا الموضوع وأردت أن تكون الإجابة مفصلة بعض الشيء.

البرمجة عالم كبير، ولا أعتبر نفسي مبرمجاً لكنني قرأت الكثير حول هذا الموضوع، للمزيد من المعلومات أرجوا قراءة وزيارة هذه المواقع:

* [موضوع عن الهاكرز في ويكيبيديا](http://en.wikipedia.org/wiki/Hacker)
* [كيف تصبح هاكراً؟](http://www.catb.org/~esr/faqs/hacker-howto.html)
* [موقع المبرمج جول](http://www.joelonsoftware.com/)
* [مقالات Paul Graham](http://www.paulgraham.com/articles.html)