ودائما ما يجد المبتدئين في تعلم البرمجة مشكلة الضياع بين لغات البرمجة، فما هي افضل لغة برمجة للمبتدئين؟ وكيف اختار المجال المناسب لي؟ هذا ما ستتعرف عليه في هذه التدوينة.
تعلم البرمجة من الصفر الى الاحتراف
لا شك أن البرمجة بشكل خاص وعلوم الحاسوب بشكل عام أصبحت من متطلبات عصرنا الحالي وهي واحدة من أهم مجالات المستقبل البشري. والكثير من الناس يود تعلم البرمجة ولكن المشاكل التي تواجه من يريد تعلم البرمجة من الصفر والمبتدئين هي معرفة نقطة البداية واختيار المجال المناسب.
تعريف البرمجة
ببساطه البرمجة هي عبارة عن أسلوب لحل المشكلات التي تواجهنا سواء كأفراد أو كمجموعات عن طريق التكلم مع الحاسوب واعطائه أوامر وتعليمات لكي ينفذها من أجل التخلص من المشكلة, باختصار شديد يمكننا القول أن البرمجة هي عبارة عن إيجاد حلول لمشاكلنا باختلاف أنواعها.
كيف أبدأ في تعلم البرمجة؟
اول شيء يجب ان تعرفه قبل ان تبدا في تعلم البرمجة هو أن مجال البرمجة مجال واسع جدا وكبير جدا وبه اقسام كثيرة مختلفة، لو اخترت شيء خاطئ فسيؤثر على مستقبلك كله. بالإضافة إلى أن سوق العمل يتغير باستمرار فمن الممكن أن تختار طريق وقد تكون احببت هذا الطريق وابدعت في العمل به ولكن ربما لن يكون عليه طلب كثير في سوق العمل او ربما بعد سنوات سوف لن يستخدم، لهذا عليك التفكير بعناية قبل اختيار المسار الذي تود العمل به.
كنا قد بيننا سابقا عن افضل مجالات البرمجة في سوق العمل وعن اكثر لغات البرمجة المستخدمة والمنتشرة بكثرة بين الشركات, يمكنك معرفة ذلك بالتفصيل من خلال مراجعتك للمقالات المذكورة.
معايير اختيار طريقك البرمجي؟
- من اجل ان تعرف ماهو الطريق الذي تحبه فيجب ان تقوم بتجربة كل المجالات.
- من اجل ان تضمن عملك في حالة تغير تكنولوجي معينة فيجب أن تستطيع العمل بأكثر من طريقة بالمجال الذي قمت باختياره،بحيث لو ان هناك قسم من التكنولوجي تغير او لم يعد يستخدم تستطيع العمل باقسام اخرى.
نصائح مهمة لاحتراف البرمجة
بالطبع من أهم المهارات التي من الممكن أن تفيدك في مجال البرمجة ويجب ان تركز عليها كثيرا اثناء تعلم البرمجة هي مهارة التفكير المنطقي Problem Solving. ويجب أن تعمل على تطويرها باستمرار عن طريق تعلم الأساسيات التالية والتي ستفيدك بشكل كبير عند مواجهتك اي مشاكل ويجب عليك اتقانها جيدا ان كنت تود ان تصبح مبرمج ناجح.
البرمجة الشيئية Object Oriented Programming:
اغلب التطبيقات التي تستخدمها او ربما جميعها مصنوعة بطريقة البرمجة الشيئية، فهي مسؤولة عن تقسيم البرامج ايا كانت لغة البرمجة المستخدمة، باستخدام البرمجة الشيئية يمكنك من العمل مع فريق على تطوير تطبيق ما بدون ان يتعارض عمل كل شخص مع الآخر ويساعدك في استخدام جزء من برنامج ما في عمل برنامج جديد، وبالطبع يجب على كل مبرمج معرفة البرمجة الشيئية فهي لا غنى عنها في كل التطبيقات.
هيكلة البيانات Data Structure:
بالطبع عندما تقوم ببرمجة تطبيق او موقع ما فأنت تحتاج للتعامل مع البيانات بمختلف اشكالها وانواعها وهنا تأتي فائدة علم Data Structure، فباستخدامها تستطيع ترتيب البيانات مهما كانت وهو مهم جدا وضروري جدا لكل مبرمج أن يكون على دراية بعلم هيكلة البيانات لانه شيئ اساسي ولا غنى عنه في مشوارك في تعلم البرمجة.
الخوارزميات Algorithm:
ربما يعمل البرنامج الخاص بك ويؤدي مهام معينة ولكن هناك شخص ما قام ببرمجة تطبيق يقوم بنفس مهام البرنامج الخاص بك تماما ولكن يعمل بسرعة أكبر بكثير من برنامجك رغم أن التطبيقان يؤديان نفس المهام، لماذا يا ترى؟؟
هنا تأتي فائدة الخوارزميات فهي عبارة عن تنظيم طريقة كتابة الاكواد في البرنامج لاختصار الاشياء المتكررة والاستفادة من الطرق المختصرة لتحقيق سرعة أكبر في عمل التطبيق وهو مفيد جدا لكل مبرمج ايضا. ولو كنت متمكن من الخوارزميات بغض النظر عن أي لغة برمجة تعمل بها أو أي مجال في البرمجة فتستطيع إنشاء تطبيقات أسرع بكثير.
قواعد البيانات Database:
قواعد البيانات ضرورية في برمجة أي تطبيق إذا كان تطبيق لسطح المكتب او ويب او موبايل، وهي أول شيء يجب عليك تعلمه بعد تعلم أساسيات أي لغة أن تذهب وتتعلم Database،
لأنك عندما تقوم بإنشاء تطبيقك فستحتاج إلى خزنة من أجل تخزين بيانات التطبيق الخاص بك، فمثلا عندما تكون لديك سجلات المرضى ستحتاج لقاعدة بيانات من أجل تخزينه بها. وهناك العديد من لغات قواعد البيانات التي نستطيع استخدامها مثل:
- SQLite
- MySQL
- Oracle
- SQL Server
ولكن جميعهم مشتركون بالاساسيات أي أنك إن تعلمت لغة واحدة لقواعد البيانات فسوف تستطيع استخدام بقية اللغات بأريحية كبيرة.
اللهم صل وسلم على نبينا محمد.
ماهي لغات البرمجة؟
بالطبع نحن كبشر يصعب علينا التعامل مع الماكينة بلغه الأصفار والواحدات سواءا بقراءة برنامج او بكتابة برنامج, وبالتالي البشر قرروا صنع لغات مشتركة بين البشر والمكينة ليفهمها الطرفين, و هنا أتت فكرة إنشاء لغات برمجة وقرروا تقسيمها لقسمين
1- low level languages
وكمثال على ذلك لغة assembly وهي لغة منخفضة المستوى.
2-high level languages
وكمثال على هذه الفئة من اللغات لغة ++c, لغة java,لغة #c, لغة java script, لغة php …... ولغات أخرى كثيرة.
سبب تعدد لغات البرمجة؟
لغات البرمجة كثيرة جدا فهناك أكثر من 700 لغة برمجة وهذا ما يسبب تشتت لكثير من الناس الذين يودون تعلم البرمجة من الصفر. و في الواقع عزيزي القارئ دعني اخبرك ان جهاز الكمبيوتر يفهم لغة برمجة واحدة فقط وهي machine languages او لغه الماكينه وهي عبارة عن 0 و 1 فقط . و هذه الأصفار والواحدات في الحقيقه هي عبارة عن كهرباء, صفر تعني أنه لا يوجد تيار كهربائي و واحد يعني هناك وجود لتيار كهربائي. وبالمناسبة جهاز الكمبيوتر هنا المقصود به أي جهاز الكتروني عليه software او عليه أوامر مثل جهاز الكمبيوتر او الغسالة او الثلاجة او الهاتف او السيارات ذاتية القيادة أي شيء يوجد بداخله software او مكتوب له برنامج.
ما هي افضل لغة برمجة؟
في الحقيقة هذا السؤال غير منطقي ابدا….لماذا؟؟؟ اليك الإجابة
الموضوع مشابه لتعدد أنواع السيارات فهناك السيارة العادية وهناك نوع الباصات والتي تكون وظيفتها توصيل الناس من مكان الى مكان محدد, وهناك سيارات كبيرة وظيفتها شحن البضائع بين البلدان وهناك الكثير والكثير من أنواع السيارات المختلفة وكل نوع له وظيفة محددة يتميز بها عن غيره من الأنواع, ولكن في النهاية جميعها سيارات لديها وظيفة واحدة مشتركة الا وهي نقل شيء من مكان الى مكان اخر.
هنا نفس الكلام ينطبق في مجال البرمجة فهناك لغات أقوى في برمجة الحاسب الالي وهناك لغات اقوى في كتابه برامج سطح المكتب, وهناك لغة برمجة يكثر استخدامها لتصميم تطبيقات الويب وأيضا هناك أوقات تكون أفضل في مجال برمجة تطبيقات اندرويد وهناك لغات تكون افضل في برمجة الأجهزة والقطع الالكترونية او القطع الكهربائية.
ما هي لغة البرمجة التي يجب تعلمها في البداية ؟ة
في الحقيقة معظم لغات البرمجة مبنية على نفس المفاهيم الأساسية بالرغم من تعدد واختلاف لغات البرمجة ولكن يتشابهون جدا في ما بينهم بالمفاهيم المبنية عليها اللغة البرمجية أيا كانت فأساسيات البرمجة هي واحدة.
اختيار لغة برمجة ليس عائق لك في بداية رحلتك في تعلم البرمجة ولكن دعني اسهل عليك الامر و اخبرك ان اللغة التي تختارها للبدء بها من الأفضل أن تكون مناسبة في المجال الذي تحبه وتود ان تتعمق فيه, و يفضل أيضا ان تكون اللغة مشهوره من اجل ان يكون لها مصادر كثيرة للتعلم ولكي لا تجد صعوبة في الإجابة على اسئلتك بسبب كثرة مستخدمين اللغة.
ومن المهم أيضا توفر أمثلة ومشاريع وتطبيقات مصنوعة في هذه اللغة والتي من الممكن أن تحاول تقليدها في البداية لتثبيت المعلومات التي تعلمتها واستثمارها في تطوير نفسك ولفهم كيفية استخدام ما تعلمته في صنع تطبيق متكامل.
أهم شيء في تعلم البرمجة هو تطبيق ما تتعلمه من أجل تثبيت المعلومة في ذهنك ويفضل ايضا حل مشاكل برمجية كثيرة في البداية لتنمية التفكير المنطقي لديك لأن التفكير المنطقي في البرمجة هوالأساس, وبالتالي لو استطعت تعلم لغة برمجة واحدة وقمت بتطبيق ما تعلمته سيكون سهل جدا عليك تعلم اي لغه برمجية اخرى لانه كما قلنا سابقا الأساسيات في كل لغات البرمجة هي واحدة ولكن تختلف طريقة كتابة الكود من لغة برمجية إلى اخرى.
سبحان الله وبحمده سبحان الله العظيم.
ما هي ابرز مجالات البرمجة؟
1- تطوير المواقع Web Development
مجال تطوير المواقع جيد جدا وينقسم الى قسمين رئيسيين واغلب المبرمجين يتخصصون في احد هذين القسمين و لكن اني قمت بتعلم القسمين مع بعضهما هذا أفضل بالتأكيد وهذا ما يطلق عليه Full Stack Developers.
Front End
هو الجزء الخارجي للموقع وهو الجزء المرئي للمستخدمين و الذي بإمكانهم التعامل مع الموقع من خلاله مثل الكلام الظاهر في الموقع والصور والفيديوهات التي نشاهدها في اغلب مواقع الانترنت.
Back End
هو الجزء الذي لا يراه المستخدم ولا يتعامل معه ابدا وهو مسؤول عن إدارة البيانات الموجودة على الموقع والتعامل معها واظهارها للمستخدم, وهو الجزء الذي تصل إليه البيانات التي يدخلها المستخدم أثناء تصفحه للموقع
.مسار تعلم ال Front End
لكي تصبح Front End Developer تحتاج بشكل رئيسي تعلم اللغات التالية
- HTML
- CSS
- JAVA SCRİPT
في الحقيقه لغة HTML و CSS ليستا لغات برمجه بل ان لغه HTML تستخدم لبناء الهيكل الأساسي للموقع و تعتمد بشكل أساسي على اللغة الانجليزية وتعرف ب Template Language, أما لغة CSS فتستخدم لترتيب وتجميل العناصر الموجودة في الصفحة واضافة الوان وتنسيق للعناصر وتعرف ب Styling Language.
اما بالنسبه ل Java script فهي لغة برمجة يكثر استخدامها لتصميم تطبيقات الويب وهي لغة مهمة جدا لبناء المواقع فمن مميزات لغة java script انها تساعدك في جعل صفحات موقعك تفاعلية للمستخدم وايضا لها استخدامات عديدة خارج اختصاص المواقع.
مسار تعلم الـ Back End
في مجال ال Back end من الصعب أن تستقر على لغة برمجة واحده فكل شركه علي طبيعة عملها من الممكن أن تختار لغة محددة ومن اللغات الرئيسية في مجال الـ Back end ROBY
- PHP
- PYTHON
- GOLANG
- #C
- JAVA
مع تعلمك لاحدى او لبعض هذه اللغات فيجب عليك تعلم احدى لغات قواعد البيانات لانك في مجال الـ Back end ستتعامل مع البيانات بكثرة ستحتاج لمعرفة كيفية تخزينها واستخراجها.
2- برمجة تطبيقات الهاتف Mobile Applications Developer
هذا مجال من انجح و أكثر المجالات طلبا في سوق العمل نظرا لكثرة استخدام الهاتف من معظم الناس حول العالم, وينقسم مجال برمجة تطبيقات الهاتف الى ثلاثة اقسام:
Android -1
باختصار شديد لتصبح مبرمج في مجال برمجة تطبيقات أندرويد عليك بتعلم لغه Kotlin المبنيه على لغة Java وبالمناسبة لا تحتاج لتعلم لغة Java قبل البدء بتعلم لغة Kotlin.
2- İos
ان كنت من عشاق ومحبي شركة Apple ونظامها İOS فلكي تصبح مبرمج في مجال برمجة تطبيقات ios ستحتاج لتعلم لغة Swift والمتطورة أساسا من شركة Apple .
3- Full Stack Developer
- اما ان كنت تريد برمجة تطبيق يعمل على نظام أندرويد ونظام ios مباشرة دون الاضطرار الى كتابته بلغتين مختلفتين فامامك خيارات عديدة اليك بعضهم:
- يمكنك تعلم لغة Java Script وبعد ذلك يمكنك استخدام Framework يسمى React Native.
- يمكنك تعلم لغة #c وبعد ذلك يمكنك استخدام Xamarin لتطوير تطبيقات الهاتف.
ما هي افضل طريقة لتعلم لغة البرمجة؟؟ ـ سهلة جدا
كثير من الناس يطمحون لتعلم البرمجة ليكي يطوروا من انفسهم، ويتسائلون عن كيفية تعلم البرمجة وعن افضل مصادر تعلم البرمجة.
في الحقيقة ستجد الكثير والكثير من الطرق ولكن هذه الطريقة هي الطريقة الافضل والاسرع والتي ستظل تستخدمها حتى بعد تعلمك لغة البرمجة وأثناء عملك في مجال البرمجة حتى. في البداية إن كنت عزمت قرارك على تعلم البرمجة فيجب عليك التحلي بالشجاعة وعدم الخوف والرهبة من تعلم لغة برمجة جديدة فلغات البرمجة كلها تقريبا شبيها ببعضها.
فإن تعلمت لغة برمجة واحدة ستجعلك تفهم أغلب لغات البرمجة لانك ستكون قد فهمت منطق البرمجة وهو موحد في جميع اللغات. في الحقيقة افضل طريقة لتعلم البرمجة هي استخدام موقع غوغل.
اجل موقع غوغل. قد تستغرب وتظن ان هذه مزحة ولكن في الحقيقة موقع غوغل ستجد فيه كل ما يلزمك وبالتفصيل الممل حتى. كل ما عليك فعله عند مواجهتك لأي مشكلة هو كتابة مشكلتك على محرك البحث جوجل وبنسبة 90% ستجد الحل لمشكلتك من اناس اخرين واجهتهم نفس مشكلتك وقامو بنشر حلها.
سبحان الله وبحمده سبحان الله العظيم.
ملخص:
- قم بالاطلاع على المجالات المختلفة وعلى اهم المجالات المطلوبة في سوق العمل و حدد المجال الأنسب لك.
- الق نظرة على اهم مصادر تعلم البرمجة بالعربي وقم باختيار من تجد شرحه مناسب لك.
- ابدأ بتعلم المجال الذي اخترت وابدء بتعلم أساسيات لغة البرمجة المدرجة في هذا المجال وركز كثيرا في تعلم اساسيات اللغه لان بدايتك الصحيحة هي التي ستكون سر نجاحك.
- بعد ذلك قم بحل مشاكل كثيرة لكي تنمي التفكير المنطقي وهذا ما يجب أن تفعله باستمرار طوال فترة تعلمك.
- قم بتعلم قواعد البيانات و هياكل البيانات والخوارزميات لكي تتمكن من انشاء تطبيق متكامل و بأفضل صورة ممكنة.
وفي النهاية إن كنت قد اخترت الدخول في مجال البرمجة فسوف تكون في رحلة تعلم مستمر ويجب عليك دائما تطوير نفسك من أجل مواكبة التطورات والتغيرات الدائمة في مجال البرمجة, مجال البرمجة جميل جدا وممتع ولكن اهم شيء لا تتكاسل ابدا و تستمر دائما في تعلم كل ماهو مفيد لتطوير مهاراتك وأن تنظم وقتك بالشكل الصحيح وان تقوم ببذل المجهود المطلوب, وتأكد دائما ما دمت تعمل باجتهاد سوف تصل الى هدفك بإذن الله.