من أين أبدأ تعلم البرمجة من الالف الى الياء 🤔 ؟
-
المقال طويل شوي لكن كل كلمة فيها فائدة كبيرة
-
الافكار
-
1 - من أين ابدأ تعلم البرمجة ؟ - نصائح في تعلم البرمجه
2 - ماهي مجالات البرمجة
3 - أشهر لغات البرمجة وأهم استخداماتها
4 - إجابات لأهم 6 أسئلة للمبتدئين في تعلم البرمجة
5 - افضل المصادر لتعلم البرمجة
-
مقدمة
-
لعلك تريد دائما أن تتعلم البرمجة ولكن تصيبك الحيرة وتتساءل دوما من أين أبدأ تعلم البرمجة، والسبب يعود لأن البرمجة من المجالات الخصبة والمهمة في الواقع المتطور الذي نعيشه، فكل شيء تقريبا من ذكاء اصطناعي وثورة الهواتف المحمولة والثورات الحاصلة في مجالات العمل الحديثة بكاملها
-
1 - من أين ابدأ تعلم البرمجة ؟ - نصائح في تعلم البرمجه
-
- اولا حدد أهدافك :
-
تحديد أهدافك هي أهم خطوة في طريق تعلم البرمجة لأن هذا سيساعدك كثيرا في مواجهه المشاكل التي ستعيقك في التعلم مثل مشاكل الملل والتشتت وعدم الراحة بسب عدم وجود هدف تسعي إليه
-
الاهداف كثيره مثلا:
-
أنت شغوف بالبرمجة وتريد التعلم وتطوير ذاتك للحصول علي وظيفة أو العمل كـ فري لانسر
أو عندك فكرة تطبيق تساعدك في حياتك اليومية وتريد تعلم البرمجة لتنفيذه بنفسك
أو برمجة موقع خاص بك لتبيع عليه منتجاتك
-
كل شخص أهدافه المختلفه كل ما عليك هو تحديد هدفك الشخصي حتي تبدأ في التعلم بدون أي مشاكل .
-
2 - حدد المجال الذي تحب أن تبدأ بتعلمه :
-
عالم البرمجة كبير جدا وله فروع كثيرة يجب تحديد المجال الذي تحبه وتريد تعلمه ، المجالات كثيره منها برمجيات الويب و برمجيات الهواتف الذكية وبرمجيات سطح المكتب وغيرها .. وكل مجال منهم لغات وأدوات مختلفه .
-
3 - تعرف علي أدوات التعلم :
-
كل مجال من مجالات البرمجه له لغات وأدوات مختلفه عن المجال الأخري بعد أن تحدد المجال الذي ترغب في تعلمه عليك أن تعرف اللغات التي تخص هذا المجال والبرامج التي ستتطبق عليها ما تتعلمه .
-
مثلا إذا إخترت مجال برمجة الويب فستحتاج إلي محرر لكتابة الاكواد وتعلم لغة الجافا إسكريبت و html و css هذا طبعا كمصمم ويب و PHP و Rubyو python كمطور ويب .
-
أو إخترت مجال تطيبقات الهواتف فهو ينقسم إلي منصتين Android وهذا يحتاج إلي تعلم لغة java ومنصة IOS هذا يحتاج إلي تعلم Objective-c وهكذا..
-
عالم البرمجة كبير جدا وله فروع كثيرة يجب تحديد المجال الذي تحبه وتريد تعلمه ، المجالات كثيره منها برمجيات الويب و برمجيات الهواتف الذكية وبرمجيات سطح المكتب وغيرها .. وكل مجال منهم لغات وأدوات مختلفه .
-
4 - تعرف علي المواقع القنوات التي تساعدك في التعلم :
-
عند البدأ في التعلم ستحتاج إلي التوجه إلي بعض المنصات التعليمه وهذا أصبح متوفراً بكثرة فهناك الكثير من المواقع التعليمية والتطبيقات ومنصات التعلم الحر –حتي إنك يكمنك الحصول علي شهادات من خلالها- وهناك قنوات تعليمية علي يوتيوب ،فقط عليك البحث عن ما يناسبك ويناسب مجالك وهذه بعض المواقع والقنوات التي يمكنها مساعدتك udemy ، udacity ، أكاديمية الزيرو و W3 SCHOOLS و الكثير منها
-
5 - ابدأ في التعرف علي الاشخاص الذين يشاركوك نفس الفضول :
-
عمرك قصير لتعيش كل التجارب لذلك يجب عليك التعرف علي أصدقاء يشاركوك نفس المجال حتي يتثني لك الحصول علي دعمهم والتعلم منهم ومن تجاربهم وأخطائهم حتي تتعلم أسرع ولا تتكرر هذه الأخطاء
-
6 - ابدأ بتنفيذ بعض المشاريع :
-..................................................................................................................................................
2 - ماهي مجالات البرمجة
-
لأن معظم الأشخاص يريدون دخول عالم البرمجة و لا يعرفون حتى ما هي المجالات المختلفة للبرمجة و هذا بالتأكيد خطأ كبير في المنهجية و لكن هناك فئة من الناس يخططون جيدا و بطريقة منظمة لما يريدونه و يرغبون بدراسته.
-
أكيد أن لغات البرمجة كثيرة و متنوعة و كذلك مجالاتها و سأستعرض لك بعض أهم المجالات التي يمكنك دراستها و الاستفادة منها ان شاء الله.
-
تنقسم مجالات البرمجة للأقسام التالية:
1 - مجال تطوير الويب
2 - مجال تطبيقات سطح المكتب
3 - مجال تطبيقات الموبايل
4 - مجال علم البيانات
5 - مجال تحليل البيانات
6 - مجال الذكاء الاصطناعي
7 - مجال قواعد البيانات
8 - مجال الألعاب
9 - مجال أنظمة التشغيل
-
مجال تطبيقات الويب
-
يعد مجال الويب أكثر المجالات إنتشارا في الآونة الأخيرة لهيمنة التجارة الإلكترونية سواء عبر إنشاء مواقع تجارية كاملة أو عبر إنشاء صفحات المنتوجات ، و ينقسم المجال كذلك إلى قسمين رئيسية ،
-
قسم Frontend : و هذا القسم مختص بتصميم و برمجة واجهات المستخدم و هي المحتوى الذي يظهر للمستعمل على الموقع .
-
قسم Backend :
-
مختص هذا القسم بالتعاملات و العمليات التي تكون على السيرفر و تنفيذا لطلبيات العميل عند إستعماله للموقع عبر جلب البيانات أو إرسالها و كذلك تخزين هذه البيانات و التعامل معها سواءا من ناحية الحفظ أو الحذف ... ( و سنفصل في هذه الأقسام جيدا )
-
مجال تطبيقات سطح المكتب
-
هذا المجال من المجالات الأكثر ريادة في الوقت السابق و هذا لا يعني أنها ماتت الآن بل بالعكس فكل شخص مننا يشتغل على العديد من برامج سطح المكتب سواء على نظام الويندوز أو نظام اللينكس و كذلك نظام الماك التي تتجلى في برامج التصميم و محررات الأكواد و كذلك المتصفحات و لا ننسى برامج التواصل و العديد من هذه البرامج التي نستعملها على أجهزتنا
-
و هذا المجال سيبقى قويا حتى تنتهي الحوسبة لإحتياج الأفراد للبرامج سواء برامج منشأة من طرف شركات عالمية مثل Adobe أو مايكروسوفت أو من طرف عامل حر لإحتياجنا لتسهيل العديد من العمليات على الحاسوب .
-
مجال برمجة تطبيقات الهاتف
-
يعد هذا المجال من أشهر المجالات في عالم البرمجة و يحتوي كذلك على أقسام و تحديدا في أنواع التطبيقات هل هي تطبيقات ألعاب أو تطبيقات تجارية إلخ ( سنفصل في كل جزئية إن شاء الله في منشور خاص بالمجال )
-
مجال تطبيقات الموبايل ينقسم إلى قسمين رئيسيين بإختلاف أنظمة التشغيل ( نظام IOS _ نظام ANDROID ) و لكل نظام لغات برمجية معينة أو مشتركة على حسب نوعية البنية الهكيلية للتطبيق .
-
مجال علم البيانات
-
هذا المجال رائع جدا و مطلوب كثيرا جدا في سوق الشغل في أيامنا هذه كما أنه من المجالات الصعبة نوعا ما و التي تتطلب جهدا كبير من أجل احترافه و هذا المجال يتطلب الكثير من الأمور و المهارات التي يجب دراستها و هي
-
أولا يجب تعلم لغة البرمجة بايثون Python ثم بعدها يجب دراسة بعض مباديء الرياضيات مثل الاحصاء، ثالثا يجب دراسة مكتبات بايثون المتخصصة في هذا المجال و هي مكتبة numpy، مكتبة pandas، مكتبة scikit-learn، مكتبة matplotlib، مكتبة seaborn و مكتبة Scipy و بعد ذلك يمكنك البدء بالتطبيق على بعض المشاريع الصغيرة و نشرها على منصة Github.
-
مجال مجال تحليل البيانات
-
و هذا المجال كذلك من أفضل مجالات البرمجة و أكثرها طلبا في سوق الشغل و هو يتطلب دراسة أمور قريبة من المجال الذي سبقه (علم البيانات) و هي : أولا دراسة لغة بايثون
-
Python و القليل من الاحصاء و مكتبات لغة بايثون التي تمت الاشارة اليها سابقا و بعد ذلك التطبيق على بعض المشاريع و نشرها على منصة Github من أجل اثراء معرض أعمالك.
---------------------------------------
مجال الذكاء الاصطناعي
-
هذا المجال فعلا من المجالات الرائعة التي تتميز فيها لغة بايثون بامتياز حيث يتم استعمال هذه اللغة لبناء برامج ذكاء اصطناعي ضخمة جدا كما أنها تستعمل من طرف أكبر الشركات التقنية على مستوى العالم مثل Google، Youtube، Netflix، NASA و غيرها من الشركات. و من أجل دراسة هذا المجال يجب اولا تعلم لغة بايثون Python و بعد ذلك تعلم المكتبات الخاصة بالذكاء الاصطناعي و كذلك الخوارزميات.
-
مجال قواعد البيانات
-
هذا المجال بالضبط ضروري بالنسبة لجميع المجالات السابقة و ضروري كذلك للعديد من المجالات الأخرى
-
من الإسم فهي تعني شيء متعلق بالبيانات ؟ صحيح قواعد البيانات هي الجزء المكلف بتخزين البيانات سواء بيانات خارجية أو داخلية ( مثلا حسابك على الفايسبوك للدخول إلى حسابك أنت محتاج للإيمايل و الرقم السري و هذه البيانات مخزنة على قواعد البيانات و كذلك المنشورات و الصور التي تقوم بطرها أو مشاهدها فهي عبارة عن بيانات يتم تخزينها و قس على ذلك المواقع و التطبيقات الأخرى ) ،
-
أي قواعد البيانات هي الجزء المهم و الجزء الضروري من أي تطبيق سيعتمد على البيانات و إذا لم يكن هذا الجزء في جميع المجالات نسمي ذلك البرنامج ببرنامج يقدم سلوكيات أو عمليات تنفذ .
-
مجال الألعاب
-
هذا من المجالات التي تحتاج دراسة معمقة و دراسة رياضية بإمتياز و كذلك يحتاج إلى دراسة التصميم الهندسي و الفزياء و المنظور الثلاثي إلخ
-
و لكن يعد مجال برمجة الألعاب من المجالات الرائدة و المربحة بشكل كبير جدا و هذا راجع لتعاطي الناس للألعاب الإلكترونية
-
و هذا من المجالات التي تحتاج فريق كامل متكامل لإنشاء الألعاب التي تختلف كذلك من أجهزة التشغيل و كذلك أنظمة التشغيل ، هناك ألعاب للهاتف و كذلك ألعاب للحاسوب و قلنا هناك أنظمة تشغيل و كذلك للحاسوب .
-
مجال أنظمة التشغيل
-
أنظمة التشغيل مثل ( Windows _ mac os _ linux _ andoird _ IOS _ MBR ) و العديد هي عبارة عن برنامج عملاق مهته هي التحكم و إدارة البرامج التي بنيت لتلائم هذه الأنظمة و تشغيلها على الحاسوب بإي نظام إشتغل و لكن هذا المجال بالضبط لديه شركات محتكرة للأنظمة على عكس الأنظمة المبنية بنواة UNIX مثل نظام linux و كذلك يمكننا تحديد مقال للمعرفة فقط و كذلك مصادر لمن يريد أن يطور من معارفه
-.................................................................................................................................
بعد أن تعرفنا مجالات البرمجة ، سنتعرف الان على لغات البرمجة واستخداماتها
-
اولا ما هي لغة البرمجة ؟
-
الجواب ..
-
- لغة البرمجة هي عبارة عن أداة نستخدمها لإعطاء الحاسوب التعليمات التي يحتاجها لتنفيذ مهمة برمجية معينة… بمعنى أبسط هي طريقة نتواصل بها مع أي حاسوب أو جهاز معين لكي نخبره كيف يتصرف ليعطينا ما نريد.
-
3 - أشهر لغات البرمجة وأهم استخداماتها
-
ما هي أشهر لغات البرمجة: ستتعرف قليلاً على أهم لغات البرمجة، واستخدامات كل منها، وأشهر الشركات والتطبيقات العملية التي تعتمد عليها.
-
1. لغة Javascript
-
جافاسكربت هي واحدة من أشهر لغات البرمجة في العالم وأكثرها استخداماً، وأغلب المواقع وصفحات الويب تعتمد عليها لأنها المسئولة عن عرض أي محتوى متغير مثل:
1 - المحتوى الذي يظهر على الموقع بعد وقت محدد (مثل صناديق الإشعارات – استمارات طلب التسجيل).
2 - الخرائط التفاعلية (مثل خرائط جوجل).
3 - الأنيميشن.
4 - مشغلات الميديا (مثل مشغل الملفات الصوتية على soundcloud).
أي محتوى يتغير على أساس سلوك الزائر أو الوقت، فهو غالباً يعتمد على لغة جافاسكربت.
-
2. لغة Python
-
لغة البايثون هي لغة برمجة مفسرة و متعددة الاستخدامات، بمعنى أنه يمكنك استخدامها تقريباً في كل المهام في عالم البرمجة مثل:
-
1 - تطوير الويب
2 - بناء برامج الحواسيب (Desktop Apps)
3 - تطوير تطبيقات الهاتف
4 - تطوير الألعاب
5 - تحليل وجمع البيانات (Data analysis – Data science)
6 - كتابة السكربتات المختلفة لتنفيذ مهام محددة وسريعة
7 - تطوير تطبيقات الذكاء الاصطناعي المختلفة
-
السبب الذي جعل بايثون تزداد شهرة واستخداماً منذ تاريخ تطويرها عام 1991 عن طريق المبرمج العبقري Guido van Rossum هو سهولتها.
-
الترميز النصي الخاص بهذه اللغة بسيط وسهل، ويشبه اللغة الإنجليزية إلى حد كبير على عكس العديد من لغات البرمجة الأخرى… مما جعل بايثون تستقطب الكثير من المبتدئين في عالم البرمجة.
-
ولهذا السبب الكثير من المعاهد والمؤسسات التعليمية تبدأ في تعليم الطلاب الجدد مبادئ علم الحاسوب والبرمجة عن طريق لغة بايثون.
-
3. لغة SQL
-
كلمة SQL هي اختصاراً لـ Structured Query Language، وترجمتها بالعربية (لغة الاستعلامات البنيوية)… بمعنى بسيط SQL هي عبارة عن اللغة التي يتم استخدامها للتعامل مع قواعد البيانات والتلاعب بها بطرق مختلفة.
-
يمكنك أن تتخيل SQL و كأنها التعليمات التي تعطيها لبرنامج excel الشهير لبناء الجداول وتعديل الأعمدة والخانات المختلفة، وإضافة ومسح المعلومات وإجراء العمليات الحسابية المختلفة.
-
تتميز لغة SQL بالبساطة الشديدة لأن الترميز النصي الخاص به (Syntax) يشبه اللغة الانجليزية العادية التي نستخدمها (Select – Add – Delete – Create) وهكذا.
-
ستجد لغة SQL مستخدمة تقريباً في أغلب السيرفرات للمواقع والتطبيقات بمختلف أنواعها واستخداماتها، وهذا ما جعلها تحتل المرتبة الثالثة في أكثر لغات البرمجة شهرة واستخداماً.
-
الجدير بالذكر أن هذه اللغة تم تطويرها من قبل باحثين في شركة IBM العالمية عام 1970، وهم Raymond Boyce و Donald D. Chamberlin.
-
4. لغة Java
-
جافا هي لغة برمجة متعددة الاستخدامات أيضاً، والتي يتم الإعتماد عليها في العديد من المهام خصوصاً في تطوير تطبيقات الهاتف والألعاب والبرامج الحسابية عالية المستوى.
-
تم تطوير لغة جافا في شركة Sun Microsystems بواسطة المبرمج الشهير James Gosling u عام 1996، والتي بعد ذلك استحوذت عليها شركة Oracle العملاقة.
-
لهذا تجد لغة جافا شائعة الاستخدام في تطوير التطبيقات الخاصة بالشركات التجارية في مختلف المجالات خصوصاً في قطاع البنوك والخدمات المصرفية المختلفة وعمليات الدفع أونلاين، ولهذا تجد شركات عملاقة مثل Amazon و E-Bay تعتمد على لغة جافا بشكل كبير.
-
كما أن لغة جافا لها نصيب الأسد في تطوير تطبيقات الأندرويد، ولهذا هي مطلوبة بكثرة في سوق العمل في كافة أنحاء العالم.
-
أهم مميزات لغة جافا هي كفاءتها في بناء التطبيقات التي تعتمد على الجرافيك أو ما يعرف بـ (GUI Apps – Graphic User Interfaces).
-
كما أن لغة جافا تستخدم على نطاق واسع في تطوير الألعاب، فمثلاً لعبة minecraft الشهيرة تعتمد على لغة جافا. كل هذا جعل لغة جافا تصبح واحدة من أشهر لغات البرمجة وأكثرها استخداماً.
-
5. لغة C#
-
لغة سي شارب هي لغة برمجة متعددة الاستخدام ولها مكانتها، وذلك على الرغم من أنه تم إطلاقها في أواخر عام 2000 من قبل فريق عمل متخصص في شركة مايكروسوفت.
-
وهذا هو أحد أسباب شهرة هذه اللغة، فهي تعد من أفضل الخيارات التي يعتمد عليها المبرمجين في بناء تطبيقات سطح المكتب لنظام تشغيل ويندوز.
-
المميز في هذه اللغة أنها حاولت تجمع العديد من مميزات لغات أخرى مثل لغة جافا ولغة سي – والتي سنتحدث عنها لاحقاً – ولهذا هي سهلة التعلم للعديد من المبرمجين الذين لديهم خبرة مع تلك اللغات.
-
هناك العديد من الشركات حول العالم التي تعتمد على لغة سي شارب خصوصاً في مجال الألعاب، لأن واحد من أشهر محركات الألعاب في العالم Unity تم بناءه بواسطة لغتي سي وسي شارب.
-
وإن لم تكن تعرف؛ محرك Unity يتم الإعتماد عليه لبناء مئات الألعاب مثل لعبة Pokémon Go الشهيرة وغيرها الكثير.
-
6. لغة PHP
-
الـ PHP هي لغة برمجة نصية (Scripting Programming Language) تستخدم في مجال تطوير الويب خصوصاً فيما يتعلق بالتعامل مع السيرفر.
-
لغة PHP في الأصل كانت مجموعة من التطبيقات المختلفة المكتوبة بلغة Perl، والتي تم بعد ذلك جمعها وترتيبها حتى أصبحت ما عليه الآن.
-
مرت لغة PHP بالعديد من مراحل التطوير بداية من إطلاقها عام 1994، ثم إعادة كتابتها مرة أخرى من قبل مبرمجين آخرين عام 1997.
أهم الشركات التي تعتمد على لغة PHP
-
1 - أنظمة إدارة المحتوى كـ ووردبريس و جوملا وغيرهما.
2 - موقع ويكيبيديا.
3 - موقع ياهو.
-
لغة PHP مازال لها مكانتها في السوق ويحتاجها العديد من مطوري الويب.
-
7. لغة C++
-
لغة سي بلس بلس هي لغة برمجة متعددة الاستخدام تم تطويرها عام 1980 بواسطة المبرمج العملاق Bjarne Stroustrup في أحد معامل شركة AT&T الأمريكية الشهيرة في مجال الاتصالات.
-
لغة سي بلس بلس تُعد من أشهر لغات البرمجة، لأنه تم تطويرها لكي تكون امتداداً للغة سي، ولهذا لديها نفس الاستخدامات والخصائص والتي سنتحدث عنها في العنصر التالي.
-
8. لغة C
-
لغة سي هي واحدة من أهم لغات البرمجة على الإطلاق، لأن عملية تطويرها تُعد مرحلة فاصلة في تاريخ علوم الكمبيوتر بشكل عام.
-
لقد تم تطوير لغة سي بواسطة واحد من أشهر وأفضل علماء الكمبيوتر على الإطلاق، وهو Dennis Ritchie في عام 1972، والذي يعتبره الكثير الأب الروحي للبرمجة.
-
لغة سي هي الأساس الذي تم استخدامه لتطوير لغات البرمجة الأخرى التي تحدثنا عنها سابقاً، فلغة جافا وبايثون و سي شارب و SQL وغيرهم تم كتابتهم وتطويرهم باستخدام لغة سي.
-
لهذا من الشائع بين المبرمجين مقولة “من يفهم لغة سي جيداً يستطيع أن يفهم ويتعلم أي لغة أخرى في عدة أيام”.
-
لغة سي هي لغة متعددة الاستخدامات تعتمد على مبدأ البرمجة الهيكلية (Structured Programming)، وهي لغة منخفضة المستوى.
-
لغة سي تتميز بالسرعة الفائقة والدقة، لأنك من خلالها تتحكم في طريقة عمل الحاسوب نفسه من حيث استخدام المعالج (Processor) و الذاكرة المؤقتة (RAM).
-
9. لغة Go
-
جو هي لغة متعددة الاستخدام مفتوحة المصدر، تم تطويرها من قبل فريق عمل متخصص في شركة جوجل عام 2009، ويزداد معدل استخدامها يوم بعد يوم.
-
لغة جو يُقال أنها لغة سي الخاصة بالقرن العشرين، فلقد تم تطويرها لتقوم بنفس المهام تقريباً بشكل أسرع وأسهل، ولهذا اعتمدت عليها العديد من الشركات منذ إطلاقها.
أهم الشركات التي تعتمد على لغة جو
-
1 - شركة Soundcloud
2 - شركة Twitch المملوكة حالياً لشركة أمازون
3- شركة Uber
4- شركة Google التي تعتمد عليها في الكثير من المهام حالياً خصوصاً في تطوير الخدمات السحابية التي تقدمها منصة Google Cloud.
-
لغة جو تنافس كل من لغة سي و جافا فيما يتعلق بالسرعة والكفاءة وتقليل الموارد المستخدمة في تطوير التطبيقات والبرامج المختلفة، ولكنها تحتاج إلى مجهود أكبر في التعلم والاستخدام نظراً لحداثتها.-
-
10. لغة Kotlin
-
لغة كوتلن هي واحدة من أحدث لغات البرمجة في هذه القائمة، فلقد تم تطويرها من قبل فريق عمل روسي في شركة JetBrains بداية من عام 2010، وكان الإطلاق الرسمي لها عام 2016.
-
لغة كوتلن هي لغة تم تطويرها في الأساس لبناء تطبيقات الهواتف على نظام أندرويد بسرعة وكفاءة أعلى من لغة جافا وبتكلفة أقل.
-
ولهذا أعلنت شركة جوجل في عام 2017 أنها ستعتمد على لغة كوتلن في تطوير نظام أندرويد نفسه، وهذا كان السبب الرئيسي وراء شهرة هذه اللغة، والبدء في استخدامها من قبل الكثير من المطورين.
-
إجابات لأهم 6 أسئلة للمبتدئين في تعلم البرمجة
-
سأذكر لك مجموعة من أهم أسئلة المبتدئين عند تعلم البرمجة وبها توضيح لكافة تلك التساؤلات ؛ لذا لا داعي لنطيل في المقدمة ولنبدأ بشكل مباشر في عرض دهاليز وطيات موضوعنا !
-
1 - هل تعلم البرمجة صعب ؟
-
البرمجة ليست كغيرها من المجالات ، فالحقيقة التي لا يخبرك بها أحد أن البرمجة فعلًا صعبة فهي ليست عبارة عن أكواد تحفظها عن ظهر قلب أو أكواد تقوم بنسخها وإلصاقها في محرر أكوادك ، فالحواسيب غبية لا تفهم سوى ال 0 و ال 1 أو الTrue وال False ،
بل إن البرمجة كما هو معروف يغلب عليها الفهم أكثر من الحفظ ، قد لا تلاحظ تلك الصعوبة في التطبيق على أشياء صغيرة كصفحة ويب بسيطة أو برنامج حسابي بسيط ، بل ستشعر بها عند التطبيقات الكبيرة ...
وهذه الصعوبات والمشاكل التي ستواجهها عند صنع تطبيقاتك وبرامجك هي ما يطور من مهاراتك وقدراتك في حل المشكلات والتحليل ، وهذا ما يجعلك حقًا تعشق البرمجة .
-
-
2 - كم من الوقت تحتاج لتعلم البرمجة ؟
-
سؤال منطقي ، والإجابة تتوقف على عدة عوامل ، أولها هي مستواك في البرمجة بمعنى لو كانت لغة البرمجة التي ستتعلمها هي الأولى لك ، فحينها ستأخذ وقتًا في فهم العديد من المفاهيم البرمجية كال loop وال Function وال Arrays وال Data Types وغيرهم من المفاهيم التي ستكون غريبة لك لأنك أول مرة تتعرف عليها وبالتالي ستأخذ وقتًا أكبر ، أما لو كانت لديك معرفة مسبقة بلغة برمجية فإن الانتقال من لغة لأخرى سيكون أسهل كونك تعرف قدرًا كبيرًا من الأساسيات والمفاهيم المتعلقة بالبرمجة .
-
العامل الثاني أن كل لغة تختلف عن الأخرى ، بمعنى أن الوقت الذي تحتاجه لتعلم الJavaScript ليس كالوقت الذي تحتاجه لتعلم الC ، العامل الأخر هو قدراتك الاستيعابية في الفهم والتطبيق كذلك الوقت الذي ستعطيه لتعلم البرمجة ، فتخصيص ساعتين يوميًا ليس كنصف ساعة ....أيضًا قوة المصدر الذي ستتعلم منه فهل هو متمكن ؟! هل هو مصدر شامل أم ضعيف ؟!
-
إذن فليس هناك وقت محدد لتعلم البرمجة فالوقت يعتمد على عوامل ؛ لذا تهرب من الدورات والكورسات التي تخبرك بأنك ستتعلم لغة الJava في ساعة واحدة والمواضيع التي تستغل العناوين المُغرية من أجل جلب زوار .
-
-
3 - هل يُشترط التفوق في الرياضيات من أجل تعلم البرمجة ؟
-
المعرفة الرياضية البسيطة كالجمع والطرح والضرب والقسمة وبعض المفاهيم الأخرى كافية ، فنجد أطفال من عمر 9 سنوات و 10 سنوات يتعلم البرمجة وهو في الأساس لم يسمع عن التفاضل والتكامل مُطلقًا ، فباختصار لن تحتاج الرياضيات إذا كنت تعمل على برمجة موقع أو تطبيق أندرويد أو iOS مثلًا ، لكن ستحتاج لمعرفة قوية حينما تعمل على تطبيق محاسبة كبير لحل عمليات ومعادلات رياضية معقدة .
-
يربط الكثيرون بين البرمجة والرياضيات لوجوه الشبه الموجودة بينهم في تقديم الفائدة والمتعة العقلية لعشاقهم ، فالرياضيات تنمي لديك القدرة على التفكير والإبداع والإصرار على حل المشكلات ، وكل هذا تعلمك البرمجة إياه.
-
-
4 - ما هي أفضل لغة برمجة ؟
-
في الحقيقة أسأم من النقاشات المطروحة على مواقع التواصل الاجتماعي والشجارات التي يُحدثها بعض المبتدئين حول ما هي أفضل لغة برمجة .. فتجد أحدهم يُجزم بأن البايثون هي أفضل لغة برمجة وأخر يعدد في ميزات الجافا بينما أحدهم يذكر الجافا سكريبت وتطورها ، ومن بين كل هذا يخرج أحدهم ليصدم الجميع بأن الHTML هي أفضل لغة برمجة .
-
هذا السؤال غير منطقي تمامًا كأنك تقول مثلًا أن هندسة الميكانيكا أفضل من العمارة أو طب الجراحة أفضل من طب المخ والأعصاب ، لغات البرمجة بمثابة أدوات تُوصلك لما تريد ؛ لذا فلا يوجد لغة أفضل من الأخرى ، لكل لغة مميزاتها واستخداماتها التي تجعلك تفضلها عن الأخرى .. فدعك من هذه النقاشات المختلفة واستمتع بمسيرتك في تعلم البرمجة .
-
-
5 - هل تتطلب البرمجة لغة إنجليزية جيدة ؟
-
دعنا من أن المصطلحات الموجودة في لغات البرمجة ومفاهيم البرمجة عامةً يُفضل معرفتها بالإنجليزية ، لكن دعنا نتحدث عن خطواتك الأولى في تعلم البرمجة .. يجب أن تعلم أن أغلب المحتوى الموجود على الإنترنت مُقدم باللغة الإنجليزية،
-
لنتحدث عن سوق العمل .. سواءً في الشركات أو في العمل الحر على الإنترنت فإن إتقانك فمعرفتك للغة الإنجليزية سيفتح لك فرص عمل كبيرة بمبالغ محترمة خصوصًا على مواقع العمل الحر الأجنبية ؛ لذا يجب أن تكون لك نظرة مستقبلية وأن تسعى لتعلم الإنجليزية ليس من أجل البرمجة فقط لكن من أجل أن تفتح لنفسك الفرص وتسهل الكثير من الخطوات عليك .
-
-
6 - ما هي أفضل المصادر لتعلم البرمجة ؟
-
سؤال يشغل الكثير .. لدي شغف وحب وخطة لتعلم البرمجة ، لكن في الحقيقة لا أملك أية مصادر أتعلم منها ، هناك من يفضل أخذ دورة في مكان أكاديمي وأخر يفضل التعلم الذاتي عبر الإنترنت ،
-
وأنت كمحب للبرمجة يجب أن تكتسب صفة حب التعلم الذاتي لأن البرمج مجال متجدد وستتعلم يوميًا شيء جديد كذلك فأغلب متعلمي البرمجة تعلموها ذاتيًا على الإنترنت سواءً من فيديوهات وكتب ودورات ، بالنسبة للمصادر فقد وفرنا مقالًا مسبقًا حول أفضل المصادر لتعلم البرمجة ،
-
طرحنا في هذا المقال مواقع عربية وأجنبية كذلك الكثير من قنوات اليوتيوب المتميزة ، تلك المصادر ستساعدك كثيرًا من أجل خطواتك الأولى في تعلم البرمجة من الصفر وحتى الاحتراف والوصول لخبرة واسعة في مجال البرمجة .
-
مقال سابق عن المسار الصحيح الذي لا بد من سلكة
الخطوة الثانية (مسار المبرمج الصحيح)
---------------------------------------
1 - لغة البرمجة:
-
هذه الجزئية ليست بالصعبة فالكل يمر بها وتشمل التعرف على اساسيات اللغة من (دوال-متغيرات –جمل شرطية-...الخ)....
-
2 - البرمجة الكائنية (OOP):
-
تكمن المشكلة هنا في ان الغالبية تدرس هذا المفهوم (أكاديميا) ويطبقون على امثلة محفوظة ويصعب عليهم استخدامها في برامج حقيقية (المشكلة غالبا من طريقة التدريس).
-
.
3 - هياكل البيانات (data structures):
-
البرامج في العالم الحقيقي ليست كالتي تكتبها من اجل التجربة او المرح. لابد للبرنامج ان يعمل بكفاءة وسرعة وان يستخدم اقل قدر مكن من الذاكرة. فهياكل البيانات هي طريقة لجمع البيانات وتنظيمها بطريقة تمكننا من إجراء عمليات على هذه البيانات بطريقة فعالة.
-
4 - الخوارزميات(algorithms):
-
إذا اردت كتابة برنامج معين فهنالك مئات الطرق لكتابة الكودة وفي النهاية النتيجة واحدة لكن السؤال: ما هي أفضل طريقة؟ الخوارزميات تمكنك من إيجاد أفضل طريقة واقصرها لحل مشكلة معينة. إذا لابد من دراسة بعض الخوارزميات الأساسية التي لا غنى عنها ابدا وستحتاج لاستخدامها في جميع تخصصات البرمجة.
-
5 - حل المشكلات (Problem Solving):
-
حل المشكلات هو جوهر علوم الكمبيوتر. يجب على المبرمجين أولاً أن يفهموا كيف يحل الإنسان مشكلة ما، ثم يفهم كيفية ترجمة هذه "الخوارزمية" إلى شيء يمكن أن يقوم به الكمبيوتر، وأخيرًا كيفية كتابة الكود المطلوب لإنجاز المهمة. مهارة حل المشكلات تعلمك كيفية استخدام ودمج جميع ما تعلمته سابقا لحل مشكلة حقيقة (وهذا هو الهدف من تعلم البرمجة). قم بالتسجيل على موقع ( hackerrank-codeforces) وابدأ بحل أكبر كمية ممكنة من المسائل ولكن بعد ان تكون انتهيت من تعلم الأربعة أمور
-
-
افضل المصادر لتعلم البرمجة
-
بعد ذلك أول ما سيتبادر إلى ذهنك بعد قرارك تعلم البرمجة هو من أين سأتعلم ؟
-
اشهر 10 قنوات لتعليم البرمجة علي يوتيوب
1- Traversy Media
2- FreeCodeCamp
3- The Net Ninja
4- Derek Banas
5- Programming with Mosh
6- thenewboston
7-Learning Programming
8- Elzero Web School (عربي)
9- muhammad essa (عربي)
10- TheNewBaghdad (عربي)
11 - Coder Shiyar
اشهر 10 مواقع لتعليم البرمجة
1- W3school
2- Code.org
3- Code School
4- freecode
5- Codeconquest
6- TheCodePlayer
7- Mozilla Developer Network
8- solo learn
9- CODEWARS
10- CODE AVENGERS
اشهر مواقع لكورسات البرمجة
1- EDX
2- COURSERA
3- UDACITY
4- UDEMY
5- LYNDA
6- KHAN ACADEMY
7- coursat (عربي)
8- w3arabi
تابع نصائح لخبراء المجال من هنا
مثل هذة المقالات في تحديث دائم فكن معنا دائما للاطلاع علي كل جديد