ماهو الطريق الصحيح لتعلم البرمجة

0 439

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

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

مسارات البرمجة

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

إذا كنت تحب أكثر من مجال و هذا شيء طبيعي جداً, فعليك إختيار مجال واحد فقط للبدء به. بعد دراسة هذا المجال و بناء بعض المشاريع فيه و تحقيق ربح منها, عندها يمكنك البدء بمجال جديد.

من فضلك لا تقم أبداً بتعلم مجاليَن في وقت واحد لأنك ستفشل بسبب الضغط الذي سببته أنت لنفسك.

أول خطوة بالنسبة لأي شخص مبتدئ يريد تعلم البرمجة من الصفر هي تعلم المنطق البرمجي, أي تعلم الخوارزميات. بعد أن تتعلم الخوارزميات, الشيء الذي تنوي فعله هو ما يحدد ما الذي عليك تعلمه تباعاً حتى تصل لهدفك.

مسار تطوير المواقع

في حال أردت تعلم تطوير المواقع الإلكترونية ( Web Development ), فهنا عندك قسمين أساسيين:

  • Front End: يقصد بها تعلم كيف تبني التصميم الذي سيراه المستخدم.
  • Back End: يقصد بها تعلم كيف يتم معالجة و حفظ بيانات الموقع.

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

ما الذي يجب أن تتعلمه لتصبح مصمم مواقع؟

لتصبح مصمم مواقع عليك تعلم الأشياء التالية تباعاً:

  1. HTML: لغة نستخدمها لتحديد الأشياء التي سنضيفها في صفحات الويب مثل الصور, العناوين و الفقرات.
  2. CSS: لغة نستخدمها لتحسين تصميم الأشياء التي أضفناها في صفحات الويب مثل تلوينها و تحديد أحجامها, مكان ظهورها, و تحديد أنواع الخطوط إلخ..
  3. Javascript: لغة نستخدمها لإضافة مؤثرات في صفحات الويب و لمعالجة البيانات التي يتم إدخالها و عرضها في الصفحات.
  4. JQuery: مكتبة مبنية بلغة Javascript نستخدمها في حال أردنا كتابة كود الـ Javascript بشكل مختصر و أكثر فعالية.
  5. Bootstrap: مكتبة توفر لنا كود CSS جاهز يمكننا إستخدامه بكل سهولة لتصميم صفحات ويب تظهر بشكل جميل جداً عند المستخدم سواء كان يستخدم حاسوبه أو هاتفه.

ملاحظة: ليس من الضروري أن تتعلم JQuery و Bootstrap و لكني انصحك بتعلمها لأن تعلمها سهل جداً و هما يستخدمان بشكل كبير جداً في تصميم المواقع.

ما الذي يجب أن تعرفه لتخزين و معالجة بيانات المستخدمين؟

يجب أن تتعلم كيف تتعامل مع قواعد البيانات ( Databases ) و ننصحك باستخدام قواعد بيانات MySQL لأنها الأكثر شهرة, مجانية 100% و التعامل معها سهل جداً.

يتبقى عليك تعلم شيء واحد فقط لتصبح قادراً على ربط تصميم الموقع بقاعدة البيانات.
الشيء الذي نضعه كوسيط بين قاعدة البيانات و تصميم الموقع يسمى API, و هذه الكلمة إختصار لجملة Application Programming Interface.

الـ API بشكل عام هو مجرد كود عادي تضعه في الموقع و يمكنك كتابته بأي لغة تريد و لست محصوراً بطريقة واحدة لبنائه. و الجميل هنا أيضاً أنه أصبح يوجد إطارات تطوير ( Frameworks ) كثيرة و مجانية يمكنك إستخدامها لبناء الـ API بكل سهولة حتى لا تضطر إلى كتابة كل الكود بنفسك.

من أشهر الإطارات المستخدمة لبناء الـ API نذكر:

  • الإطار Nodejs المبني بلغة Javascript و التي يفترض أن تكون درستها سابقاً.
  • الإطار Laravel و الذي يتطلب منك في البداية تعلم لغة PHP لأنه مبني بها.
  • الإطار Symphony و الذي يتطلب منك في البداية تعلم لغة PHP لأنه مبني بها.
  • الإطار Codelgniter و الذي يتطلب منك في البداية تعلم لغة PHP لأنه مبني بها.
  • الإطار CackePHP و الذي يتطلب منك في البداية تعلم لغة PHP لأنه مبني بها.
  • الإطار ASP Net Core و الذي يتطلب منك في البداية تعلم لغة #C لأنه مبني بها.
  • الإطار Spring و الذي يتطلب منك في البداية تعلم لغة Java لأنه مبني بها.

