التخطي إلى المحتوى الرئيسي

لمن يريد ان يكون مبرمجا


ربما قرأت العشرات من المقالات حول هذا العنوان ولهذه اللحظة لاتزال متوترا حول "موضوع البرمجة" .
حسنا انك شخص هاوي تريد تعلم البرمجة, متحير حول نقطة البداية, نوع اللغة التي ستبدأ بها....
لنتطرق اولا الى فوائد كونك مبرمجا قبل كل شيء فلعل هذا سيكون حافزا لدخولك هذا العالم الواسع.
مافائدة البرمجة؟
بغض النظر عن اللغة التي ستتعلمها او الطريقة او المكان او الغاية.. – بشكل عام – هناك عدة فوائد لكونك مبرمج:
1-  اضافة لكون البرمجه تقوي مهارات الرياضيات لديك فهي تعتبر عامل مهم لترقيتك في وظيفتك ان كنت تعمل في اختصاص يهتم بتكنولوجيا المعلومات او البرامجيات على حد سواء, حيث يمكنك خوض الامتحانات المخصصة للغة التي تتقنها وحصولك على الشهادة من الشركة الام يعتبر رصيدا وظيفيا جيدا.
2-  ان لم تكن موظف وبغض النظر عن عملك فان المبرمجين يمكنهم العمل من خلال الويب بما يسمى Freelancing حيث هناك مواقع كثيره يمكن للمبرمجين الاشتراك بها وتقديم خدماتهم بمقابل مادي.
3-  نظرا لتوسع الويب بشكل خاص وتطور منصات العمل البرمجي وتعدد البرامجيات وتخصصها ادى الى زيادة الطلب على المبرمجين من مختلف المستويات حيث يعمل المبرمجون في الشركات بنظام الساعات حيث تخصص لكل ساعة عمل مبلغ معين, لذا فأن مستقبل البرمجة مستقبل واعد جدا.
4-  لست ملزما بالارتباط بشركة او جهة ما لتقدم خدماتك فيمكنك تطوير برامج خاصة بك وعرضها على الزبائن بشكل فردي او من خلال مجموعات.
5-  كما يمكنك التباهي امام اصدقائك بكونك تعلم لغة لايعلمها اغلب سكان الارض! (ان كان هذا يشعرك بتحسن)

ماذا سافعل بالضبط؟
ان اختيارك البرمجة تحديدا لايقتضي بكتابة الاكواد فقط. عندما تتعلم مبادئ البرمجة للغة ما ستتعلم انشاء هيكلية البرامج التي ستقوم ببرمجتها, لو فرضنا ان البرنامج يتكون من جزئين معنويين (الواجهة , والهيكل) ولنفرض ان الواجهة هي كل ماتراه من نصوص ورسوم وقوائم في برنامج ما والهيكل هو الجزء البرمجي المخفي الذي يعمل خلف الواجهة لتنفيذ الايعازات التي تقوم بفعلها.
كمبرمج سينصب اهتمامك بالجزء الهيكلي, لكن من خلال تعلمك لايمكن توفير مبرمج متفرغ ليصمم لك البرامج "الواجهة" اذن لابد لك من انشاءها بنفسك حيث الهيكل والواجهة جزيئن لايتجزءان احدهما يكمل الاخر, فعند تعلمك لغة C++  مثلا فأنك تتعلم تصميم وبرمجة البرامج لكن ستتركز الدروس على الناحية البرمجية اكثر من التصميمية.
اعتقد في هذه النقطه قد تكونت لديك فكرة شامله...

ما اللغة الي يجب ان أبدأ بها؟

ان لغات البرمجة تختلف كبصمات الابهام لدى البشر وأن تشابهت في بعض الصفات, فلكل لغة اسم وطريقة للكتابة وخصائص معينه وفوائد تختلف عن اللغة الاخرى مثلا لغة البرمجة PHP  لغة سهل بسيطة وانسيابيه تستعمل لبرمجة صفحات الويب الديناميكية وتطبيقات الويب وتتميز بسهولتها وكونها مصدر مفتوح بخلاف ذلك فأن لغة C#  مثلا قد تكون معقده قليلا لكنها لغة متينه وقوية وذات استعمالات واسعه ويمكن انشاء البرامج المكتبية من خلال هذه اللغة ولايمكن انشاء صفحات الويب... وهكذا
لذا.. إن كنت محب لتطبيقات الويب والمواقع الديناميكية مثل موقع الفيس بوك او تويتر فلعلك تبدا بلغة مخصصة لبرمجة صفحات الويب مثل PHP  او Coldfusion  او ASP  او Perl أو غيرها من اللغات.
يمكنك العثور على تفاصيل كل لغة والفرق بينها على الرابط http://www.objs.com/survey/lang.htm


