مقارنة لغات البرمجة الشعبية

click fraud protection

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

قراءة المزيد عن ما هي لغة البرمجة؟

مقارنة لغات البرمجة

هناك عدة طرق لمقارنة لغات الكمبيوتر ، ولكن من أجل البساطة ، سنقوم بمقارنتها بواسطة أسلوب التجميع ومستوى التجريد.

تجميع لرمز الجهاز

تتطلب بعض اللغات تحويل البرامج مباشرةً إلى رمز الآلة - الإرشادات التي يفهمها وحدة المعالجة المركزية مباشرةً. وتسمى هذه العملية التحول التحويل البرمجي. لغة التجميع و C و C ++ و Pascal هي لغات مترجمة.

لغات مترجمة

لغات أخرى هي إما تفسيرها مثل Basic و Actionscript و Javascript ، أو خليط من كليهما يجري تجميعهما بلغة متوسطة - ويشمل ذلك Java و C #.

تتم معالجة لغة مترجمة في وقت التشغيل. تتم قراءة كل سطر وتحليلها وتنفيذها. إن الحاجة إلى إعادة معالجة الخط في كل مرة في حلقة ما يجعل اللغات المترجمة بطيئة للغاية. يعني هذا الحمل أن التعليمات البرمجية التي يتم تفسيرها تعمل بين 5 - 10 مرات أبطأ من التعليمات البرمجية المترجمة. اللغات المفسرة مثل Basic أو JavaScript هي الأبطأ. لا تحتاج إلى إعادة تجميع ميزتها بعد التغييرات ، وهذا مفيد عندما تتعلم البرمجة.

instagram viewer

لأن جمعت البرامج تعمل دائمًا بشكل أسرع تقريبًا من الترجمة الشفوية ، وتميل لغات مثل C و C ++ إلى أن تكون الأكثر شعبية لكتابة الألعاب. يتم تجميع كل من Java و C # إلى لغة مترجمة وهي فعالة للغاية. نظرًا لأن الجهاز الظاهري الذي يفسر Java و .NET Framework الذي يقوم بتشغيل C # تم تحسينهما بشكل كبير ، فقد تم ادعاء أن التطبيقات في تلك اللغات تكون سريعة إن لم تكن أسرع مثل C ++ المترجمة.

مستوى التجريد

الطريقة الأخرى لمقارنة اللغات هي مستوى التجريد. يشير هذا إلى مدى قرب لغة معينة من الجهاز. كود الآلة هو أدنى مستوى ، مع لغة التجميع فوقها. C ++ أعلى من C لأن C ++ يوفر تجريدًا أكبر. جافا و C # أعلى من C ++ نظرًا لأنها تترجم إلى لغة متوسطة تسمى bytecode.

كيف تقارن اللغات

  • لغات مجمعة سريعة
  • لغة التجميع
  • ج
  • C ++
  • باسكال
  • C #
  • جافا
  • تفسير سريع معقول
  • بيرل
  • بي أتش بي
  • تفسير بطيء
  • جافا سكريبت
  • أكشن سكريبت
  • الأساسي

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

التفسير أسهل

من السهل جدًا إيقاف وتغيير وإعادة تشغيل التطبيقات المكتوبة بلغة مترجمة وهذا هو السبب في أنها شائعة لتعلم البرمجة. ليس هناك مرحلة تجميع اللازمة. يمكن أن يكون التجميع عملية بطيئة. يمكن أن يستغرق تطبيق Visual C ++ كبير من دقائق إلى ساعات للتجميع ، وهذا يتوقف على مقدار الرمز الذي يجب إعادة بنائه وسرعة الذاكرة ووحدة المعالجة المركزية.

عندما ظهرت أجهزة الكمبيوتر لأول مرة

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

الجامع: سريع الجري - بطيء في الكتابة!

لغة التجميع هي النسخة المقروءة من Code Machine وتبدو هكذا

نقل ألف ، 45 دولار