يوجد إطارات و لغات أخرى لكن هذه الإطارات هي الأشهر حالياً. و يجب أن تعرف أنك لست مضطراً لإستخدام أي إطار حتى تبني API و لكن إستخدام إطار يعتبر أفضل بكثير بالنسبة للمبرمج و يوفر عليه الكثير من الوقت و الجهد.

مسار تطوير تطبيقات سطح المكتب (ديسكتوب)

في حال أردت تعلم بناء تطبيقات سطح المكتب ( Desktop Applications ) فهناك خيارات عديدة يمكنك إختيار أحدها لبناء التطبيق و نذكر أهمها:

  • يمكنك أن تتعلم لغة Java و من ثم تستخدم إطار JavaFX لبناء واجهة المستخدم الخاصة بالبرنامج.
  • يمكنك أن تتعلم لغة #C أو ++C من ثم تستخدم إطار WPF لبناء واجهة المستخدم الخاصة بالبرنامج.
  • يمكنك أن تتعلم لغة Javascript و من ثم تستخدم إطار Electronjs لبناء واجهة المستخدم الخاصة بالبرنامج.
  • يمكنك أن تتعلم لغة Python و من ثم تستخدم إطار PyQT لبناء واجهة المستخدم الخاصة بالبرنامج.

طبعاً, سيكون عليك لاحقاً أن تتعلم كيف تتعامل مع قواعد البيانات من أجل  تخزين بيانات المستخدمين و هنا يمكنك إستخدام أي نوع تريده و يمكنك إستخدام قواعد بيانات Access إذا كان التطبيق صغير و معد ليعمل على نفس جهاز المستخدم و يمكنك إستخدام قواعد بيانات MySQL إذا كان التطبيق ضخم و معد ليعمل على أكثر من جهاز و تريد الوصول لنفس البيانات من أكثر من جهاز.

مسار تطوير تطبيقات الهاتف

في حال أردت تعلم بناء تطبيقات لنظام Android يمكنك إستخدام أي لغة من اللغات التالية:

  • لغة Kotlin و التي تم إعتبارها كلغة أساسية لبناء تطبيقات إندرويد.
  • لغة Java و التي كانت سابقاً اللغة المعتمدة لبناء تطبيقات إندرويد قبل لغة Kotlin و التي لا يزال بإمكانك إستخدامها.

في حال أردت تعلم بناء تطبيقات لنظام IOS يمكنك إستخدام أي لغة من اللغات التالية:

  • لغة Swift و التي تم إعتبارها كلغة أساسية لبناء تطبيقات لنظام IOS.
  • لغة Objective C و التي كانت سابقاً اللغة المعتمدة لبناء تطبيقات لنظام IOS قبل لغة Swift و التي لا يزال بإمكانك إستخدامها و لكن ننصحك بتعلم Swift بدل تعلمها.

في حال أردت تعلم بناء تطبيقات تعمل بنفس الوقت على نظامي Android و IOS يمكنك ذلك أيضاً بطرق كثيرة, فمثلاً يمكنك إستخدام أي إطار ( Framework ) من الإطارات التالية:

  • ReactNative
  • Fluter
  • Framework 7
  • Xamarin
  • PhoneGap
  • Ionic

أي إطار تنوي تعلمه منهم, سيكون عليك معرفة لغة برمجة واحدة أو عدة لغات قبل تعلمه و لكن عندما تتابع أي دورة ستجد المحاضر يخبرك بما يجب أن تعرفه مسبقاً.

إنتبه لنقطة مهمة, لا يوجد إطار أفضل من إطار من كل النواحي, كل إطار له مميزات و له عيوب و أي إطار تتعلمه منهم يمكنك أن تبني تطبيقات بواستطه و أن تبيعها و تربح منها.

مسار تطوير الألعاب

