بدأت الحواسيب الشخصية بالظهور و النتشار في بدايات الثمانينيات من القرن الميلادي الماضي , كان الأمر مختلفا في ذلك الوقت , بعض الحواسيب تأتي كاملة و كل ما عليك فعله هو توصيله بمقبس الكهرباء و تشغيلها , و بعضها الآخر كان مخصصا لهواة تجميع الحواسيب , و تجميع الحواسيب في ذلك الوقت كان يتطلب مهارة أكبر من تجميعهااليوم , حتى أن بعضها كان يأتي بدون هيكل خاص , و بعضها يحتاج إلى خبرة في البرمجة لكي تستطيع إنشاء نظام التشغيل الخاص بها , إلا أن ما يعجبني حقا في الحواسيب القديمة هو أن معظمها يباع مع كتب برمجة , و غالبا البرمجة بلغة البيسيك , كان مستخدمي الحاسوب في ذلك الوقت أكثر معرفة و خبرة في البرمجة من المستخدمي الحاسوب في هذه الأيام .
لم تكن شبكة الويب قد اخترعت بعد , و شبكة الإنترنت لا يستخدمها إلا القليل من الناس و هم في الغالب علماء و مدرسون طلاب جامعات و معاهد أبحاث , و كانت الخدمات المتوفرة هي المجموعة الإخبارية(Newsgroups) البريد الإلكتروني , خدمة نقل الملفات FTP و خدمات أخرى ربما لم يسمع بها الكثير من الناس مثل Gopher .
و لهذا كان على مستخدم الحاسوب أن يعتمد على نفسه , لإغن كان يريد برنامج معين فعليه أن يبرمجه بنفسه , أو يبحث عنه بين أصدقائه , و كانت وسائل التخزين في ذلك الوقت بدائية مقارنة مع وسائل التخزين اليوم , كانت صغيرة الحجم و تكلف الكثير من المال , كان من الصعب نقل البرامج و نسخها عل نطاق واسع , بسبب تكلفة و سائط التخزين و عدم وجود شبكة الويب و عدم تمكن معظم الناس من استخدام الإنترنت.
لهذه الأسباب كان الكثير من مستخدمي الحاسوب يتقنون البرمجة , في ذلك الوقت كانت هناك ثقافة منتشرة بين مستخدمي الحاسوب و هي ثقافة الهكرز , للأسف و سائل الإعلام اليوم تسمي من يخترق الحواسيب و يخرب المواقع هاكرز , لكن التسمية الصحيحة هي كراكرز , أما الهاكرز فهم مبرمجون , و في بداية عصر الحاسوب كان الهاكرز يتبادلون الخبرات في ما بينهم و يطورون البرامج بشكا مشترك و لم يكن هناك شيء اسمه البرامج الحرة لأن البرامج يفترض بها أصلا أن تكون حرة , هذا أمر بديهي في ذلك الوقت , كانت بعض المجلات تنشر في صفحاتها برامج كثيرة , كل ما على المرء أن ينقل ما في المجلة و يكتبه في الحاسوب ليصبح لديه برنامج يستطيع أن يتعلم منه , يطوره , و يعطيه للآخرين .
باختصار كان ذلك الوقت نعمة بالنسبة للمبرمجين , و جاءت الشركات و بدأت البرامج التجارية في الظهور , بدأت الحواسيب تصبح أكثر سهولة و أكثر انتشار, لم تعد تأتي مع كتب للبرمجة , أصبح الحاسوب منتجاً يرغب الناس في شراءه كما يشترون الثلاجات و التلفاز , الكثير منهم ليس اه أدنى علاقة بالبرمجة و لا يعرف شيئا في الحاسوب إلا تشغيله , و كتابة بعض الأشياء في ملف ما تم طباعته , و بالطبع اخترعت شبكة الويب و لم يعد علم الحاسوب كما كان من قبل.
لماذا أذكر كل هذا ؟ في اعتقادي أن دراسة تاريخ الحاسوب ولو بشكل عام يساعد المبرمج على فهم الحاسوب بشكل أفضل , صحيح أن ذلك لا يضمن للمبرمج أن يكتب برامج أفضل لكن على الأقل يعطيه فكرة أوضح عن الحاسوب و يساعده على فهم الكثير من الجوانب في عالم الحواسيب و البرمجة . لذلك أول ما أنصح به هو دراسة تاريخ الحاسوب و هو بالمناسبة موضوع ممتع.
اليوم حتى لو لم تأتي الحواسيب مع كتب برمجة , يمكن لأي شخص الوصول إلى آلاف المصادر في شبكة الويب و يمكنه تبادل الخبرات مع أناس من مختلف أنحاء العالم , أصبح العلم متوفراً و يمكن الوصول له بسهولة , كل ما على المرء فعله هو أن يتحرك فعلاً و يتعلم.
البرمجة ليست لغات البرمجة :
يخطأ الكثير من الناس عندما يربطون بين البرمجة و لغات البرمجة , البرمجة هي أساسيات و مبادئ يمكن تطبيقها في أي لغة برمجة , من الخطأ أن يتعلم المرء لغة معينة ثم يقول أنع تعلم البرمجة , أن تتعلم البرمجة يعني أنك تستطيع تعلم أي لغة وأن تبرمج بها بدون أن يتطلب ذلك منك الكثير من الوقت و الجهد , ولغات البرمجة ماهي إلا أدوات و من الخطأ العتماد على أداة واحدة لفعل كل شيء.
دعونا نسبه البرمجة بقيادة السيارات . لكي تقود السيارة عليك أن تتعلم أساسيات و تتعلم قوانين المرور و إذا اجتزت الاختبارات و حصلت عل رخصة القيادة يمكنك و قتها أن تقود أي سيارة , لا يهم إن كانت غالية الثمن أو رخيصة ,لا يهم إن كانت مصنوعةة لدى مرسيدس أو هوندا , المهم أنها تساعدك على الوصول من النقطة (أ) إلى النقطة (ب) , و بالتأكيد المرء يحتاج إلى سيارات مختلفة لأغراض مختلفة , فالسيارة المناسبة للطرق الوعرة ليست كالسيارة العادية المخصصة للسير في الطرق المعبدة .
البرمجة كذلك لا تختلف كثيراً عن عالم السيارات , هناك لغات برمجة مخصصة لأغراض معينة , فمثلاً لغة PHP مخصصة لإنشاء المواقع , و يمكن استخدامها لإنشاء تطبيقات عادية, لكن لماذا أستخدمها لهذا الغرض في حين أن هناك لغات أخرى أكثر فعالية؟ المبرمج لا يخشى تعلم لغة جديدة , و من المفترض أن يتعلم اللغات الجديدة بسرعة لأنه قد اكتسب الأساسيات و لا يحتاج إلى تعلمها من جديد , بعكس الشخص المبتدئ الذي يحتاج إلى تعلم الأساسيات .
لكي تتعلم البرمجة يجب أن تبدأ بتعلم لغة محددة , أي لغة , المهم أن تتعلم أساسيات البرمجة , ثم بعد ذلك خلص نفسك من تبعية الأدوات , أعني بذلك أن تكون مستعداً لتعلم لغات أخرى و تستخدمها متى ِشئت , لا تضيق على نفسك بلغات محددة , لأن عام البرمجة يتطور باستمرار , تظهر لغات جديدة و تموت لغات قديمة , وتبقى بعض اللغات حية لوقت طويل.
لم تكن شبكة الويب قد اخترعت بعد , و شبكة الإنترنت لا يستخدمها إلا القليل من الناس و هم في الغالب علماء و مدرسون طلاب جامعات و معاهد أبحاث , و كانت الخدمات المتوفرة هي المجموعة الإخبارية(Newsgroups) البريد الإلكتروني , خدمة نقل الملفات FTP و خدمات أخرى ربما لم يسمع بها الكثير من الناس مثل Gopher .
و لهذا كان على مستخدم الحاسوب أن يعتمد على نفسه , لإغن كان يريد برنامج معين فعليه أن يبرمجه بنفسه , أو يبحث عنه بين أصدقائه , و كانت وسائل التخزين في ذلك الوقت بدائية مقارنة مع وسائل التخزين اليوم , كانت صغيرة الحجم و تكلف الكثير من المال , كان من الصعب نقل البرامج و نسخها عل نطاق واسع , بسبب تكلفة و سائط التخزين و عدم وجود شبكة الويب و عدم تمكن معظم الناس من استخدام الإنترنت.
لهذه الأسباب كان الكثير من مستخدمي الحاسوب يتقنون البرمجة , في ذلك الوقت كانت هناك ثقافة منتشرة بين مستخدمي الحاسوب و هي ثقافة الهكرز , للأسف و سائل الإعلام اليوم تسمي من يخترق الحواسيب و يخرب المواقع هاكرز , لكن التسمية الصحيحة هي كراكرز , أما الهاكرز فهم مبرمجون , و في بداية عصر الحاسوب كان الهاكرز يتبادلون الخبرات في ما بينهم و يطورون البرامج بشكا مشترك و لم يكن هناك شيء اسمه البرامج الحرة لأن البرامج يفترض بها أصلا أن تكون حرة , هذا أمر بديهي في ذلك الوقت , كانت بعض المجلات تنشر في صفحاتها برامج كثيرة , كل ما على المرء أن ينقل ما في المجلة و يكتبه في الحاسوب ليصبح لديه برنامج يستطيع أن يتعلم منه , يطوره , و يعطيه للآخرين .
باختصار كان ذلك الوقت نعمة بالنسبة للمبرمجين , و جاءت الشركات و بدأت البرامج التجارية في الظهور , بدأت الحواسيب تصبح أكثر سهولة و أكثر انتشار, لم تعد تأتي مع كتب للبرمجة , أصبح الحاسوب منتجاً يرغب الناس في شراءه كما يشترون الثلاجات و التلفاز , الكثير منهم ليس اه أدنى علاقة بالبرمجة و لا يعرف شيئا في الحاسوب إلا تشغيله , و كتابة بعض الأشياء في ملف ما تم طباعته , و بالطبع اخترعت شبكة الويب و لم يعد علم الحاسوب كما كان من قبل.
لماذا أذكر كل هذا ؟ في اعتقادي أن دراسة تاريخ الحاسوب ولو بشكل عام يساعد المبرمج على فهم الحاسوب بشكل أفضل , صحيح أن ذلك لا يضمن للمبرمج أن يكتب برامج أفضل لكن على الأقل يعطيه فكرة أوضح عن الحاسوب و يساعده على فهم الكثير من الجوانب في عالم الحواسيب و البرمجة . لذلك أول ما أنصح به هو دراسة تاريخ الحاسوب و هو بالمناسبة موضوع ممتع.
اليوم حتى لو لم تأتي الحواسيب مع كتب برمجة , يمكن لأي شخص الوصول إلى آلاف المصادر في شبكة الويب و يمكنه تبادل الخبرات مع أناس من مختلف أنحاء العالم , أصبح العلم متوفراً و يمكن الوصول له بسهولة , كل ما على المرء فعله هو أن يتحرك فعلاً و يتعلم.
البرمجة ليست لغات البرمجة :
يخطأ الكثير من الناس عندما يربطون بين البرمجة و لغات البرمجة , البرمجة هي أساسيات و مبادئ يمكن تطبيقها في أي لغة برمجة , من الخطأ أن يتعلم المرء لغة معينة ثم يقول أنع تعلم البرمجة , أن تتعلم البرمجة يعني أنك تستطيع تعلم أي لغة وأن تبرمج بها بدون أن يتطلب ذلك منك الكثير من الوقت و الجهد , ولغات البرمجة ماهي إلا أدوات و من الخطأ العتماد على أداة واحدة لفعل كل شيء.
دعونا نسبه البرمجة بقيادة السيارات . لكي تقود السيارة عليك أن تتعلم أساسيات و تتعلم قوانين المرور و إذا اجتزت الاختبارات و حصلت عل رخصة القيادة يمكنك و قتها أن تقود أي سيارة , لا يهم إن كانت غالية الثمن أو رخيصة ,لا يهم إن كانت مصنوعةة لدى مرسيدس أو هوندا , المهم أنها تساعدك على الوصول من النقطة (أ) إلى النقطة (ب) , و بالتأكيد المرء يحتاج إلى سيارات مختلفة لأغراض مختلفة , فالسيارة المناسبة للطرق الوعرة ليست كالسيارة العادية المخصصة للسير في الطرق المعبدة .
البرمجة كذلك لا تختلف كثيراً عن عالم السيارات , هناك لغات برمجة مخصصة لأغراض معينة , فمثلاً لغة PHP مخصصة لإنشاء المواقع , و يمكن استخدامها لإنشاء تطبيقات عادية, لكن لماذا أستخدمها لهذا الغرض في حين أن هناك لغات أخرى أكثر فعالية؟ المبرمج لا يخشى تعلم لغة جديدة , و من المفترض أن يتعلم اللغات الجديدة بسرعة لأنه قد اكتسب الأساسيات و لا يحتاج إلى تعلمها من جديد , بعكس الشخص المبتدئ الذي يحتاج إلى تعلم الأساسيات .
لكي تتعلم البرمجة يجب أن تبدأ بتعلم لغة محددة , أي لغة , المهم أن تتعلم أساسيات البرمجة , ثم بعد ذلك خلص نفسك من تبعية الأدوات , أعني بذلك أن تكون مستعداً لتعلم لغات أخرى و تستخدمها متى ِشئت , لا تضيق على نفسك بلغات محددة , لأن عام البرمجة يتطور باستمرار , تظهر لغات جديدة و تموت لغات قديمة , وتبقى بعض اللغات حية لوقت طويل.
Tue Nov 05, 2013 6:35 am by okba als
» ترحيب بالأعضاء
Tue Nov 05, 2013 6:09 am by okba als
» برنامج يعلمك لغة الدلفي بشكل مثير
Mon Nov 04, 2013 10:53 pm by سيد برتوكول
» دليل هاتف الدلفي
Sun Nov 03, 2013 11:24 am by سيد برتوكول
» سلسلة فيبوناتشي
Sun Nov 03, 2013 11:22 am by سيد برتوكول
» كود جميل ورائع جربه واعرف بنفسك ماذا يعمل
Wed Apr 17, 2013 1:55 am by سيد برتوكول
» المبرمجون مستائون من الواجهة الرسومية لويندوز ٨ (Windows 8)(نسخة المطورين)
Thu Jun 21, 2012 10:26 pm by pc-king.dahek.net
» حزيرة للعلماء
Tue Apr 10, 2012 3:23 am by عفريت السويداء
» اسباب تجعل الكمبيوتر يعمل بشكل بطيء
Sun Mar 18, 2012 6:49 am by عفريت السويداء
» دروس المبتدئين.....الدرس الأول (تعليم القص)
Sat Mar 17, 2012 6:03 am by عفريت السويداء