نظرًا لأنه مرتبط بوحدة CPU معينة أو عائلة من وحدات المعالجة المركزية ذات الصلة ، فإن لغة التجميع ليست محمولة جدًا وتستغرق وقتًا طويلاً في التعلم والكتابة. قللت لغات مثل لغة C من الحاجة إلى برمجة لغة التجميع باستثناء الحالات التي تكون فيها ذاكرة الوصول العشوائي RAM محدودة أو تكون هناك حاجة إلى رمز مهم للوقت. يوجد هذا عادةً في كود kernel في قلب نظام التشغيل أو في برنامج تشغيل بطاقة الفيديو.

لغة التجميع هي أدنى مستوى من التعليمات البرمجية

لغة التجميع منخفضة المستوى ؛ ينقل معظم الكود القيم بين سجلات وحدة المعالجة المركزية والذاكرة. إذا كنت تكتب حزمة كشوف رواتب تريد أن تفكر فيها فيما يتعلق بالمرتبات والخصومات الضريبية ، لا تسجّل A إلى Memory location XYZ. هذا هو السبب في أن لغات المستوى الأعلى مثل C ++ ، C # أو جافا أكثر إنتاجية. يمكن للمبرمج التفكير في مجال المشكلة (المرتبات والخصومات والمستحقات) وليس مجال الأجهزة (السجلات والذاكرة والتعليمات).

نظم البرمجة مع جيم

تم ابتكار C في أوائل سبعينيات القرن العشرين بواسطة دينيس ريتشي. يمكن اعتباره أداة عامة الغرض - مفيدة للغاية وقوية ولكن من السهل جدًا ترك الأخطاء من خلالها يمكن أن تجعل الأنظمة غير آمنة. C هي لغة منخفضة المستوى وقد تم وصفها على أنها لغة التجميع المحمولة. يعتمد بناء جملة العديد من لغات البرمجة النصية على C ، على سبيل المثال ، جافا سكريبتو PHP و ActionScript.

بيرل: المواقع والمرافق

يحظى بيرل بشعبية كبيرة في عالم لينكس ، وكان من أوائل لغات الويب ولا يزال يتمتع بشعبية كبيرة حتى اليوم. من أجل القيام ببرمجة "سريعة وقذرة" على الويب ، تظل بلا منازع وتقود العديد من مواقع الويب. على الرغم من أنه قد كسفت إلى حد ما PHP كلغة برمجة نصية.

الترميز المواقع مع PHP

بي أتش بي تم تصميمه كلغة لخوادم الويب وهو شائع جدًا بالاقتران مع Linux و Apache و MySql و PHP أو LAMP. يتم تفسيرها ، ولكن يتم تجميعها مسبقًا بحيث يتم تنفيذ التعليمات البرمجية بسرعة معقولة. يمكن تشغيله على أجهزة كمبيوتر سطح المكتب ولكن لا يتم استخدامه على نطاق واسع لتطوير تطبيقات سطح المكتب. بناءً على بناء جملة C ، فإنه يتضمن أيضًا شاء والفصول.

تم إنشاء Pascal كلغة تدريس قبل سنوات قليلة من C ولكن كانت محدودة للغاية مع سلسلة الضعيفة ومعالجة الملفات. قام العديد من الشركات المصنّعة بتوسيع نطاق اللغة ولكن لم يكن هناك قائد شامل حتى ظهور بورلاند Turbo Pascal (لـ Dos) و Delphi (لنظام Windows). كانت هذه تطبيقات قوية أضافت وظائف كافية لجعلها مناسبة للتطوير التجاري. ومع ذلك ، كان بورلاند ضد مايكروسوفت أكبر بكثير وخسر المعركة.

C ++: لغة راقية!

