كيف أتعلم البرمجة و أبدأ فيها طريقي ؟

كيف اتعلم البرمجة و ابداء فيها طريقى ؟
كيف أتعلم البرمجة ؟

النقاط الأساسيه:
– ما هى البرمجة ؟
– من أين أبدأ ؟
– ما هى المسارات البرمجية ؟
– ما هو المسار الأفضل و الأسهل للبدأ ؟

ما هى البرمجة ؟

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

 

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

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


من أين أبداء ؟

من خبرتي مع مجموعات الفيس بوك الخاصه بالبرمجه أجد يومياً المئات من المبتدئين لا يعلمون أين مستقرهم و من أين يبداؤن ..إلا أن الموضوع بسيط جداً .. فكما ذكرت أن البرمجه أساسيتها واحده الفرق فقط في أن هذه اللغه يمكن من خلالها برمجة تطبيق يعمل على الهاتف أو تطبيق يعمل أونلاين web applicatoin أو يمكن إضافة بعض المكتبات البرمجيه لها لتكن اللغه متعددة الإنتاجيه .. و لكن المصطلحات البرمجيه و الأساسيات موحده عند كل اللغات .. لذلك ستتفاجأ أنه عندما تتعلم لغه واحد سيكون من السهل أن تتعلم اللغات الأخرى في وقت قياسي لأن كما قلت أصبح هناك خريطه ذهنيه عندك عن المصطلحات البرمجيه و عناصرها و أدوارها و ما يتبقى سوى أن تختار ما هو المفضل إليك لتبدأ و تذكر .. إذا تعلمت و مارست ما تعلمته بطريقه صحيحه النتيجه ستكون واحده مع أي لغه.


ما هى المسارات البرمجية ؟

المسارات البرمجيه هى اللغات المطلوبه تعلمها لتكون متخصص في برمجة تطبيقات خاصه بمجال ما, على سبيل المثال:
إذا رغبت في تعلم برمجة تطبيقات نظام الأندرويد يمكنك تعلم : java أو Kotlin أو بيئة العمل android studio.
ولأن نظام android مبرمج بلغة java لذلك هذه اللغه هى الأم للتطبيقات التي تعمل عليه إلا إن ظهرت لغة kotlin و ظهرت حديثاً و بدأت الناس تتوجهه إليها و لكن على أي حال أنصحك بالبدأ أولاً بـ android studio لأنها بيئة عمل متكامله و بها العديد من الأدوات التي سوف تساعدك على فهم البرمجه سريعاً.

إذا رغبت في تعلم برمجة تطبيقات الأيفون أو برمجيات mac فعليك بتعلم swift.

إذا رغبت في تعلم اللغات الخاصه بتطبيقات و برمجيات الويندوز فهناك العديد و العديد من اللغات مثل C# و C++ و visual basic.Net و بيئة عمل تسمى autoplay media studio تقوم بإنشاء التطبيقات فيها من خلال لغة LUA .. أنا أفضل أن تبدأ بتعلم Visual Basic أو autoplay media studio (دورة اوتوبلاى ميديا ستوديو متوفره على موقعنا مجاناً) كبدايه فقط لتتعلم أساسيات البرمجه و بعدها إتجه إلى C# و قواعد البيانات sql server.

إذا رغبت في تعلم اللغات الخاصه ببرمجة الإلكترونيات و الأجهزه و المتحكمات الصغيره microcontroller فعليك تعلم لغة C++ من خلال بيئة العمل Arduino .. يمكنك التعرف على المزيد و تعلم أسياسيات الأردوينو على موقعنا مجاناً من خلال دورة الأردوينو.

إذا رغبت أن تكون مطور مويب (مطور مواقع) web developer فهناك ثلاث مسارات .. يمكنك أن تبدأ تعلم تصميم و تطوير المواقع من خلال الكورس الشامل المتوفر على موقعنا مجاناً.

المسار الأول: front end developer
و تم تسميته fornt لأنه خاص باللغات التي تعمل من خلال متصفح المستخدم وهو يشمل اللغات البسيطه لتصميم واجهات الموقع و هى ليست لغات برمجه بمعنى الكلمه بل أنها لغات ترميز لتخبر المتصفح كيف يقوم بعرض الموقع و تلك اللغات الأساسيه هى HTML و CSS و أيضاً يضم هذا المسار لغه برمجيه تسمى javascript جافا سكربت و هذه اللغه مهمتها إجراء بعض التعديلات و التغيرات في عناصر HTML.
و يشمل هذا المسار أيضاً ما يسمى frame work و هى عباره عن مكتبات مشتقه و مبرمجه مسبقاً ب javascript مهمتها إنجاز إجراء العديد من المهام بصوره مختصره مثل angular js و jquery و react js و غيرها .. و لكن طبعاً لابد من تعلم javascript أولاً و بعدها يمكن البدأ في تعلم أي من هذه المشتقات من javascript على حسب متطلبات المشروع الخاص بك.