اما اذا كانت البرامج المكتبيه او الالعاب تلفت انتباهك فيمكنك البدء بتعلم لغة برمجة البرامج مثل C++  أو C أو Java أو Visual basic أو غيرها
يمكنك العثور على تفاصيل اكثر حول لغات البرمجة والفرق بينها والافضل منها على
لك حرية اختيار اللغة التي تبدأ بها لكن كأختيار عالمي يفضل الناس لغة PHP للويب لسهولتها ولغة C++  للبرامج
قبل ان تبدأ:
1-  البرمجة تحتاج الى شخص صبور, اعتقد هذه الكلمة المناسبة تماما, فالعديد من الاشخاص تركوا البرمجة واصبحت لهم ككابوس, البرمجة كائن منطقي ان كانت طريقتك صحيحه وخاليه من الاخطاء يصمت وان كنت ترتكب الاخطاء يصيح في وجهك لذا تحل بالصبر فكأي مبرمج مبتدء سوف ترتكب الاخطاء ولن يعمل برنامج من اول مره وستصاب بالملل, حاول مرة ومرة ثانية وثالثة الى ان يعمل البرنامج بنجاح حينها تشعر بالابتهاج.
2-  طبق الدروس التي تتعلمها بالتوالي, كل درس جديد تتعلمه قم بتطبيقه بالحاسوب اكثر من مره لان الاكواد البرمجية هيه باللغة الانجليزية وتكون عادة اختصارات ورموز سهلة النسيان مارس التطبيقات العملية في اوانها ولا تحاول تعلم اكثر من درس في الوقت المخصص لدرس واحد.
3-  عادة تكون هنالك اسئلة في نهاية كل فصل ( ان لم تكن هناك فحاول الحصول على اسئلة حول الموضوع من الانترنت) هذه الاسئله تضمن فهمك للمادة بشكل جيد في حال استطاعتك حلها جميعها وان كان هناك اترباك في نقطة ما قم بالعوده للموضوع المخصص وحاول فهم الخطأ.
4-  كما قلت ان البرمجة سهلة النسيان لذا حتى في حال انتهاءك من تعلم لغة ما استمر بالممارسه التطبيقية وحاول تعلم التقنيات الجديدة ومتابعة تحديثات اللغة التي تصدر من موقع اللغة نفسها .
5-  ان تعلمك لغة ما يسهل لك الطريق بشكل كبير لتعلم لغة اخرى فاللغات متشابهه الى حد ما بطريقة كتابتها وخواصها.
6-  ان لغة Java  هي ليست لغة JavaScript كما هو Ham ليس hamster

تعليقات

المشاركات الشائعة من هذه المدونة

الفرق بين unlocked و locked في الهواتف المحمولة

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

انشاء صفحة تسجيل دخول

مستوى الدرس:  متوسط اللغات المستخدمة:   PHP ,  SQL, HTML  كما أفترض ان لديك معرفة مسبقة بأساسيات لغة SQL والقليل من PHP   . البرامج المستخدمة:  مخدم  WAMP ، برنامج Adobe Dreamweaver CS5 او اي محرر "كود" برمجي . الصفحات التي سوف ننشئها :   Index.html   process.php   welcome.html ان انشاء صفحة تسجيل دخول حقيقية ليست بالصعوبة التي تتصورها فكل الية تسجيل دخول تتشابه بالاساسيات وربما تختلف من ناحية الجرافكس او شدة الاجراءات الوقائية, في النهاية كلها تتألف من ثلاث مراحل (ادخال البيانات, التحقق من وجود البيانات في قاعدة البيانات, التصرف في حال وجودها ام عدمه) لاشيء اخر وكلها في غاية السهولة!! تابع معي: الخطوة الاولى يجب ان ننشىء جدول في قاعدة البيانات يحتوي على جدول مكون من ثلاثة حقول (id, user, pass) وسندخل بعض المعلومات عن اسماء مستخدمين وكلمات السر كما هو موضح في الصورة: لقد ادخل معلومات مستخدم واحد كما هو موضح , والان لننتقل الى الخطوة التالية: الخطوة الثانية انشاء الصفحات الثلاث (صفحة استقبال المعلومات, صفحة معالجة المعلومات والتحقق من وجودها في قاعدة الب

انشاء نموذج الاتصال بنا

مستوى الدرس:  متوسط اللغات المستخدمة:   PHP ,   HTML  كما أفترض ان لديك معرفة مسبقة بأساسيات لغة PHP   . البرامج المستخدمة:  مخدم  WAMP ، برنامج Adobe Dreamweaver CS5 او اي محرر "كود" برمجي . الصفحات التي سوف ننشئها :   contact.php process.php ان من الصفحات الاساسية في كل موقع هي صفحة تمكن الزائرين من الاتصال بصاحب الموقع, او المدونة او الشركة او غيرها.حيث غالبا هذه الصفحات تتكون من نماذج اتصال مثل (نموذج دردشة, نموذج ارسال رسالة) وغيرها , كما تحتوي على معلومات اتصال اخرى. نماذج الاتصال تستخدم صفحات ديناميكية لمعالجة طلب الاتصال فمثلا لو كان نموذج دردشة مع خدمة الزبائن فمن خلال الصفحة الديناميكية يتم التأكد ما ان كان الموظف متواجد ام لا وعلى هذا الاساس يتم تفعيل صفحة برنامج الدردشة والذي غالبا يكون بلغة  JavaScript . لنركز على نموذج الاتصال الشائع والذي من خلاله يمكنك ارسال رسالة تحتوي على اسمك وبريدك الالكتروني ومحتوى الرسالة الى بريد الشركة او الموقع بدون استخدام خدمات البريد التقليدية... فكيف يعمل؟ سنقوم في هذا الدرس بأنشاء صفحة (اتصل بنا) تحتوي على