مقدمة :

إن أغلب مستخدمي الإنترنت المقبلين على تعلم لغات البرمجة يطرحون العديد من الأسئلة كـ: ما هي لغات البرمجة؟ من هي الأفضل لتعلمها؟ من هي الأقوى؟ وكيف نتعلمها؟

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

البداية :

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

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

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

عند هذه النقطة، سنضطر للإجابة على الأسئلة التي طرحنها مسبقا.

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

[notification type=”alert-warning” close=”false” ]هذه نقطة هامة لتحديد مسارك المستقبلي في البرمجة.[/notification]

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

 

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

[notification type=”alert-warning” close=”false” ]ليس بالضرورة إتباع هذه الخطوات، لكنها عملية و أكثر كفاءة، كما أنها تختصر الوقت و تجعلك متمكنا من اللغات.[/notification]

مطور ويب

عند إختيارك لهذه الطريق، سوف أشرح لك وبشكل سريع الطريق الذي ستأخده، بحكم أننا سنتحدث في الأمر بشكل مفصل لاحقا.

بما أنك مطور ويب، لابد من تعلمك للـ 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 لكي لا تواجه أي مشاكل مستقبلا.

[notification type=”alert-info” close=”false” ]يكمن الإحتلاف في لغة C و Objective-C، هو أن الأولى لغة تنفيذية، والتانية لغة كائنية التوجه OOP[/notification]

الأندرويد

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

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

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





مقالات ذات صلة :


Profile photo of Saad Regal
2023

عن

مهتم و مطور بمجال الهواتف الذكية خاصة نظام الاندرويد، متابع لكل المستجدات التكنولوجية.





التعليقات :

# ezzedinsamir قبل سنتين
Profile photo of ezzedinsamir

أنا متابع……. :woot:

وأفضل برنامج للتعامل مع لغات البرمجة هو :
http://ezzed.in/?p=48 :love:

# سفيان صبيري قبل سنتين
Profile photo of سفيان صبيري

بارك الله فيك عزيزي على هاته المقالة الرائعة و التي ستكُون لبنة قويّة و مفيدة للآلاف من الأشخاص في العالم العربي، وفقك الله و شكراً جزيلاً على إبداعِك !

تحياتي.

# MoniV قبل سنتين
Profile photo of

شكرا لك أخاه على إطرائك ^_^

# asmaa abdelmonam ali قبل سنة واحدة

انت بجد بتشرح بطريقة سهلة وسريعة جدا
من فضلك ممكن فيديوهات عن phpو jsوajax

# ezzedinsamir قبل سنتين
Profile photo of ezzedinsamir

أو برنامج Notepad++ :lol:
http://ezzed.in/program-notepad/

# MoniV قبل سنتين
Profile photo of

مقالة مترجمة بشكل آلي وغير مفهومة، إضافة إلى أن نودباد++ ليس إلا منسق وهو ليس بمفسر أو مترجم، لذلك لا ينصح باللغات اللبرمجية xD

# ezzedinsamir قبل سنتين
Profile photo of ezzedinsamir

هل ينصح sublime text إذا :lol: ومتى تبدأ الدروس :love:

# MoniV قبل سنتين
Profile photo of

هنالك فرق بين المنسق، و المترجم، والمفسر … هذه الأمور ستتعلمها في الجزء القادم إن شاء الله :)

# قريب ياسين قبل سنتين
Profile photo of قريب ياسين

السلام عليكم
أهلا بك أخي “حمادي أغراس” =)
مقالة رائعة ومنسقة كما ينبغي .. ننتظر الجزء الثاني من المقالة :|
شكرا لك.

# MoniV قبل سنتين
Profile photo of

شكرا لك أخي، والجزء القادم قريب إن شاء الله ^_^

# أبو بدر قبل سنتين

السلام عليكم

مقدمة جميلة و أنا في انتظار الأجزاء الأخرى ( أتوقعها أجزاء و ليست جزءً ثانيا و حسب :) )

شكرا

# lele قبل سنتين
Profile photo of lele

فعلا ممتاز شكرا كتيييييييير .فى انتظار الجزء الثانى

# Islam قبل سنتين

اولاً شكراً لك على هذه المقولة لقد ساعدتنى كثيراً لكن انا محتار الان , اين الجزء الثانى من هذه السلسلة :(

# moath قبل 5 شهور
Profile photo of moath

يعطيك العافيه استفدت كثير من ه الموضوع وشكرا

كتابة تعليق :

xD oO ^_^ =] =) ;-( ;) :| :woot: :whistle: :sleep: :sick: :police: :p :o :ninja: :mm: :love: :lol: :kiss: :hmm: :evil: :bandit: :angel: :alien: :D :) :( 8)