السلام عليكم ورحمة الله وبركاته ..
أخوانى المبتدئين هذا الموضوع هو نقطة بدايتك فى هذا القسم الخاص بالبرمجة
وفيه ستجد كل الاسئلة المتكررة والتى تدور بذهنك وذهن كل مبتدأ بداية من الصفر ..
الى أن تضع قدميك على اول الطريق وتتكون لديك خلفية جيدة ان شاء الله ..
لتحدد هدفك وطريقك الذى تريده باذن الله ..
ماهى البرمجة ؟؟
هي لغة التخاطب بين الإنسان و الآلة تتكون هذه اللغة من العديد من الأوامر لتنفيذ مهمه معينه ...
فما هى الا عملية بسيطة تقوم فيها بكتابة بعض الكلمات للكمبيوتر ليقوم بتنفيذها مثلما تقوم انت بكتابة رسالة لصديقك وارسالها له من على الموبايل
وايضاً هناك ذلك التعريف الطريف :
"البرمجه هى ان تعلم اغبى صديق لديك طريقه كى يحل بها مسائلة ما"
وما مستوى الذكاء المطلوب للبرمجة ؟
قد يظن البعض ان المبرجين ما هم اشخاص ذو عقليات ومهارات خاصة ... ولكنهم فى الحقيقة ما هم الا اناس عاديين وقد يكونوا من غير الموفقين فى دارستهم للاسف
فالبرمجة هى فن قبل ان تكون علم وهى المجال الوحيد الذى قد يتساوى فيه الطالب مع الدكتور بل وقد يزيد عليه حسب خبرته الشخصية ..
فالبرمجة يمكن لاى شخص البدء فيها بكل سلاسة حسب مهارته وقدرته على التعلم وحماسه لها ..
وهل تتطلب لغة انجلزية جيدة ؟
حقيقة فى الوضع الحالى .. لابد لمن يريد ان ينال الريادة ان يكون متقناً للغة الانجلزية ....
ولكنها ليست مشكلة فى البداية فالانسان لا يولد متعلما ..
والبرمجة ليست كلمات واومر بسيطة يمكنك تعلمها بكل سلاسة دون اى وجود عائق لغوى تماما ... لكت للاحتراف والتميز لابد ان يكون جيدا فى اللغة حتى يكون ملماً بكل جديد ومساير له ..
وهل يجب ان يكون لدى خلفية رياضية جيدة ؟
قد يعتقد البعض ان المبرمجين مهارين جدا فى الرياضيات .. ولكن الحقيقة خلاف ذلك فأنت لاتحتاج للرياضة الا قليلاً وبشكل مبسط جدا .. الا فى بعض البرامج المتخصصة فى ذلك المجال فربما قد تحتاج الى بعض المعادلات البسيطة التى يمكن الحصول عليها بكل سهولة
ومن اين ابدا تعلم لغات البرمجة ؟
هناك قاعدة عصرية تقول : أبدء من حيث انتهى الاخرون او بمعنى اخر لاتعيد اختراع العجله!!!
فلغات البرمجة تتطور بسرعة وبطريقة رهيبة ولا يمكنك مجاراتها الا اذا بدأت بما انتهى اليه الاخرون .. فهناك لغات برمجة عديدة موجدة ولكن التى ظهرت فى الساحة مؤخراً هى لغات الدوت النت واشهرها لغة السى شارب ولغة الفيجوال بيسيك دوت نت او يمكنك البدء بلغة الجافا ان اردت ..
وماهى ايسر الطرق لتعلم لغات البرمجات ؟
ايسر الطرق لتعلم لغات البرمجة هى اخذ دورات متخصصة فى اللغة التى تريد العمل عليها ... ولكن بشرط أن تكون قارىء جيد فتطالع الكتب التى تظهر فى هذا المجال وايضا قراءة المقالات والدروس الموجودة على النت .
وهل يمكن التعلم من على شبكة النت ؟
غالباً نعم .. ولكن فى الفترة الحالية فالعملية قد تكون غير مجدية هذا..فقط فى المواقع العربية ..
فالدروس الموجودة على شبكة النت تكون مختصرة وبسيطة وللمبتدأين عموماًَ ولكن لن تصل بك الى مرحلة الاحتراف ... فيمكنك مطالعة الموجود على الويب حتى تأخذ فكرة جيدة على اللغات ثم تختر اللغة التى تريد ان تتخصص فيها بعد ذلك .
اما اذا كنت تجيد الانجليزيه فمع بعض الدورات المتقدمه يمكنك الوصول الى الاحتراف عن طريق النت ايضا بكل سهولة لكثرة مصادر اللغة الانجلزية لان كل جديد فى مجال البرمجة لا يظهر الا بلغته الام الانجلزية ..
وما هى المدة المطلوب لاتقان اللغة ؟
لايوجد مدة محددة ولكنها تعتمد عليك وعلى شخصيتك وقدرتك على المثابرة والتعلم ... فيمكنك اتقان لغة البرمجة كحد أدنى فى ستة أشهر وعلى الاكثر عامان بأذن الله .
وما هى المدة المطلوبة للانتقال الى لغة اخرى ؟
هذا يعتمد على مهاراتك ومدى اتقانك للغتك الاصلية .. فيمكنك الانتقال الى لغة بعد ذلك فى ظرف اسبوعان ان شاء الله .
وما هى انواع البرمجة ؟
لا يوجد تعريف محدد لانواع لغات البرمجة لانها كلها غالباً مرتبطة ببعضها وباتقانك اى لغة برمجة يمكنك التعامل بسلاسة بأى نوع من الانواع الاخرى بعد اخذك خلفية بسيطة عن اساسيتها ..
ويمكنا لبقول ان انواع لغات البرمجة نسبياً هى :
1- البرمجة العادية
2- برمجة قواعد البيانات
3- برمجة مواقع الويب
وكيف اصل للاحتراف فى البرمجة ؟؟!!
أبشرك بوصولك لهذا السوال فأنت قد وضعت قدمك على أول خطوات الاحتراف ..
فمعرفة اغلب التفاصيل عن الشئ الدى تريده قبل ان تعمل فيه هو شئ ممتاز.. حتى لا تضيع جهودك ووقتك هباء ..
فالاحتراف فى عالم البرمجة ليس له مقياس محدد... ولكن بكل بساطة يمكن اختزاله فى تلك المقولة :
قدرتك على الأنجاز وعمل كل ما فكرت به وتريده فى اقصر مدة ممكنة وفى دقة متناهية .
ولكن هل توجد اى مصطلحات معقدة !!
لغات البرمجة من العلوم الممتعة جدا واللذيذة فى نفس الوقت ..
لذلك فى البداية لن تجد اى صعوبة فى اى مصطلحات تذكر ... فهى بعض الكلمات الانجلزية السهلة التى يتم كتابتها بترتيب معين ومنطقى ليفهمها الكمبيوتر ويقوم بتنفيذها ..
مثل قطع المعكبات التى يلعب بها ابن اخيك الصغير ليكون بها بيتاً او اى شئ يحبه ..!
هل لابد لى من معرفة لغات البرمجة السابقة ؟؟
كما اتفقنا سابقاً واكرر الكلام مرة اخرى لأهمية الكلام ..
لا يشترط لتعلم لغة برمجة حديثة البدء بلغة برمجة قديمة اوحتى معرفة اللغة التى نشأت عنها وتتطورت منها ..
لانه ببساطة ما وجدت لغة برمجة جديدة الا لتعالج قصور وأوجه العجز فى اللغة القديمة او اضافة بعض التطورات لتساير التطور المذهل والسريع فى المجالات الاخرى ..
قد تجد ان هناك من يصر على بدء التعلم بلغة برمجة قديمة خصوصاً فى مجال الدارسة بالجامعات ..
وذلك لعدة اسباب من وجهة نظره تتضمن ازالة حاجز الخوف الوهمى لدى الطلاب من البرمجة،، او من ناحية تاريخية لمعرفة مدى تطور لغات البرمجة فى سنوات قليلة، او لمقارنة لغات البرمجة المختلفة والوقوف على مدى التطور ..
او ربما من ناحية اخرى وهى عدم توافر الامكانيات المتاحة من اجهزة وبرامج لذلك ..
ولكن بما انك تدرس البرمجة كدارسة حرة وهاوى لها فابدء من حيث انتهى الاخرين ..
اما ادا كان تخصصك الحاسب الالى فلابد ان اهمس فى اذنك انه يجب عليك ان تعرف وتتوسع افقياً وتأخذ فكرة لو بسيطة عن لغات البرمجة الحديثة وتحترف فى لغة واحدة فقط حتى يمكنك نقل برامجك من لغة الى اخرى بكل سهولة دون اى عوائق .
ما هى أقسام لغات البرمجة المختلفة ؟
بداية أوضح ان كل لغات البرمجة غالباً تتطورت من اصل واحد ..
لدلك يمكن ان نقول ان وجه الاختلاف هو اسلوب البرمجة نفسه ..
وان كان هدا التصنيف غير دقيق علمياً ولكن انت بخبرتك ودارستك بعد دلك ستتعرف على الفروق ان شاء الله ...
فيمكن تقسيم لغات البرمجةمن حيث طريقة كتابة البرنامج واسلوبه الى :
طريقة البرمحة الخطية :
ونستطيع ان نقول ان كل لغات البرمجة قبل ظهور الويندوز تعتمد على هدا الاسلوب مثل :
لغة البيسك - BASIC والسي - C والباسكال - Pascal والكوبول - COBOL والفوتورن
وطريقة البرمجة الشيئية Object Oriented Programming :
وهى لغات البرمجة التى ظهرت بعد نظام التشغيل ويندوز ..
حيث البرمجة تأخد مجال اكثر سهولة واتساعاً فى نفس الوقت ..!!
وهى تشتمل غلى لغات البرمجة التى تتطورت من لغات سابقة مثل
الفيجوال بيسك - Visual Basic والتى تطورت من لغة البيسيك ..
وكذلك لغات السي ++ والفيجوال سي Visual C تتطورت ايضاً من لغة السى
وكذلك الدلفي - Delphi من لغة الباسكال .
وما هو وجه الشبه فى لغات البرمجة ؟
لغات البرمجة عديدة جداً ..فهناك لغات برمجة لم تعد تستخدم حالياً لو جود الأفضل منها طبعاً وايضاً وجود اللغات الاحدث التى تساعدعلى اتمام العمل بسهولة ...
ولان لغات البرمجة تتطورت من بعضها البعض فهى على الأقل متفقة فى الناحية الهجائية اى ان اوامر اللغة والكلمات التى يفهمها لكمبيوتر تجدها متشابهة فى كل لغات البرمجة مما يجعل الانتقال من لغة الى لغة امر فى غاية السهولة
لذلك لا تستغرب من يكتب فى سيرته الداتية انه يعرف ما يقرب من عشرة لغات برمجةاواكثر !!! ... فكل مافى الامرانه اتقن لغة برمجة واحدة جيداً ثم بدأ بالتنقل الى اللغات المختلفةاو على الأقل قرأ كتباً اودروساً عنها فى الانترنت ليأخد عنها فكرة جيدة
لذلك ستجد ان كل لغات البرمجة سواء كانت قديمة او حديثة لابد ان تتحدث عن وتتطرق الى المواضيع التالية :
المتغيرات
جمل الشرط والتحكم
جمل التكرار
الدوال
المصفوفات
(لا تقلق ان كانت هناك بعض الامور الغامضة..!!
فبالدارسة العملية والتجربة وتطبيق الأمثلة وعدم الاكتفاء بالقراءة هى دليلك الى توضيح ما خفى عنك( ..
فأنت الان قد وصلت لنهاية المطاف هنا ..
ولم يعد امامك الا ان تحدد هدفك وتختار احدى لغات البرمجة التى تريد دارستها ..
وان كنت انصحك بأن تبدأ بــ:
احدى لغات برمجة بيئة الدوت نت .NET
او لغة الجافا - Java .
ملحوظة هامة :
ولكن قد يتبادر سؤال الى ذهنك .. ما هو الفرق بين الC#.NET وبين VB.NET ، رغم أنهما الأثنتين من لغات البرمجة القوية ، ولكن ، هل هناك وظائف لأى لغة متميزة عن الأخرى ؟ !!
ان الفرق الرئيسي بين لغات الدوت نت هو في طريقة كتابة الكود، أما الإمكانات فهي فيها متساوية وإن برزت لغة على لغة أخرى في هذا الجانب.. فقد أمكن دمج اللغتان لكتابة برنامج واحد، ولكن هناك من يميل حالياً خصوصاً ادا كان مبتدئ الى السى شارب..
وفى النهاية ..
كان هذا عرضاً سريعاً وخلفية موجزة عن لغات البرمجة وانواعها واوجه الشبه والاختلاف وتتطورها فى السنوات السابقه، تذكر ان محور حديثنا يتركز تبسيط المعلومات للمبتدأين حديثاً... لدلك عندما تبدأ فى العمل ستكتسب معلومات كثيرة ومهارات افضل عن هدا ان شاء الله .
فإن لم تكن لديك المعرفه بما سبق ذكره من معلومات وتقنيات برمجيه، فأرجوا ان لا يصيبك ذلك بالاحباط بل على العكس من ذلك يمكنك ان تعتبر نفسك مبرمج محظوظ جداً ، حيث ستبدء حياتك الجديده من حيث أنتهى الاخرون ،
ومع احدث وأفضل تقنيه تستخدم لتطوير التطبيقات في القرن الحادي والعشرين وهي .NET ان شاء الله