كيف ابدأ في تعلم البرمجة؟
تعلم البرمجة |
"أريد تعلم البرمجة لكنني لا أعرف من أين أبدأ"
هل راود هذا السؤال بالك من قبل؟!
معنا في مدونة سويد سوف نقوم باعطائك جميع المعلومات التي تحتاجها حول هذا الموضوع❤️
ما هي لغات البرمجة؟!
البرمجة هي عملية تقسيم مهمة معينة، يُراد تنفيذها عبر الحاسوب، إلى أجزاء صغيرة ومترابطة وقابلة للتنفيذ بأوامر بسيطة. ثم يتم كتابة هذه الأوامر والتعليمات باستخدام إحدى لغات البرمجة، التي تُعد وسيلة للتواصل مع الحاسوب.
أهمية تعلم البرمجة
إن مهارات البرمجة مطلوبة بشكل كبير من قبل أصحاب العمل في عدد كبير من الشركات حول العالم، ويمكن أن يساعدك امتلاك مثل هذه المهارة على دعم مسارك الوظيفي، حيث تكمن أهمية تعلم البرمجة في النقاط التالية:
- · مهارات البرمجة تمهد لك الطريق للحصول على راتب جيد.
- · توفر لك البرمجة المرونة في العمل من أي مكان حول العالم، وفي أي وقت.
- · إنجاز أي شيء تفكر فيه باستخدام التكنولوجيا.
- · التعرف عن قرب على الذكاء الاصطناعي، والاتجاهات المستقبلية الأخرى.
- · تعزز البرمجة مهارات حل المشكلات لديك.
- · تحسن التحصيل المعرفي لدى أطفالك من خلال تعليمهم البرمجة منذ الصغر.
لماذا هناك العديد من لغات البرمجة؟
قد تتساءل، لماذا هناك العديد من لغات البرمجة؟ أليست هذه اللغات كلها تنفذ الهدف ذاته؟ لماذا لا يكون هنالك لغة موحدة بين المبرمجين والحاسوب؟
الحقيقة أنّه توجد لغة برمجة واحدة ولكن ليست إحدى اللغات التي تراها أمامك في الصورة. اللغة التي نشير إليها هي "لغة الآلة" التي يستطيع معالج الحاسوب قراءتها وفهمها. أتتساءل ما هي لغة الآلة وكيف تبدو؟ إليك مقطعًا منها:
من المعروف أن معالج الحاسوب لا يفهم إلا الأصفار والواحدات، وهذه اللغة، أي لغة الآلة، هي عبارة عن تمثيل للأصفار والواحدات بطريقة تُعلِم الحاسوب بما ينبغي عليه القيام به. يُشار إلى أن هذه اللغة صعبة الفهم بالنسبة للبشر، فحتى لو استطعت كتابة شفرة مثل الشفرة الموضحة في الصورة (كما في السنوات الأولى من تاريخ اختراع الحاسوب)، فإن الآخرين لن يفهموها ولن يكون بمقدور أحد التعديل على الشفرة أو تطويرها فيما بعد باستثناءك."
سعيًا لإيجاد لغة قريبة من لغة البشر، انقسمت لغات البرمجية إلى قسمين: لغات البرمجة منخفضة المستوى، ولغات البرمجة عالية المستوى وذلك تبعًا لمدى قربها من لغة الآلة أو لغة البشر على التوالي. أي أنّ لغات البرمجة منخفضة المستوى هي اللغات الأقرب للغة الآلة آنفة الذكر مثل لغة التجميع، ولغات البرمجة عالية المستوى هي اللغات الأقرب للغة البشر مثل لغة بايثون وجافا.
تنفيذ البرامج المكتوبة بلغات برمجة عالية المستوى الحديث عن اللغات عالية المستوى واللغات منخفضة المستوى يقودنا إلى الحديث عن كيفية تنفيذ المعالج للشيفرة المكتوبة بلغة عالية المستوى لا يفهمها المعالج (أليس هذا ما تفكر به الآن؟).
عرفنا أن المعالج يفهم الأوامر والتعليمات المكتوبة بلغة منخفضة المستوى (لغة الآلة)، إذ مَثَلُ هذه العملية كمَثَلِ شخصٍ أجنبي تعلم اللغة العربية وبدأ التحدث مع ناطقٍ باللغة العربية، إذ يمكن لهما التواصل مباشرةً - ليخبر كل منها ما يريد من الآخر فعله - دون وسيط. أمَّا مَثَلُ كتابة برنامج بلغة عالية المستوى أقرب إلى لغة البشر والطلب من الحاسوب تنفيذه كمثل ناطق باللغة الهندية يريد التخاطب مع ناطق باللغة العربية دون أن يفقه أحدهما لغة الآخر. في هذه الحالة، لن يستطيع أحدهما فهم ما يتكلم به الآخر وستفشل عملية التواصل. قد تقول: لماذا لا يحضران مترجمًا يترجم ما يقوله كل منها للآخر؟ حسنًا، هذا ما يحصل تمامًا عندما يراد تنفيذ برنامج بلغة لا يفهمها معالج الحاسوب.
في اللغات البشرية، هنالك نوع واحد من المترجمين يعرفه الجميع للترجمة من لغة إلى آخرى؛ أما في لغات البرمجة، هنالك نوعان من المترجمين بين اللغات هما: المفسر، والمترجم. بناءً على ذلك، تنقسم لغات البرمجة إلى لغات مفسرة ولغات مترجمة. (من الآن وصاعدًا، كلما ذكرنا لغات البرمجة، فنحن نشير إلى لغات البرمجة عالية المستوى.)
المفسر (interpreter): وهو برنامج خاصٌ يفسِّر الشيفرة المصدرية لبرنامج مكتوب بلغة عالية المستوى سطرًا بسطر ويحولها إلى لغة منخفضة المستوى لينفذها الحاسوب مباشرةً.
المترجم (compiler): وهو برنامج خاصٌ يحوِّل الملفات المصدرية لبرنامج مكتوب بلغة عالية المستوى إلى ملف تنفيذي مكتوب بلغة الآلة دفعةً واحدةً، ثم يمكن تشغيل الملف التنفيذي على الحاسوب للقيام بالمهمة المطلوبة.
لماذا يوجد الكثير من لغات البرمجة عالية المستوى؟
الآن، بعد أن تعرفت على الفرق بين لغة الآلة ولغة البشر، قد تتساءل عن سبب وجود العديد من لغات البرمجة عالية المستوى ولماذا لا توجد لغة واحدة فقط. يمكننا القول إنك قد خطوت خطوة جيدة إلى الأمام وأصبحت الآن أكثر دقة في تفكيرك. جواب سؤالك هو أن كل لغة برمجة تُستخدم لتحويل فكرة منطقية إلى سلسلة من الأوامر التي يمكن للحاسوب تنفيذها. فعلى سبيل المثال، يمكن استخدام أي من Ruby أو Java أو Python أو C# أو Go أو JavaScript لبناء موقع ويب، لكن كل لغة منها تُعتبر أداة تسهّل مهمة معينة على حساب غيرها. فمثلاً، السيارة والحافلة والدراجة والمحراث الزراعي كلها وسائل نقل، لكن استخداماتها مختلفة؛ فلا يُمكن استخدام المحراث في رحلة عائلية صيفية، ولا يُمكن استخدام سيارة سباق في شوارع ضيقة مزدحمة للذهاب إلى العمل، رغم أن آلية عمل هذه المركبات متشابهة. وهذا ما ينطبق أيضًا على لغات البرمجة.
خلاصة القول، هناك لغات برمجة متخصصة في إنشاء تطبيقات سطح المكتب، وأخرى متخصصة في تطوير تطبيقات الجوال، وثالثة مخصصة لمواقع الويب، ورابعة لبرمجة الأجهزة. وهذا يقودنا إلى مناقشة مجالات البرمجة واللغات المثلى لكل مجال.
أنواع لغات البرمجة مقسمة وفقاً لمجالها
لغات برمجة برامج سطح المكتب:
- C#
- C++
- Java
- VB
لغات برمجة تطبيقات الإنترنت:
- PHP
- JavaScript
- java
- python
- Rupy
لغات برمجة الجوالات:
- Swift
- java
- C#
- Lua
- Objective-c
لغات التنقيب عن البيانات:
- R
- Python
- SQL
- Java
- SAS
- Perl
وفقاً لموقع تايوب فإن معايير القياس التي يعتمدونها هي:
- عدد المهندسين الذين يحترفون اللغة.
- عدد الدورات و موفري خدمات الطرف الثالث.
- حساب معدل الإنتشار من بعض محركات البحث الشهيرة مثل (قووقل، بنق، ياهو، ويكيبديا، و غيرهم).
- كما أضافت تايوب تنبيهاً مهما جداً بأن مؤشرهم لا يتحدث عن أفضل لغة برمجة أو لغة البرمجة صاحبة أكبر عدد مكتوب من الأسطر.
من المعايير المهمه في اختيار لغة البرمجة الاولى التي سوف تبدء في تعلمها هي انتشار هذه اللغة في العالم وكما هو معروف عالمياً أكثر لغتين منتشرة عالميا هما لغة:
- جافا سكريبت
- سي
وفي ما يلي قائمة باللغة الاكثر انتشاراً
افضل لغة برمجة |
ما هو رايك في المحتوى ؟
هل لديك اي سؤال أخر؟