اهلا وسهلا بك فى بوابة الثانوية العامة ... سجل الان

  #1  
قديم 04-10-2010, 02:31 AM
احمد م حجازي احمد م حجازي غير متواجد حالياً
مــٌــعلــم
 
تاريخ التسجيل: Apr 2009
المشاركات: 1,502
معدل تقييم المستوى: 17
احمد م حجازي is on a distinguished road
افتراضي البرمجة

هذه المقالة من اجمل المقالات في البرمجة احببت اناضعها لكم لكي تستفيدون منها ..

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

لم تكن شبكة الويب قد اخترعتبعد، وشبكة الإنترنت لا يستخدمها إلا القليل من الناس وهم في الغالب علماء ومدرسونوطلاب جامعات ومعاهد أبحاث، وكانت الخدمات المتوفرة هي المجموعات الإخبارية (newsgorups)، البريد الإلكتروني، خدمة نقل الملفات FTP وخدمات أخرى ربما لم يسمعبها الكثير من الناس مثل Gopher.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

آخر تعديل بواسطة احمد م حجازي ، 26-10-2010 الساعة 09:09 PM
 

العلامات المرجعية

أدوات الموضوع ابحث في الموضوع
ابحث في الموضوع:

البحث المتقدم
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


جميع الأوقات بتوقيت GMT +2. الساعة الآن 07:16 AM.