المسار الثاني: back end developer
و هذا المسار متطور و خاص بما يسمى server side أى تعمل اللغات الخاصه به من خلال الخادم الذي يحتوى الموقع و ليس من خلال متصفح المستخدم و هذا المسار يضم العديد من اللغات مثل:
php – ruby – ASP .net – Node JS و العديد من قواعد البيانات مثل mysql – sql server – sqlite و غيرها.
و ميزة هذا المسار أنه ينصح في البدايه تعلم لغه واحده فقط و معاها قاعدة بيانات واحده فقط تعمل معها و من خلال هذه اللغه تستطيع أن تقوم بإنشاء العديد من المشاريع المتكامله مستعيناً بما تعلمته من المسار front end و بالمناسبه هذا المسار ما هو إلا مستوى ثاني متقدم لل front end أي أنه لابد أن تتعلم اللغات الأساسيه html و css و javascript حتى تستطيع أن تبدأ في هذا المسار.

و اللغه المشهوره التي يفضل أن تبدأ بها في هذا المسار هى php مع قواعد بيانات mysql نظراً لسهولتها و أنها مجانيه و هناك العديد من المكتبات و الإضافات التي يمكن الحصول عليها لتعمل مع هذه اللغه.

المسار الثالث: full stick
وهذا المسار يشمل المسارين السابقين front-end و back-end أي أنك قادر على التصميم و البرمجه و التعامل مع قواعد البيانات.


ما هو المسار الأفضل و الأسهل للبدء ؟

الأن يا صديقي بعد أن تعرفت على بعض المسارات الهامه من رأي الشخصي و بخبرتي المتواضعه مدرب أنصحك بالبدأ في مسار الويب (تصميم و برمجة المواقع) .. و أرجو أن تسألني من داخلك بكلمة .. لماذا ؟!

أولاً: بالنسبه للسهوله فهو الأفضل .. لأنك ستتعلم أولاً لغات بسيطه مسئوله عن رسم العناصر المرئيه أمامك و عندما تصل إلى javascript تبدأ في تعلم تكويد أو التحكم في هذه العناصر من خلال البرمجه .. و هذا أسهل للمخ أن يستوعب أساسيات البرمجه و مهام عناصرها .. و لكن في اللغات الأخرى العمليه تكن عباره عن شاشه تكتب فيها بعض الأوامر النصيه و ردود الأفعال تكن عباره عن نصوص فقط و تظل فتره طويله يلح على عقلك سؤال واحد .. كيف أستطيع أن أستخدم ما أتعلمه الأن في التطبيق الذي أريد إنشائه و ربما تشعر ببعض الصعوبه و الإحباط حتى تصل إلى الجزء المرئي الخاص بإنشاء الواجهات و إستخدام ما تعلمته للتحكم فيها.

ثانياً: لا غنى عن تطبيقات الويب لأن بكل بساطه عالم الإنترنت يعتمد فقط على تطبيقات مبرمجه بلغات الويب.. ربما يأتي يوماً قريب تغلق apple أبوابها و يقف دعم أنظمة iphone و كذلك android و لكن عالم الويب من المتوقع أن يكون هو الأطول عمراً حتى يظهر إختراع جديد لينهى تقنية الإنترنت.

ثالثاً: متوفر له العديد من بيئات العمل IDE رخيصة الثمن أو مجانيه و متطلباته سهله و بسيطه ولا يحتاج منك حاسوب بقوه معينه لتعمل من عليه .. و أيضاً هناك العديد من المنصات التي تدعم برمجة تطبيقات الويب أونلاين أي بدون أن تثبت على جهازك برنامج واحد.

رابعاً: ظهرت العديد من بيئات العمل التي يمكن من خلالها برمجة تطبيقات الأيفون و أنظمة الأندرويد من خلال لغات الويب الأساسيه HTML – CSS – Javascript حيث تقوم بتحويل الأكواد الخاصه بها للتناسب مع مترجم تلك الأنظمه.

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

Leave a Reply