في حال أردت تعلم تطوير ألعاب فهنا يجب أن يكون لديك خلفية جيدة في البرمجة. أي لا تفكر أن تبرمج لعبة و أنت لا تعرف أصلاً ما معنى برمجة. و طبعاً يجب أن يكون لديك خلفية في التعامل مع قواعد البيانات.

أي لعبة تطورها بنفسك ستكون عبارة عن مزيج من:

  • الشخصيات و الأشكال الثلاثية الأبعاد مثل السيارات, المنازل, الأشجار, الأسلحة.
  • الأصوات مثل أصوات اللاعبين, إنفجارات, نغمات حماسية إلخ..
  • المؤثرات البصرية.
  • قد تضمن فيديوهات قصيرة أيضاً.
  • الكود الذي تكتبه لتحديد كيف ستتحرك الأشياء في اللعبة و كيف يتم التنقل بين المراحل إلخ..

إنتبه لنقطة مهمة, لست مضطراً لأن تتعلم كيف تفعل كل شيء بنفسك. فمثلاً تستطيع شراء شخصيات و مؤثرات و أصوات جاهزة و من ثم تقوم بتجميعها في لعبة خاصة بك.

الآن عند تطوير الألعاب ستستخدم برامج جاهزة لفعل ذلك تسمى محركات الألعاب ( Game Engines ).
أشهر البرامج المستخدمة لتطوير ألعاب تعمل على كل أنظمة التشغيل هي Unity3D و Unreal Engine و الإثنين يمكنك البدء باستخدامهما مجاناً.

في حال كنت ستستخدم Unreal Engine فعند كتابة كود اللعبة ستستخدم لغة ++C.
في حال كنت ستستخدم Unity3D فعند كتابة كود اللعبة ستستخدم لغة #C.

أي محرك ألعاب تقرر أن تستخدمه منهما ستجد في موقعه الرسمي كل ما تحتاج من دروس و مقالات و أشياء مجانية تساعك في البدء. و لا تضيع وقتك في المقارنة بينهما لأنه يمكنك أن تفعل ما شئت بكليهما و الإثنين يتم تطويرهما بإستمرار.

أول نوع قواعد بيانات انصح بتعلمه

سواء كنت تنوي أن تكون مطور مواقع, تطبيقات ديسكتوب, تطبيقات للهاتف أو حتى ألعاب فلا بد لك من أن تتعلم كيف تقوم بتخزين و معالجة بيانات المستخدمين في قواعد البيانات ( Databases ) بطريقة منظمة و مرتبة.

من ناحية معالجة البيانات و حفظها في قاعدة بيانات فهنا بشكل أساسي يجب أن تتعلم أوامر SQL و أن تفهم كيف تربط جداول قاعدة البيانات مع بعضها بشكل صحيح.

الشيء الذي قد يسبب لك إرباكاً عندما تحاول أن تتعلم قواعد البيانات هو أنك ستجد عدة أنواع لقواعد البيانات و التي من أشهرها:

  • MySQL
  • SQL Server
  • Oracle
  • MongoDB
  • PostgreSQL
  • SQLite
  • Access

الآن عليك أن تصدق أنك بمجرد أن تتعامل مع أي قاعدة بيانات منهم فلن تواجه أي مشكلة في التعامل مع أي قاعدة بيانات من نوع آخر و السبب في ذلك أن أوامر SQL التي تستخدمها فيها هي نفسها و منطق ربط قواعد البيانات مع بعضها هو نفسه أيضاً. أي لا تستمع لأي شخص يقول لك تعلم هذا و لا تتعلم ذاك.

الفرق ببساطة بين قواعد البيانات هو أنه إجمالاً في كل قواعد بيانات هناك دوال إضافية يمكنك الإستفادة منها عند كتابة أوامر SQL و منها ما هو مجاني 100% و منها ما يجب أن تدفع مبلغ معين حتى يسمح لك بإستخدامه.

كبدايةانصحك أن تستخدم قواعد بيانات MySQL لأنها الأكثر شهرة و مجانية و أغلب المطورين يستخدموها.

اذا كنت تهتم في برمجة الويب يمكنك الانضمام الى قناتنا في التلكرام

اترك رد

لن يتم نشر عنوان بريدك الإلكتروني.

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