سلسلة: الشامل في البرمجة [الجزء الأول]

مقدمة :

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

البداية :

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

من أين أبدأ؟ و ما اللذي أريد الوصول له؟

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

أنا إخترت، لكن هنالك خيارات مربكة أمامي؟

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

مطور ويب

عند إختيارك لهذه الطريق، سوف أشرح لك وبشكل سريع الطريق الذي ستأخده، بحكم أننا سنتحدث في الأمر بشكل مفصل لاحقا.
بما أنك مطور ويب، لابد من تعلمك للـ HTML أولا، هي ليست بلغة برمجة على الإطلاق، لاتقلق إن كان الأمر مبهما عليك، سنتحدث عن الـHTML بشكل مفصل إن شاء الله.
بعد تمكنك من HTML، لابد من تعلم CSS لتنسيق صفحاتك و جعلها أكثر جمالا، وبإمكانك رؤية جمال قالب تقانة على سبيل المثال، هذا كله بفضل CSS! عند هذه المرحلة، ستكون قطعت 25% من طريقك لتصبح مطور ويب! ما التالي؟ حسنا ..
الأن أنت في مرحلة لا بأس بها، لذلك سوف تبدأ بتعلم JavaScript، قد تقول لما وأنا أستطيع بناء صفحات بغاية الروحة دون الحاجة لها؟ سوف أجيب، لابد من تعلم هذه اللغة لما تضفيه من تأثيرات حركية وتفاعلية مع المستخدم، فلا يمكنك مثلا أن نظام التعليقات (لجعل الزوار يعلقون على موقعك) أو وضع لمسات تفاعلية في موقعك بدون JavaScript، لكن دعنا نترك JavaScript، فلن نتعلمها لإختصار الوقت. قد تقول أنني مجنون (بسبب تقلب أرائي) لكن دعني أكمل، ستتعلم jQuery التي تختصر عناء JavaScript في بضع مكتبات صغيرة، بحيث بدل أن تنشأ تأثيرا بأكثر من 50 سطرا من الأكواد، تختصر عليك مكتبة jQuery ذلك في سطر واحد (أمر لا يصدق!). عند هذه النقطة ستكون أنهيت 50% من طريقك نحو لقب مطور ويب :) .
الأن، ما عليك تعلمه هو أحد لغات البرمجة من جهة الخادم (Server)، إختر واحدا من الإثنين php أو ASP.NET، أنا أفضل الـphp لإنها مفتوحة المصدر إضافة إلى أنها مجانية بالكامل. عند هذه النقطة ستعتبر مطور ويب، ماعليك هو صقل مهارتك و تجنب نسيان ما تعلمته.

مطور تطبيقات مكتبية:

حسنا، الأمر هنا يصبح أكثر تفرعا، فهناك العديد من الطرق و اللغات للإختيار بينها، لكن سأضع لك نقط تفيدك في مسيرة تعلمك:
  1. تعلم لغة vb.net، لسبب بسيط هو لسهولتها سواءا في التعلم أو كتابة البرامج. لن تجد أي عقبات كبيرة لو بدأت منها ففي إعتقادي هذا هو الطريق الصحيح للبداية.
  2. تعلم لغة C#، ستتعلمها بسرعة كبير بحكم أنك تعلمت مسبقا vb.net، فالقاعدة المايكروسوفتية تقول: vb.net ≈ C#، إذن ما عليك تعلمه هو الـ Syntax (يقصد بـ Syntax هو الطريقة التي تكتب بها الأكواد، بإمكاننا القول grammar).
  3. تعلم لغة C++، بإعتبارك قد ألفت طريقة كتابة الأكواد في C#، فستجد الأمر أكثر سهولة سواءا من حيث القواعد البرمجية أو الكتابية، ستجد الصعوبة فقط في برمجة GUI في C++ (ما أقصده هنا هو أنك قد ألفت رسم الواجهة الرسومية في Visual Studio من أزرار وغيرها، أما في C++ فالأمر مختلف تماما، فلابد إستخدام وتعلم مكتبات مخصصة للواجهات الرسومية).
عند هذه النقطة ننتهي. بإمكانك تعلم لغات أخرى كـ Python أو Java… لكن ذلك يبقى خيارك، علما أننا سنتحدث عن كل لغة بالتفصيل في الجزء القادم إن شاء الله.

مطور تطبيقات الهواتف الذكية:

أيفون/أيباد

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

الأندرويد

هنا، ولتطوير تطبيقات الأندرويد، ماعليك سوى تعلم الـJava.

نهاية الجزء الأول

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

ليست هناك تعليقات:

إرسال تعليق

جميع حقوق الطبع والنشر © محفوظة لموقع نتفهم !

يتم التشغيل بواسطة Blogger.