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