إذا حاولنا أن ننسب التقدم والتطور التكنولوجي الذي أصبح موجودًا في هذه الأيام فيجب أن يكون بداية هذه الأسباب لغات البرمجة، ذلك الاختراع المبهر الذي مكّن الإنسان من أن يجعل حياته أسهل بكثير من ذي قبل، بل وساعدته على الوصول إلى التقدم التقني المطّرد يومًا بعد يوم، ومن خلال لغات البرمجة يتم التخطيط للمستقبل البشري في العقود المقبلة وكيف ستؤثر لغات البرمجة في هذا التخطيط، لذا سنحاول في هذا المقال أن نُلقي الضوء على تاريخ لغات البرمجة منذ نشأتها وتعريفها وأنواعها ومعرفة كل المعلومات المتاحة عن أفضل لغات البرمجة وطرق تعلمها.
** هذا المقال بإذن الله سيكون بداية لسلسة مقالات تتحدث عن كل ما يخص البرمجة، سنبدأ في هذا المقال بالتعرف على البرمجة بشكل شامل من حيث ماهيتها وبدايتها وتطورها وأنواعها، بعد ذلك سنتعرف في مقالات لاحقة عن لغات البرمجة الموجودة حاليًا وأهميتها وسنتعرف على أفضل مصادر عالمية لتعلم البرمجة بكل سهولة مع مقالات أخرى ستتضمن نصائح حول الأساليب العلمية السليمة لتعلم البرمجة واستغلالها في القيام بالأعمال التي ستوفر لك دخل مادى ومن خلالها ستتمكن من ربح المال من البرمجة **
- فكرة البرمجة تمثلت آنذاك في "البطاقات المثقبة" وهي عبارة عن قطعة من الورق المقوى يتم ثقبها بترتيب معين بحيث يُمثل هذا الترتيب المعلومات والأوامر التي يتم إدخالها إلى الآلة، وقد استُخدمت هذه الفكرة على العديد من الآلات مثل آلات الحياكة وآلات التعداد السكاني وغيرها إلى أن تم اختراع الحاسوب.
- بعد اختراع الحاسوب عام 1940م كان يتم التعامل معه عبر لغة الآلة "الأسمبلي" أو ما يُعرف بلغة التجميع، وقد كانت لغة معقدة وتسبب الكثير من الأخطاء، إلى أن تم تصميم لغات برمجة أسهل مثل "Autocode ،Fortran" وغيرها من اللغات التي تم الاعتماد عليها واستخدامها في هذا الوقت، ومع مرور الوقت زاد عدد اللغات المُستخدمة وتنوعت وتعددت خصائصها وظهرت لغات جديدة لا تزال تُستخدم أو حتى تم تطويرها مثل: "++C ،SQL ،Pascal ،C" إلى أن تم اختراع الإنترنت.
- كان اختراع الشبكة العنكبوتية تمهيدًا لبزوغ نجم لغات برمجية جديدة وأساليب جديدة في البرمجة، وبدأ انتشار اللغات الوظيفية واللغات النصية وظهرت العديد من اللغات الشهيرة والتي لاتزال تستخدم حتى اليوم مثل "Java ،PHP ،Visual Basic ،Python ...." ولازالت لغات البرمجة تزداد وتتطور وتتحسن يومًا بعد يوم.
* يُمكنكم أيضًا مشاهدة:
- أفضل لغات برمجة الذكاء الاصطناعي
- تعلم تطوير الويب Web Development
- تعلم برمجة تطبيقات الأندرويد حتى الاحتراف
** هذا المقال بإذن الله سيكون بداية لسلسة مقالات تتحدث عن كل ما يخص البرمجة، سنبدأ في هذا المقال بالتعرف على البرمجة بشكل شامل من حيث ماهيتها وبدايتها وتطورها وأنواعها، بعد ذلك سنتعرف في مقالات لاحقة عن لغات البرمجة الموجودة حاليًا وأهميتها وسنتعرف على أفضل مصادر عالمية لتعلم البرمجة بكل سهولة مع مقالات أخرى ستتضمن نصائح حول الأساليب العلمية السليمة لتعلم البرمجة واستغلالها في القيام بالأعمال التي ستوفر لك دخل مادى ومن خلالها ستتمكن من ربح المال من البرمجة **
ما هو تعريف لغات البرمجة؟
- بدايةً ما هي اللغة؟ يُمكن تعريف اللغة بأنها الطريقة المستخدمة للتواصل بين شخصين أو أكثر، وبالتالي يُمكن تعريف لغة البرمجة على أنها "طريقة تخاطب الإنسان مع الآلة"، ويمكن تعريفها أيضًا على أنها مجوعة من الأوامر والمعلومات والتي يتم كتابتها في شكل رموز وإشارات تستند إلى قاعدة اللغة المستخدمة بحيث يستطيع الحاسوب فهم تلك الأوامر وترجمتها في صورة إجراءات واضحة، ولغات البرمجة هي الطريقة التي تستند عليها البرامج في العمل على الحواسيب والتي تتكون من مجموعة ضخمة من الأكواد وعند تشغيل تلك البرامج يبدأ الحاسوب بتحويل الأكواد المكتوبة بإحدى لغات البرمجة إلى اللغة التي يستطيع قرائتها (0-1) ويبدأ بعد ذلك في ترجمة الأوامر المكتوبة.نبذة تاريخية عن لغات البرمجة
- يجب أن نذكر أن أن لغات البرمجة ظهرت وتم استخدامها قبل اختراع الحواسيب بحوالي قرن من الزمان، وبالرغم من أن لغات البرمجة التي ظهرت في ذلك الحين كانت مختلفة تمامًا عن اللغات المستخدمة في الوقت الحاضر إلا أنها اعتمدت على نفس المبادئ المستخدمة في حاليًا.- فكرة البرمجة تمثلت آنذاك في "البطاقات المثقبة" وهي عبارة عن قطعة من الورق المقوى يتم ثقبها بترتيب معين بحيث يُمثل هذا الترتيب المعلومات والأوامر التي يتم إدخالها إلى الآلة، وقد استُخدمت هذه الفكرة على العديد من الآلات مثل آلات الحياكة وآلات التعداد السكاني وغيرها إلى أن تم اختراع الحاسوب.
- بعد اختراع الحاسوب عام 1940م كان يتم التعامل معه عبر لغة الآلة "الأسمبلي" أو ما يُعرف بلغة التجميع، وقد كانت لغة معقدة وتسبب الكثير من الأخطاء، إلى أن تم تصميم لغات برمجة أسهل مثل "Autocode ،Fortran" وغيرها من اللغات التي تم الاعتماد عليها واستخدامها في هذا الوقت، ومع مرور الوقت زاد عدد اللغات المُستخدمة وتنوعت وتعددت خصائصها وظهرت لغات جديدة لا تزال تُستخدم أو حتى تم تطويرها مثل: "++C ،SQL ،Pascal ،C" إلى أن تم اختراع الإنترنت.
- كان اختراع الشبكة العنكبوتية تمهيدًا لبزوغ نجم لغات برمجية جديدة وأساليب جديدة في البرمجة، وبدأ انتشار اللغات الوظيفية واللغات النصية وظهرت العديد من اللغات الشهيرة والتي لاتزال تستخدم حتى اليوم مثل "Java ،PHP ،Visual Basic ،Python ...." ولازالت لغات البرمجة تزداد وتتطور وتتحسن يومًا بعد يوم.
كيف تطورت لغات البرمجة؟
- كما ذكرنا مسبقًا فإن لغات البرمجة مرت بعدة مراحل وتطورات أثرت في تكوينها وفي الغرض من استخدامها، ويُمكن تقسيم مراحل تطور لغات البرمجة إلى خمسة مراحل:1- الجيل الأول من لغات البرمجة 1GL
- هي أولى اللغات المستخدمة للتعامل مع الحاسوب وهي لغة الآلة Machine Language التي اعتمدت على نظام العد الثنائي (Binary System (0-1، وكان يتم التعامل مع هذه اللغة مباشرة عبر لوحة المفاتيح الخاصة بالحاسوب حيث يتم إدخال الأوامر في شكل أكواد مكونة من 0-1 فقط، حيث أن كل ترتيب معين للرقمين يُمثل أمرًا معينًا، وكانت فائدة هذه اللغة في ذلك الوقت هو السرعة في تنفيذ الأوامر بالنسبة إلى قوة موارد الحواسيب في ذلك الوقت، وبالرغم من ذلك فإن تلك اللغة كانت معقدة للغاية ومرهقة وتسبب الكثير من الأخطاء.2- الجيل الثاني من لغات البرمجة 2GL
- وبسبب العيوب التي ذكرناها في الجيل الأول، كانت هناك العديد من المحاولات لمعالجة تلك العيوب وتصميم لغة أكثر سهولة يمكن استخدامها، وبالفعل تم تصميم لغة قادرة على استخدام من 1-5 أحرف لكتابة الأوامر، وبالرغم من هذا التطوير إلا أن استخدام هذه اللغة كان يستغرق وقتاً أطول من لغة الآلة حيث يتم كتابة الأكواد على الورق أولاً ثم يتم ترجمتها إلى لغة الآلة عند إدخالها إلى الحاسوب، وبعد ذلك تم تطوير اللغة بحيث يستطيع الحاسوب ترجمة اللغة بنفسه عن طريق برنامج Assembler، وأدي هذا التحديث إلى ظهورلغة التجميع Assembly Language وهي أساس الجيل الثاني من لغات الترجمة، وصنفت كلغات برمجة متدنية المستوى Low-Level Languages حيث كانت تنتقل من الأشياء التفصيلية إلى الأشياء والعناصر الرئيسية.3- الجيل الثالث من لغات البرمجة 3GL
- بالرغم من أن لغة التجميع كانت بمثابة تقدم في علوم البرمجة إلا أنها لم تخلوا من العيوب والتي كان من أبرزها التناسب مع الآلة أي أن البرنامج الذي يتم كتابته بلغة التجميع يمكن تطبيقه فقط على الآلة التي سيتم استخدامه عليها ولا يمكن استخدامه على آلة أخرى تختلف في الخصائص إلا بعد إعادة كتابته ليتناسب مع الآلة الجديدة، بالإضافة إلى أنها تتطلب الاهتمام بشكل كبير بالأشياء التفصيلية الدقيقة في بداية صنع البرنامج، أي أنك تنتقل من الأشياء الدقيقة إلى الأشياء الرئيسية، وبسبب ذلك كان هناك حاجة إلى لغة برمجية أفضل، وبالتالي ظهرت اللغات الإجرائية والتي اعتمدت على النظرة الكلية أي الانتقال من العناصر الرئيسية إلى الأشياء التفصيلية الدقيقة وتم تصنيفها كلغات برمجة عالية المستوى High-Level Languages، واعتمدت لغات هذا الجيل على لغة الإنسان كالإنجليزية والرموز الرياضية والمنطقية.4- الجيل الرابع من لغات البرمجة 4GL
- الجيل الرابع من لغات البرمجة كان بمثابة تطوير للغات البرمجة الاجرائية، حيث أنها لغات عالية المستوى غير إجرائية، فهي لا تتطلب خطوات لإجرائها أي أن دور المبرمج هنا هو إخبار الحاسوب بالنتائج المراد تحقيقها بدلاً من كيفية تحقيقها، وقد استخدمت تلك اللغة في العديد من المجالات مثل :"قواعد البيانات - لغات الجداول الإلكترونية - تحليل البيانات - اللغات الاستعلامية"، ويُمكن استخدام هذه اللغات في إنشاء البرامج عن طريق التحليل والتصميم عبر الواجهة الرسومية.5- الجيل الخامس من لغات البرمجة 5GL
- لغات الجيل الخامس هي اللغات الأحدث والأكثر تطورًا حتى اليوم، وهي لغات تم تصميمها لكي يتمكن الحاسوب من إنشاء برامج بنفسه دون الحاجة إلى مبرمج أو طريقة لكتابة الكود وتعتبر لغات الجيل الخامس هي المصدر الرئيسي لمنتجات الذكاء الاصطناعي والتي تعتمد على التفاعل بين المستخدم والحاسوب من خلال التعامل مع الإنسان بالصوت والصورة عبر برمجة الحاسوب لكي يحاكي القدرات الذهنية البشرية وأنماط عملها حيث يستطيع الحاسوب التعلم والاستنتاج وتقليد الجنس البشري واتخاذ ردود أفعال لم يُبرمج عليها.ما هي أنواع لغات البرمجة؟
- حقيقةً لا يوجد تصنيف دقيق ومعتمد لأنواع لغات البرمجة ولكن يُمكن تصنيفها كالتالي:من حيث قربها للغة البشر:
- لغات عالية المستوى: أي قريبة من لغة الإنسان مثل: C ،PHP ،Java
- لغات متدنية المستوى: بعيدة عن لغة الإنسان مثل لغة التجميع Assembly
من حيث طريقة الكتابة:
- يمكننا تقسيم اللغات من حيث طريقة كتابتها إلى نوعين:
البرمجة الخطية
- هي اللغات البرمجة التي ظهرت قبل ظهور نظام التشغيل ويندوز مثل: BASIC - C - Pascal - COBOLالبرمجة الشيئية:
- هي لغات ظهرت بعد نظام الويندوز وأغلبها تطوير للغات سابقة مثل: الفيجوال بيسك - Visual Basic والتى تطورت من لغة Basic، وكذلك لغة ++C والتي تطورت من لغة C وأيضًا لغة Delphi والتي تطورت من لغة Pascal.لماذا يجب أن تتعلم البرمجة؟
- بالنسبة للوقت الحاضر وبالنظر والتوقع كيف سيكون شكل المستقبل فإن البرمجة هي الثابت الوحيد في تلك المعادلة، لغات البرمجة أصبحت شيئًا هامًا في هذا العصر وأكثر الوظائف المتاحة في سوق العمل هي للمبرمجين، وكذلك فتعلم لغات البرمجة يفتح لك سوق العمل كفري لانسر بعيدًا عن المكاتب المغلقة والوظائف التقليدية، بالإضافة إلى أنها متعة حقيقية أن تكون قادر على تصميم برنامج أو موقع عبر مجموعة من الأكواد التي قمت بكتابتها بنفسك، وأبرز الشركات العالمية كجوجل وفيسبوك وغيرها يتطلب الحصول فيها على وظيفية أن تكون متقنًا لإحدى لغات البرمجة، كل هذا يدفعك لأن تحرص على تعلم وإتقان لغة برمجية فهذا سيفتح لك الكثير من الأبواب المغلقة.
** شاهد هذا الفيديو الرائع **
كيفة تعلم لغات البرمجة
- تعلم لغات البرمجة لم يعد أمرًا صعبًا كما كان من قبل فالإنترنت الآن يحتوي على آلاف الدورات التدريبية في كافة لغات البرمجة المختلفة، يُمكنك الدخول إلى اليوتيوب والبحث عن أي دورة تدريبية لأي لغة برمجة وستجد الكثير من الكورسات لتلك اللغة سواءً باللغة العربية أو الإنجليزية، قم بمشاهدة تلك الدورات وابدأ بالتطبيق بنفسك حتى تتقن اللغة، وقمت بعمل موضوع منفصل شامل لكافة طرق تعلم لغات البرمجة أونلاين وباللغة العربية وسيضم معظم الدورات التدريبة لكل اللغات البرمجية يمكنم مشاهدة هذا الموضوع من هنا مصادر تعلم البرمجة بالعربية.أخطاء شائعة عن البرمجة
- اللغة الإنجليزية مهمة ولكنك تستطيع تعلم البرمجة بدون إتقان لها
- يُمكنك إتقان العديد من لغات البرمجة دون أن يحدث تداخل بينهم
- لا يوجد مدة محدد لإتقان لغة برمجية معينة فهذا يختلف من شخص لآخر
- لا يتطلب تعلم لغات البرمجة الحصول على تعليم متعلق بالتكنولوجيا والحواسيب
- لا يجب أن تلتحق بمراكز تدريبية للحصول على تدريب مدفوع، تستطيع التعلم عبر الإنترنت
- لا يجب أن تكون عبقري في الرياضيات لكي تتعلم البرمجة يكفي أن تكون على اطلاع فقط
- يمكنك متابعة هذا المقال لمعرفة أفضل نصائح لتعلم لغات البرمجة والاستمتاع بها بكل سهولة
* يُمكنكم أيضًا مشاهدة:
- أفضل لغات برمجة الذكاء الاصطناعي
- تعلم تطوير الويب Web Development
- تعلم برمجة تطبيقات الأندرويد حتى الاحتراف