جاءت فصول C ++ أو C plus كما كانت معروفة أصلاً بعد عشر سنوات من C ونجحت في تقديم Object Oriented Programming إلى C ، بالإضافة إلى ميزات مثل الاستثناءات والقوالب. يعد تعلم كل لغة C ++ مهمة كبيرة - فهي إلى حد بعيد أكثر لغات البرمجة تعقيدًا هنا ، ولكن بمجرد إتقانها ، لن تجد صعوبة في أي لغة أخرى.

جيم #: مايكروسوفت الكبير الرهان

تم إنشاء C # بواسطة دلفيالمهندس المعماري Anders Hejlsberg بعد انتقاله إلى مطوري Microsoft و Delphi سيشعر بأنه في المنزل بميزات مثل نماذج Windows.

يشبه بناء جملة C # لغة Java ، وهو أمر لا يثير الدهشة حيث عمل Hejlsberg أيضًا على J ++ بعد انتقاله إلى Microsoft. تعلم لغة C # وأنت على الطريق إلى معرفة لغة Java. كلتا اللغتين شبه مترجمة ، فبدلاً من التحويل البرمجي إلى رمز الجهاز ، يتم التحويل إلى الرمز الفرعي (C # compiles لـ CIL لكنهما و Bytecode متشابهان) ومن ثم يتم تفسيرهما.

جافا سكريبت: برامج في متصفحك

جافا سكريبت ليس مثل Java ، بدلاً من ذلك ، فهي لغة برمجة تعتمد على بناء جملة C ولكن مع إضافة شاء ويستخدم أساسا في المتصفحات. يتم تفسير JavaScript وأبطأ بكثير من تجميع وانتاج رمز لكنه يعمل بشكل جيد داخل المتصفح.

لقد أثبتت شركة Netscape نجاحها الكبير ، وبعد عدة سنوات في حالة ركود ، تتمتع بعقد حياة جديد بسبب اجاكس جافا سكريبت غير متزامن و XML. يسمح هذا لأجزاء من صفحات الويب بالتحديث من الخادم دون إعادة رسم الصفحة بأكملها.

أكشن: لغة مبهرجة!

أكشن سكريبت هو تطبيق JavaScript ولكنه موجود فقط داخل تطبيقات Macromedia Flash. باستخدام الرسومات المستندة إلى المتجهات ، يتم استخدامه بشكل أساسي للألعاب وتشغيل مقاطع الفيديو والتأثيرات المرئية الأخرى ولتطوير واجهات المستخدم المتقدمة ، وكلها تعمل في المستعرض.

الأساسية للمبتدئين

الأساسي هو اختصار للمبتدئين All-purpose Code Symbolic Instruction Code وتم إنشاؤه لتعليم البرمجة في الستينيات. لقد جعلت Microsoft اللغة الخاصة بها من خلال العديد من الإصدارات المختلفة بما في ذلك VBScript للمواقع الإلكترونية والناجح جدًا البصرية الأساسية. أحدث إصدار من ذلك هو VB.NET وهذا يعمل على نفس النظام الأساسي .شبكة كما C # وتنتج نفس كود CIL bytecode.

لوا هي لغة برمجة نصية مكتوبة بلغة C تتضمن جمع القمامة و coroutines إنه يتفاعل بشكل جيد مع C / C ++ ويستخدم في صناعة الألعاب (وغير الألعاب أيضًا) لمنطق لعبة البرنامج النصي ومشغلات الأحداث والتحكم في اللعبة.

استنتاج

على الرغم من أن الجميع لديهم لغتهم المفضلة واستثمروا الوقت والموارد في تعلم كيفية برمجتها ، فهناك بعض المشاكل التي يمكن حلها بشكل أفضل مع اللغة الصحيحة.

على سبيل المثال ، لن تستخدم C لكتابة تطبيقات الويب ولن تكتب نظام تشغيل في Javascript. ولكن أياً كانت اللغة التي تختارها ، إذا كانت لغة C أو C ++ أو C # ، فأنت على الأقل تعلم أنك في المكان المناسب لتعلمها.

instagram story viewer