تم إنشاء أول لغة برمجة. كيف لا تزال تختار لغة البرمجة (الأولى) الخاصة بك؟ أو كيف نطرح الأسئلة الصحيحة؟ ما هي لغة البرمجة

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

مخطط الاختيار

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

عند اختيار لغة البرمجة الأولى، يجب عليك تقييم العوامل التالية بحذر:

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

الشعبية والطلب

جافا سكريبت

جافا سكريبت، التي لا ينبغي الخلط بينها وبين جافا، هي لغة برمجة تم تطويرها في التسعينيات بواسطة بريندان إيتش، الذي كان يعمل سابقًا في شركة Netscape Communications والآن يعمل في مؤسسة Mozilla. تعد JavaScript إحدى التقنيات الأساسية التي تدعم مجتمع الويب كما نعرفه. لا تنخدع، على الرغم من وجود JavaScript خارج المتصفح، إلا أنه موجود بشكل أساسي في سياق التطبيقات والخدمات المتصلة.

اللغة نفسها ديناميكية وتمنح المبرمجين المرونة لاستخدام أنماط البرمجة الشيئية (نظرًا لأن اللغة نفسها موجهة للكائنات في المقام الأول)، فضلاً عن أنها وظيفية وحتمية. إنها تستمد معظم تركيبها من لغة C، وإذا كنت تخطط للقيام بأي تطوير ويب بأي شكل من الأشكال، فيجب أن يكون تعلم JavaScript ضمن قائمتك.

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

بايثون

يمكنني أيضًا أن أوصي ببايثون.

على الرغم من وجود عدد من المشاكل المتأصلة تاريخيًا في لغة بايثون، إلا أنها لا تزال أداة رائدة في عدد من المجالات:

مثير للإعجاب، أليس كذلك؟ أما بالنسبة للمشاريع الكبيرة والشعبية المكتوبة بلغة بايثون، فهي وحوش مثل:

يمكنك أن تجد أيضا على موقعنا.

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

ظهرت الرموز التلقائية الأولى في عام 1955 من خلال جهود مطوري شركة IBM تحت قيادة المهندس جون باكوس. لقد كانت لغة عالية المستوى تسمى فورتران، ولم تكن مجموعة من الأوامر البسيطة المعزولة، ولكنها مجموعة من الرموز الأكبر التي أصبحت تسمى المشغلين، أو اللغات الخوارزمية. ولترجمتها إلى كود الآلة، تم اختراع مترجمين يقومون بتحويل الخوارزميات وجعلها مفهومة للكمبيوتر الإلكتروني. ويتم ذلك بطريقتين: التفسير والتجميع. ونظرًا لبساطتها، دخلت إصدارات Fortran حيز الاستخدام سريعًا، ولا يزال آخرها أحد أجهزة الكمبيوتر الرئيسية حتى يومنا هذا.

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

يستمر تاريخ تطور لغات البرمجة مع أساتذة كلية دارتسموث T. Kurtz وJ. Kemeny، الذين طوروا لغة BASIC المعروفة. إنه أبسط بكثير من فورتران، وبالتالي تم استخدامه في عام 1991. كان له تأثير متفجر، حيث أصبح المجموعة الرئيسية من رموز البرمجة التلقائية، وجعل أجهزة الكمبيوتر ملكًا للمستخدمين العاديين.

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

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

لن يكتمل تاريخ تطور البرمجة بدون لغة آدا، التي سُميت على اسم المبرمجة الأولى آدا لوفلايس، ابنة العرق المعروف، وهي لغة برمجة أكثر تقدمًا وعالمية تعتمد على لغة باسكال.

يحتوي تاريخ تطوير البرمجيات في ترسانته على العديد من لغات البرمجة المكتوبة لمجالات خاصة من التطبيق. على سبيل المثال، يتم استخدام Simul وSimkrit وGPSS في النمذجة. يتم استخدام لغة FORT للتحكم في المعدات. مكتوب بلغة SI. يتم إنشاء قواعد البيانات باستخدام لغة Kodasil. تعتبر Logo وRobik وA.P ملائمة لتعلم البرمجة. ارشوفا.

لم تتم كتابة تاريخ تطوير البرمجة بالكامل بعد، ومن غير المرجح أن يحدث ذلك في المستقبل القريب.

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

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

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

في عام 1954، قامت مجموعة بقيادة ج. هوبر بتطوير نظام يتضمن لغة برمجة ومترجم، والذي سمي فيما بعد باسم Math-Matic. مع اكتمال Math-Matic بنجاح، شرعت هوبر وفريقها في تطوير لغة جديدة ومترجم يسمح للمستخدمين بالبرمجة بلغة مشابهة للغة الإنجليزية العادية. في عام 1958، ظهر مترجم Flow-Matic. كان مترجم Flow-Matic هو اللغة الأولى لمهام معالجة البيانات التجارية.
أدت التطورات في هذا الاتجاه إلى إنشاء لغة COBOL (اللغة المشتركة الموجهة للأعمال). تم إنشاؤه في عام 1960. في هذه اللغة، مقارنة بـ Fortran و Algol، تعد الأدوات الرياضية أقل تطورًا، لكن أدوات معالجة النصوص وتنظيم إخراج البيانات في شكل الوثيقة المطلوبة متطورة بشكل جيد. كان المقصود منها أن تكون اللغة الأساسية لمعالجة البيانات الجماعية في مجالات الإدارة والأعمال.

يتميز منتصف الخمسينيات بالتقدم السريع في مجال البرمجة. بدأ دور البرمجة في أوامر الآلة في الانخفاض. وبدأت أنواع جديدة من لغات البرمجة في الظهور، تعمل كوسيط بين الآلات والمبرمجين. الأول والأكثر انتشارًا كان Fortran (FORTRAN، من FORMula TRANslator - مترجم الصيغة)، الذي طورته مجموعة من مبرمجي IBM في عام 1954 (الإصدار الأول). ركزت هذه اللغة على الحسابات العلمية والتقنية ذات الطبيعة الرياضية وهي لغة برمجة كلاسيكية لحل المشكلات الرياضية والهندسية على جهاز الكمبيوتر.
بالنسبة للغات البرمجة عالية المستوى الأولى، كان التوجه الموضوعي للغات سمة مميزة.
تحتل لغة الغول مكانة خاصة بين لغات البرمجة، حيث ظهرت النسخة الأولى منها عام 1958. كان أحد مطوري Algol هو "والد" Fortran، John Backus. يؤكد اسم ALGOrithmic Language على حقيقة أنه مخصص لكتابة الخوارزميات. بفضل بنيته المنطقية الواضحة، أصبح Algol وسيلة قياسية لكتابة الخوارزميات في الأدبيات العلمية والتقنية.

في منتصف الستينيات، ابتكر توماس كورتز وجون كاميني (موظفان في قسم الرياضيات في كلية دارتموث) لغة برمجة متخصصة تتكون من كلمات إنجليزية بسيطة. كانت اللغة الجديدة تسمى "رمز التعليمات الرمزية لجميع الأغراض للمبتدئين، أو BASIC للاختصار". يمكن اعتبار عام ميلاد اللغة الجديدة عام 1964. واليوم، اكتسبت لغة BASIC العالمية (التي لها إصدارات عديدة) شعبية كبيرة وهي منتشرة على نطاق واسع بين مستخدمي أجهزة الكمبيوتر من مختلف الفئات في جميع أنحاء العالم. وقد تم تسهيل ذلك إلى حد كبير من خلال حقيقة أن BASIC بدأ استخدامها كلغة مدمجة لأجهزة الكمبيوتر الشخصية، والتي بدأ استخدامها على نطاق واسع في أواخر السبعينيات. ومع ذلك، فإن لغة BASIC هي لغة غير منظمة، وبالتالي فهي غير مناسبة لتدريس برمجة عالية الجودة. ولكي نكون منصفين، تجدر الإشارة إلى أن أحدث إصدارات BASIC لأجهزة الكمبيوتر (على سبيل المثال، QBasic) أصبحت أكثر هيكلية، وفي قدراتها البصرية تقترب من لغات مثل Pascal.

ركز المطورون اللغات على فئات مختلفة من المهام، وربطوها بدرجة أو بأخرى ببنية كمبيوتر معينة، ونفذوا الأذواق والأفكار الشخصية. في الستينيات، جرت محاولات للتغلب على هذا "الخلاف" من خلال إنشاء لغة برمجة عالمية. كانت أول بنات أفكار هذا الاتجاه هي PL/1 (لغة البرمجة الأولى)، التي طورتها شركة IBM في عام 1967. ادعت هذه اللغة أنها قادرة على حل أي مشكلة: الحوسبة ومعالجة النصوص وتراكم المعلومات واسترجاعها. ومع ذلك، فقد تبين أنها معقدة للغاية، ولم يكن المترجم منها مثاليًا بدرجة كافية ويحتوي على عدد من الأخطاء التي لم يتم اكتشافها.
ومع ذلك، تم دعم الخط نحو عالمية اللغات. تم تحديث اللغات القديمة إلى إصدارات عالمية: ALGOL-68 (1968)، Fortran-77. وكان من المفترض أن تتطور مثل هذه اللغات وتتحسن وتبدأ في إزاحة جميع اللغات الأخرى. ومع ذلك، لم تنجح أي من هذه المحاولات.

ظهرت لغة LISP في عام 1965. المفهوم الرئيسي فيه هو مفهوم الوظائف المحددة بشكل متكرر. نظرًا لأنه ثبت أنه يمكن وصف أي خوارزمية باستخدام مجموعة معينة من الوظائف العودية، فإن LISP هي في الأساس لغة عالمية. بمساعدته، يمكن لجهاز الكمبيوتر محاكاة عمليات معقدة للغاية، على وجه الخصوص، النشاط الفكري للأشخاص.
تم تطوير Prolog في فرنسا عام 1972 لحل مشاكل "الذكاء الاصطناعي". تتيح لك Prologue وصف العبارات المختلفة رسميًا ومنطق التفكير وإجبار الكمبيوتر على تقديم إجابات للأسئلة المطروحة.
من الأحداث الهامة في تاريخ لغات البرمجة كان إنشاء لغة باسكال في عام 1971. مؤلفها هو العالم السويسري نيكلاوس ويرث. أطلق عليها ويرث اسم عالم الرياضيات والفيلسوف الديني الفرنسي العظيم في القرن السابع عشر بليز باسكال، الذي اخترع أول جهاز إضافة، ولهذا سميت اللغة الجديدة باسمه. تم تطوير هذه اللغة في الأصل كلغة تعليمية للبرمجة المهيكلة، وهي الآن إحدى اللغات الرئيسية لتدريس البرمجة في المدارس والجامعات.

في عام 1975، أصبح حدثان من المعالم البارزة في تاريخ البرمجة - أعلن بيل جيتس وبول ألين عن نفسيهما من خلال تطوير نسختهما من لغة BASIC، وأصدر ويرث وجنسن الوصف الكلاسيكي للغة "دليل مستخدم باسكال وتقريره".

لم يكن أقل إثارة للإعجاب، بما في ذلك النجاح المالي، الذي حققه فيليب كان، وهو فرنسي قام بتطوير نظام Turbo-Pascal في عام 1983. كان جوهر فكرته هو الجمع بين المراحل المتعاقبة لمعالجة البرنامج - التجميع، وتحرير الارتباط، وتصحيح الأخطاء، وتشخيص الأخطاء - في واجهة واحدة. Turbo Pascal ليس فقط لغة ومترجمًا منها، ولكنه أيضًا غلاف تشغيل يسمح للمستخدم بالعمل بسهولة في Pascal. لقد تجاوزت هذه اللغة غرضها التعليمي وأصبحت لغة برمجة احترافية ذات إمكانيات عالمية. وبسبب هذه المزايا، أصبح باسكال مصدرًا للعديد من لغات البرمجة الحديثة. منذ ذلك الحين ظهرت عدة إصدارات من Turbo Pascal، آخرها هو الإصدار السابع.
أكملت شركة Borland/Inprise خط إنتاج Turbo Pascal وانتقلت لإصدار نظام التطوير المرئي لنظام التشغيل Windows - Delphi.

تركت لغة C (الإصدار الأول – 1972) والتي تحظى بشعبية كبيرة بين مطوري أنظمة البرمجيات (بما في ذلك أنظمة التشغيل)، بصمة كبيرة على البرمجة الحديثة. تم إنشاء هذه اللغة كلغة مفيدة لتطوير أنظمة التشغيل والمترجمين وقواعد البيانات وغيرها من برامج الأنظمة والتطبيقات. تجمع لغة C بين ميزات اللغة عالية المستوى ولغة موجهة للآلة، مما يسمح للمبرمج بالوصول إلى جميع موارد الآلة، وهو ما لا توفره لغات مثل BASIC وPascal.
تميزت الفترة من أواخر الستينيات إلى أوائل الثمانينيات بالنمو السريع في عدد لغات البرمجة المختلفة التي رافقت أزمة البرمجيات. في يناير 1975، قرر البنتاغون إعادة النظام إلى فوضى المترجمين وأنشأ لجنة مكلفة بتطوير لغة عالمية واحدة. في مايو 1979، تم الإعلان عن الفائز - مجموعة من العلماء بقيادة جان إخبيا. تم تسمية اللغة الفائزة باسم Ada، تكريماً لأوغستا أدا ليفيليس. تهدف هذه اللغة إلى إنشاء أنظمة برمجية كبيرة وصيانتها على المدى الطويل (طويلة الأجل)؛ فهي تسمح بالمعالجة المتوازية والتحكم في العمليات في الوقت الفعلي.

لسنوات عديدة، تم بناء البرمجيات على أساس اللغات التشغيلية والإجرائية مثل Fortran، BASIC، Pascal، Ada، C. مع تطور لغات البرمجة، انتشرت أساليب أخرى مختلفة بشكل أساسي لإنشاء البرامج.
يوجد عدد كبير من تصنيفات لغات البرمجة حسب معايير مختلفة. التصنيفات الأكثر شيوعا هي:
- لغات البرمجة عالية المستوى (باسكال، بيسك) ومنخفضة المستوى (المجمع)؛
- مكتوب بدقة (باسكال) ومكتوبة بشكل فضفاض (BASIC)؛
- مع وبدون دعم البرمجة كائنية التوجه (C++)، وما إلى ذلك.

دعونا نفكر في تصنيف آخر. تنقسم لغات البرمجة إلى:
1) اللغات الموجهة نحو الآلة:
- لغات الآلة؛
- لغات الترميز الرمزي؛
 رموز السيارات.
- دقيق.
2) اللغات المستقلة عن الآلة:
- اللغات الموجهة نحو المشكلة؛
- اللغات العالمية؛
- اللغات التفاعلية؛
- اللغات غير الإجرائية.

اللغات الموجهة نحو الآلة

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

لغة الآلة

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

لغات الترميز الرمزي

لغات الترميز الرمزي (المشار إليها فيما يلي باسم SKL)، تمامًا مثل ML، هي لغات أوامر. ومع ذلك، يتم استبدال رموز التشغيل والعناوين في تعليمات الآلة، والتي هي عبارة عن تسلسل من الأرقام الثنائية (في التعليمات البرمجية الداخلية) أو الأرقام الثمانية (التي تستخدم غالبًا عند كتابة البرامج)، في YSC برموز (معرفات)، يساعد شكل كتابتها المبرمج تذكر المحتوى الدلالي للعملية بسهولة أكبر. وهذا يضمن انخفاضًا كبيرًا في عدد الأخطاء عند تجميع البرامج.
يعد استخدام العناوين الرمزية هو الخطوة الأولى لإنشاء YASK. تحتوي أوامر الكمبيوتر على عناوين رمزية بدلاً من العناوين الحقيقية (المادية). وبناء على نتائج البرنامج المترجم، يتم تحديد العدد المطلوب من الخلايا لتخزين القيم المتوسطة الأولية والقيم الناتجة. يمكن أن يتم تعيين العناوين، بشكل منفصل عن تجميع البرنامج في عناوين رمزية، بواسطة مبرمج أقل تأهيلاً أو برنامج خاص، مما يسهل عمل المبرمج إلى حد كبير.

الرموز التلقائية

هناك لغات تشمل جميع إمكانيات YSC، من خلال التقديم الموسع لأوامر الماكرو - تسمى الرموز التلقائية.

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

دقيق

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

لغات مستقلة عن الآلة

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

اللغات الموجهة نحو المشكلة

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

اللغات العالمية

تم إنشاء اللغات العالمية لمجموعة واسعة من المهام: التجارية والعلمية والنمذجة وما إلى ذلك. وقد تم تطوير أول لغة عالمية بواسطة شركة IBM، والتي أصبحت PL/1 في تسلسل اللغات. ثاني أقوى لغة عالمية تسمى ALGOL-68.

لغات المحادثة

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

اللغات غير الإجرائية

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

تاريخ إنشاء لغة البرمجة Basic وVisual Basic

تم إنشاء لغة البرمجة الأساسية في عام 1964 من قبل اثنين من أساتذة كلية دارتموث، جون كينيمي وتوماس كورتز، لتعليم مهارات البرمجة للطلاب. تبين أن اللغة بسيطة جدًا ومفهومة لدرجة أنه بعد مرور بعض الوقت بدأ استخدامها في المؤسسات التعليمية الأخرى. في عام 1975، مع ظهور أول أجهزة الكمبيوتر الصغيرة، تولى بيل جيتس وبول ألين، مؤسسي شركة مايكروسوفت، قيادة المهمة الأساسية. هم الذين أنشأوا إصدارًا جديدًا من Basic لأجهزة كمبيوتر Altair الأولى (MITS Altais) القادرة على العمل بذاكرة وصول عشوائي (RAM) تبلغ 4 كيلو بايت. مع مرور الوقت، كانت هذه النسخة هي التي تحولت إلى واحدة من لغات البرمجة الأكثر شعبية في العالم. في الطريق إلى قمة المجد، واجهت Basic العديد من الصعوبات، والتي تغلبت عليها دائمًا بشرف، وعندما ظهرت أول أجهزة الكمبيوتر الشخصية IBM PC، أصبحت المعيار في البرمجة، ولكن في شكل GW-Basic. ثم كان هناك Turbo Basic، QuickBasic، Basic PDS، ولكن دائمًا عند تطوير إصدار جديد من اللغة، تم الحفاظ على التوافق مع الإصدارات السابقة ويمكن أن يعمل البرنامج المكتوب لأول Basic تقريبًا (مع تغييرات طفيفة) في الإصدارات اللاحقة من هذا لغة. ولكن قد حان وقت جديد، وفي أوائل التسعينيات، ظهر نظام التشغيل Microsoft Windows بواجهة مستخدم رسومية جديدة (GUI).

لقد تحولت حياة المبرمجين إلى جحيم. لإنشاء برنامج بسيط، كان عليك كتابة عدة صفحات من التعليمات البرمجية: إنشاء قوائم ونوافذ، وتغيير الخطوط، ومسح الذاكرة، وأزرار "الرسم"، وما إلى ذلك. ومع ذلك، كانت مزايا الواجهة الجديدة لا يمكن إنكارها لدرجة أن الإصدار الثالث من نظام التشغيل هذا أصبح المعيار الفعلي لجهاز كمبيوتر شخصي. في هذا الوقت، كانت هناك العديد من المشاريع الموازية جارية داخل Microsoft لإنشاء لغة برمجة جديدة لنظام التشغيل Windows. وفي عام 1991، تحت شعار "الآن حتى المبرمجين المبتدئين يمكنهم بسهولة إنشاء تطبيقات لنظام التشغيل Windows"، ظهر الإصدار الأول من أداة Microsoft Visual Basic الجديدة. في تلك اللحظة، قامت Microsoft بتقييم إمكانيات هذا النظام بشكل متواضع، مستهدفة في المقام الأول فئة المبتدئين والمبرمجين غير المحترفين. كانت المهمة الرئيسية بعد ذلك هي طرح أداة تطوير بسيطة ومريحة في السوق في بيئة Windows الجديدة إلى حد ما، والتي كانت البرمجة فيها مشكلة حتى بالنسبة للمحترفين ذوي الخبرة. نظام البرمجة الذي أنشأه مطورو Visual Basic جعل من الممكن "التراجع" عن البنية الداخلية المعقدة لنظام التشغيل Windows وإنشاء برامج من "المكعبات"، كما هو الحال في مجموعة بناء الأطفال. تمت إضافة القوائم والنوافذ والقوائم والأزرار وحقول إدخال النص وعناصر واجهة Windows الأخرى إلى البرنامج باستخدام عمليات السحب والإفلات البسيطة.

أنشأ مبرمجو VB أول برنامج لهم خلال دقائق قليلة من البدء في تعلم هذه اللغة! علاوة على ذلك، سمح Visual Basic للمطورين بإنشاء كائنات "مكعبة" جديدة يمكن استخدامها أيضًا في البرامج إلى جانب البرامج القياسية. وعلى الرغم من أن العديد من مبرمجي C ضحكوا بهدوء على محاولات Microsoft إنشاء أداة بسيطة ومفهومة لتطوير برامج Windows، فقد بدأت Visual Basic مسيرتها المنتصرة في جميع أنحاء العالم، ولا شيء يمكن أن يوقف هذه العملية. سقطت الحواجز النهائية في عام 1994 مع إصدار Visual Basic for Applications. في هذا الوقت، بعد إدراج VBA في Microsoft Office، بدأ Basic في التحول إلى أحد معايير البرمجة الرئيسية لنظام التشغيل Windows. بالنسبة لشركة Microsoft، كانت اللغة الأساسية ذات أهمية خاصة؛ وفي وقت ما، كان تطوير الإصدار الأساسي لجهاز الكمبيوتر Altair 8800 بمثابة بداية مسيرة البرمجة لمؤسسيها، بيل جيتس وبول ألين. لذلك، في وقت واحد - في عام 1989، عندما حان الوقت لتوزيع الاتجاهات الرئيسية لإنشاء بيئات التطوير بلغات البرمجة المختلفة بين الشركات المختلفة، احتفظت Microsoft بـ QuickBasic - وهي بيئة لتطوير البرامج باللغة الأساسية، ورفضت، على سبيل المثال، المزيد العمل على لغة البرمجة باسكال، وتركها لبورلاند التي بدورها أوقفت العمل على نسختها من Basic (باسكال أصبحت فيما بعد لغة دلفي).

في الأصل، كان المقصود من Microsoft Visual Basic أن تكون لعبة، وقد أحدثت ثورة في عالم البرمجة. ترجع شعبيتها إلى سببين: البساطة النسبية والإنتاجية. تعد برامج VB أبطأ من نظيراتها في C/C++، لكنها لا تزال سريعة بما يكفي للعديد من أغراض العمل وتتطلب وقتًا أقل بكثير للتطوير. كانت النماذج هي نفس الفكرة الموفرة للجهد التي قدمها VB لمبرمجي Windows. أتاح VB IDE إمكانية تصميم النوافذ بيانياً عن طريق سحب عناصر التحكم مثل الأزرار ومربعات القائمة من شريط الأدوات إلى النموذج. بمجرد أن تصبح راضيًا عن مظهر النموذج، يمكنك الانتقال إلى جانب التعليمات البرمجية وكتابة معالجات الأحداث لكل عنصر تحكم في النموذج.

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

ولعل الأهم من ذلك أنه لم تكن هناك مؤشرات - وهو مطلب بيل جيتس منذ الإصدارات الأولى من Microsoft BASIC. على الرغم من أن المؤشرات مفيدة لأنها تسمح بالوصول المباشر إلى الذاكرة في أي عنوان، إلا أن استخدامها يكون عرضة للأخطاء إذا لم يتم استخدامها بعناية. تنبع متطلبات BASIC للبساطة النحوية من حقيقة أنها تم إنشاؤها في الأصل كلغة للتعليم: التعليمات البرمجية الرمزية لجميع الأغراض "للمبتدئين". يعد الإصدار 6 من VB بالفعل لغة قوية يمكن استخدامها لإنشاء تطبيقات موزعة باستخدام مكونات COM وخادم المعاملات Microsoft. اقترحت Microsoft نهجًا ثلاثي المستويات لبنيات خادم العميل حيث تتفاعل واجهات المستخدم الرفيعة مع مكونات VB البعيدة لاسترداد البيانات من قاعدة بيانات أو جهاز آخر.

باستخدام VBScript وVBA (VB للتطبيقات)، يمكنك كتابة البرامج النصية لمتصفحات الويب وأتمتة تطبيقات Microsoft Office. علاوة على ذلك، يمكن استخدام VB6 لإنشاء عناصر تحكم Active-X التي تعمل مع Internet Explorer، على الرغم من أن هذا نادرًا ما يتم لأنه يتطلب تثبيت DLL لوقت تشغيل VB على جهاز عميل الإنترنت. بدءًا من VB5، تم تجميع برامج VB إلى تعليمات برمجية للآلة، ولكنها كانت تعتمد على استخدام DLL الذي يوفر وظائف شائعة الاستخدام ويطبق قدرات كائنات VB. المثير للاهتمام هو أن مترجم VB يستخدم وضع التمرير المتعدد للترجمة، ويعتمد في النهاية على مترجم Microsoft C++ لإنتاج مخرجات تعليمات برمجية للجهاز بعد التحويل البرمجي إلى لغة وسيطة. تظهر بذور .NET في هذه الميزة الخاصة بـ VB - استخدام مكتبة وقت التشغيل والواجهة الخلفية لـ C++.

تاريخ إنشاء لغة البرمجة C#

ولدت لغة C# في يونيو 2000 نتيجة العمل المضني الذي قامت به مجموعة كبيرة من مطوري Microsoft، بقيادة أندرس هيلسبيرج. يُعرف هذا الرجل بأنه مؤلف إحدى أولى لغات البرمجة المجمعة لأجهزة الكمبيوتر الشخصية لشركة IBM - Turbo Pascal. ربما، في أراضي الاتحاد السوفيتي السابق، شهد العديد من المطورين ذوي الخبرة، وببساطة الأشخاص الذين درسوا البرمجة بشكل أو بآخر في الجامعات، سحر وسهولة استخدام هذا المنتج. بالإضافة إلى ذلك، أثناء العمل في شركة Borland Corporation، أصبح Anders Hejlsberg مشهورًا بإنشاء بيئة دلفي المتكاملة (قاد هذا المشروع حتى إصدار الإصدار 4.0).
لم يكن من قبيل الصدفة أن ظهور لغة C# ومبادرة .NET حدث في أوائل صيف عام 2000. وفي هذه اللحظة قامت مايكروسوفت بإعداد إصدارات صناعية من تقنيات وحلول المكونات الجديدة في مجال المراسلة وتبادل البيانات، كما بالإضافة إلى إنشاء تطبيقات الإنترنت (COM+، ASP+، ADO+، SOAP، Biztalk Framework). مما لا شك فيه أن أفضل طريقة للترويج لهذه المنتجات الجديدة هي إنشاء مجموعة أدوات للمطورين مع دعمهم الكامل. وهذا أحد الأهداف الرئيسية للغة C# الجديدة. بالإضافة إلى ذلك، لم تعد مايكروسوفت قادرة على توسيع نفس الأدوات ولغات التطوير، مما يجعلها أكثر تعقيدًا لتلبية المتطلبات المتضاربة لدعم الأجهزة الحديثة والحفاظ على التوافق مع تلك المنتجات التي تم إنشاؤها في أوائل التسعينيات. خلال أول ظهور للويندوز. يأتي وقت يكون فيه من الضروري البدء من الصفر لإنشاء مجموعة بسيطة ولكنها معقدة من اللغات والبيئات وأدوات التطوير التي ستسمح للمطور بإنشاء منتجات برمجية حديثة بسهولة.

C# و.NET هي نقطة البداية. وبكل بساطة، يعد .NET نظامًا أساسيًا جديدًا، وواجهة برمجة تطبيقات جديدة للبرمجة على Windows، وC# هي لغة جديدة تم إنشاؤها من الألف إلى الياء للعمل مع هذا النظام الأساسي، وللاستفادة الكاملة من التقدم المحرز في بيئات التطوير ولدينا فهم مبادئ البرمجة الشيئية على مدار العشرين عامًا الماضية.
وتجدر الإشارة إلى أن التوافق مع الإصدارات السابقة لا يضيع. سيتم تشغيل البرامج الموجودة، وقد تم تصميم النظام الأساسي .NET للعمل مع البرامج الموجودة. يتم الآن الاتصال بين المكونات في Windows بالكامل تقريبًا باستخدام COM. مع أخذ ذلك في الاعتبار، يتمتع .NET بالقدرة على (أ) إنشاء أغلفة حول مكونات COM الموجودة حتى تتمكن مكونات .NET من التواصل معها، و(ب) إنشاء أغلفة حول مكونات .NET بحيث تبدو مثل مكونات COM العادية.

سعى مؤلفو C# إلى إنشاء لغة تجمع بين البساطة والتعبير للغات الحديثة الموجهة للكائنات (مثل Java) مع ثراء وقوة لغة C++. وفقًا لـ Anders Hejlsberg، فإن لغة C# تستعير معظم تركيبها من لغة C++. على وجه الخصوص، يحتوي على أنواع بيانات مريحة مثل الهياكل والتعدادات (سليل آخر لـ C++ - Java - يفتقر إلى هذه العناصر، مما يخلق بعض الإزعاج عند البرمجة). لا يتم توريث التركيبات النحوية لـ C# من لغة C++ فحسب، بل أيضًا من Visual Basic. على سبيل المثال، يستخدم C#، مثل Visual Basic، خصائص الفئة. مثل C++، تسمح C# بالتحميل الزائد للمشغل للأنواع التي تقوم بإنشائها (لا تدعم Java أيًا من الميزتين). لغة C# هي في الواقع مزيج من لغات مختلفة. وفي الوقت نفسه، فإن لغة C# ليست أقل (إن لم تكن أكثر) نظافة من لغة Java، فهي بسيطة مثل Visual Basic، ولها نفس القوة والمرونة تقريبًا مثل لغة C++.

مميزات لغة C#:

مجموعة كاملة ومحددة جيدًا من الأنواع الأساسية.
- دعم مدمج للإنشاء التلقائي لوثائق XML. الإصدار التلقائي للذاكرة المخصصة ديناميكيًا.
- القدرة على وضع علامة على الفئات والأساليب مع السمات المحددة من قبل المستخدم. يمكن أن يكون هذا مفيدًا للتوثيق ويمكن أن يؤثر على عملية الترجمة (على سبيل المثال، يمكنك وضع علامة على الأساليب التي يجب أن يتم تجميعها فقط في وضع التصحيح).
- الوصول الكامل إلى مكتبة الفئة الأساسية .NET، بالإضافة إلى سهولة الوصول إلى Windows API (إذا كنت في حاجة إليها حقًا).
- المؤشرات والوصول المباشر إلى الذاكرة، إذا لزم الأمر. ومع ذلك، تم تصميم اللغة بحيث يمكنك الاستغناء عنها في جميع الحالات تقريبًا.
- تقديم الدعم لخصائص نمط VB والأحداث.
- سهولة تغيير مفاتيح التجميع. يسمح لك بالحصول على الملفات التنفيذية لمكونات .NET أو المكتبات التي يمكن استدعاؤها بواسطة تعليمات برمجية أخرى بنفس طريقة عناصر تحكم ActiveX (مكونات COM).
- القدرة على استخدام C# لكتابة صفحات الويب الديناميكية ASP.NET.

إحدى المجالات التي لم يتم تخصيص هذه اللغة لها هي البرامج ذات الوقت الحرج وعالية الإنتاجية، حيث يهم ما إذا كانت الحلقة تستغرق 1000 أو 1050 دورة آلة للتنفيذ ويجب تحرير الموارد على الفور. تظل لغة C++ هي أفضل لغة منخفضة المستوى في هذا المجال. تفتقر لغة #C إلى بعض الميزات الأساسية اللازمة لإنشاء تطبيقات عالية الأداء، مثل الوظائف المضمّنة والأدوات المدمرة التي يضمن تنفيذها عند نقاط معينة في التعليمات البرمجية. تُستخدم هذه اللغة أيضًا بشكل نشط لإنشاء ألعاب فيديو حديثة، على سبيل المثال، لعبة Battlefield 3 مكتوبة جزئيًا بلغة C#، وكلها بتقنية .NET

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

مع تطور تكنولوجيا الكمبيوتر، ظهرت لغة الآلة، والتي يمكن للمبرمج من خلالها تعيين الأوامر، والعمل مع خلايا الذاكرة، والاستفادة الكاملة من قدرات الجهاز. ومع ذلك، فإن استخدام معظم أجهزة الكمبيوتر على مستوى لغة الآلة أمر صعب، خاصة عندما يتعلق الأمر بالإدخال/الإخراج. ولذلك، كان علينا أن نتخلى عن استخدامه.

على سبيل المثال، لقراءة كتلة من البيانات من قرص مرن، يمكن للمبرمج استخدام 16 أمرًا مختلفًا، يتطلب كل منها 13 معلمة، مثل رقم الكتلة على القرص، ورقم القطاع على المسار، وما إلى ذلك. عند اكتمال العملية، تقوم وحدة التحكم بإرجاع 23 قيمة تعكس وجود وأنواع الأخطاء التي تحتاج إلى تحليل.

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

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

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

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

لغة التجميع

في حالة ضرورة وجود برنامج فعال، بدلاً من لغات الآلة، يتم استخدام اللغات الموجهة نحو الآلة القريبة منها - المجمعات. يستخدم الناس أوامر ذاكري بدلاً من أوامر الآلة.

ولكن حتى العمل مع المجمع معقد للغاية ويتطلب تدريبًا خاصًا.

تتضمن البرمجة المنظمة هياكل تحكم محددة بدقة، وكتل برامج، وتعليمات عدم القفز غير المشروط (GOTO)، وإجراءات فرعية قائمة بذاتها، ودعم التكرار والمتغيرات المحلية.

جوهر هذا النهج هو القدرة على تقسيم البرنامج إلى العناصر المكونة له.

تم إنشاؤها أيضًا وظيفياللغات (التطبيقية) (مثال: Lisp - الإنجليزية. معالجة القائمة، 1958) و دعابة الدماغاللغات (مثال: Prolog - الإنجليزية) البرمجة في المنطق, 1972).

على الرغم من أن البرمجة المنظمة، عند استخدامها، تنتج نتائج رائعة، إلا أنها تفشل عندما يصل البرنامج إلى طول معين. من أجل كتابة برنامج أكثر تعقيدًا (وأطول)، كان هناك حاجة إلى نهج جديد في البرمجة.

عفوًا

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

من أمثلة اللغات الموجهة للكائنات Object Pascal وC++ وJava وما إلى ذلك.

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

مثال لكتابة برنامج بلغات مختلفة

لغة عالية المستوى (دلفي)

X : = الخطيئة (y* Pi) + 1 ;

مجمع x86 (معالج مساعد)

Fldpi fmul qword ptr [ Y] fsin fld1 fadd p st (1)، st (0) fstp qword ptr [ X]

رمز الجهاز (سداسي عشري، يبدأ كل أمر في سطر جديد)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

كود الآلة (التمثيل الثنائي)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

روابط


مؤسسة ويكيميديا. 2010.

  • ايي ايي
  • كابانوف، نيكولاي الكسندروفيتش

تعرف على "تاريخ لغات البرمجة" في القواميس الأخرى:

    تاريخ لغة البرمجة بايثون- تم تصميم لغة بايثون في الثمانينيات، وبدأ إنشائها في ديسمبر 1989 على يد جويدو فان روسوم كجزء من مركز الرياضيات وعلوم الكمبيوتر في هولندا. تم تصور لغة بايثون على أنها سليل لغة البرمجة ABC، وهي قادرة على معالجة... ... ويكيبيديا

    التسلسل الزمني للغات البرمجة- قوائم لغات البرمجة حسب الفئة التسلسل الزمني للأنساب لغات البرمجة قائمة لغات البرمجة منظمة ترتيبًا زمنيًا. المحتويات...ويكيبيديا

    مقارنة بين لغات البرمجة- هذه المقالة يجب أن تكون ويكيوية. يرجى تنسيقه وفقًا لقواعد تنسيق المقالة. اتفاقيات... ويكيبيديا

    تاريخ موجز لتطور لغات البرمجة- مع تطور تكنولوجيا الكمبيوتر، ظهرت تقنيات البرمجة المختلفة. وفي كل مرحلة، تم إنشاء نهج جديد يساعد المبرمجين في مواجهة التعقيد المتزايد للبرامج. المحتويات 1 بداية التطوير 2 لغة التجميع 3 الهيكل ... ويكيبيديا

    تاريخ المنطق- يدرس تطور العلم حول أشكال وقوانين التفكير الصحيح (المنطق). إن ظهور المنطق كتحليل متطور لمبادئ الاستدلال يتعلق حصرا بثلاث حضارات محلية وهي: الصين والهند القديمة ... ... ويكيبيديا

    تاريخ لينكس- هذه المقالة أو القسم يحتاج إلى مراجعة. يرجى تحسين المقالة بما يتوافق مع قواعد كتابة المقالات... ويكيبيديا

    تاريخ البرمجيات الحرة- تشير عبارة "البرمجيات الحرة"، أو البرمجيات الحرة، إلى المنتجات الموزعة بموجب تراخيص ليبرالية توفر للمستخدم خيارات أكثر من تراخيص البرمجيات التقليدية... ... ويكيبيديا

من المهم جدًا معرفة التاريخ العام للغات البرمجة وتاريخ تطور اللغات المعروفة وغير المعروفة. في هذه المقالة سوف تتعرف على هذا، ولكن دعونا نتذكر أولاً “ما هي لغة البرمجة؟”

لغة برمجةهو نظام تدوين وقواعد يسمح لك بكتابة برنامج لحل مشكلة ما في شكل نص متسلسل في شكل مناسب للشخص.

الخمسينيات

وفي خمسينيات القرن العشرين، ومع ظهور أجهزة الكمبيوتر ذات الأنابيب المفرغة، بدأ التطور السريع في لغات البرمجة. بدأت البرمجة بكتابة البرامج مباشرة على شكل تعليمات الآلة (على هيئة رموز كما يقول المبرمجون). كانت أجهزة الكمبيوتر، التي كانت تكلفتها في ذلك الوقت أكثر بكثير من تكلفة تطوير أي برنامج، تتطلب تعليمات برمجية عالية الكفاءة.

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

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

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

ثم يتم تنفيذ البرنامج المترجم مباشرة بواسطة الكمبيوتر. هناك أيضًا إمكانية ترجمة البرنامج إلى لغة وسيطة لا تعتمد على بنية جهاز كمبيوتر معين، ولكنها مع ذلك أقرب ما يمكن إلى لغة أوامر الآلة.

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

في منتصف الخمسينيات، تحت قيادة جون باكوس، تم تطوير لغة البرمجة الخوارزمية عالية المستوى FORTRAN لشركة IBM. على الرغم من وجود تطورات بالفعل في اللغات التي حولت التعبيرات الحسابية إلى رموز الآلة، إلا أن إنشاء لغة FORTRAN (FORMula TRANslator) التي أتاحت إمكانية كتابة خوارزمية حسابية باستخدام العبارات الشرطية وعوامل الإدخال/الإخراج، أصبحت نقطة البداية لعصر لغات البرمجة عالية المستوى.

كبديل للغة FORTRAN، التي كانت تستهدف في الأصل بنية IBM، تم تطوير ALGOL (اللغة الحسابية الحسابية) تحت قيادة بيتر نور في أواخر الخمسينيات. كان الهدف الرئيسي الذي سعى إليه مطورو هذه اللغة هو الاستقلال عن البنية المحددة لنظام الكمبيوتر.

بالإضافة إلى ذلك، سعى مبتكرو لغة ALGOL إلى تطوير لغة ملائمة لوصف الخوارزميات واستخدام نظام تدوين قريب من ذلك المعتمد في الرياضيات. كانت لغة FORTRAN وALGOL أولى اللغات التي ركزت على البرمجة الحاسوبية.

الستينيات

في أواخر الستينيات، تحت قيادة نايارد ودال، تم تطوير لغة سيمولا-67، باستخدام مفهوم أنواع البيانات المحددة من قبل المستخدم. في الواقع، إنها اللغة الأولى التي استخدمت مفهوم الطبقات.

السبعينيات

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

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

ج التطوير

تم تطوير لغة البرمجة العالمية في منتصف السبعينيات من قبل دينيس ريتشي وكين طومسون. أصبحت اللغة لغة برمجة أنظمة شائعة وكانت تستخدم في وقت ما لكتابة نواة نظام التشغيل UNIX.

تم تطوير معيار لغة C من قبل مجموعة عمل ANSI في عام 1982. تم اعتماد المعيار الدولي للغة C في عام 1990. شكلت لغة C الأساس لتطوير لغات البرمجة والجافا.

أتاحت لغة C التخلص فعليًا من Assembler عند إنشاء أنظمة التشغيل. على سبيل المثال، تتم كتابة كل نص نظام التشغيل Unix تقريبًا باللغة C، وبالتالي لا يعتمد على جهاز كمبيوتر معين.

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

إن مفهوم المؤشر والمتغيرات الثابتة والتلقائية (المكدسة) للغة C يعكس بشكل وثيق بنية أي جهاز كمبيوتر حديث، وبالتالي فإن برامج C فعالة ومريحة لتصحيح الأخطاء.

حاليًا، الغالبية العظمى من البرامج مكتوبة بلغة C وC++. واجهة أي نظام تشغيل (ما يسمى API - واجهة برنامج التطبيقات)، أي. عادةً ما تكون مجموعة استدعاءات النظام المخصصة لمطوري التطبيقات عبارة عن مجموعة من الوظائف في لغة C.

جنبا إلى جنب مع اللغات الخوارزمية، تم تطوير اللغات المخصصة لمعالجة المعلومات التجارية، وكذلك لغات الذكاء الاصطناعي، بالتوازي. تتضمن الأولى لغة COBOL (اللغة العامة الموجهة للأعمال)، والثانية تتضمن لغات LISP (معالجة القائمة) ولغات Prolog.

كانت لغة LISP، التي تم تطويرها في الستينيات تحت قيادة ج. مكارثي، أول لغة معالجة قوائم وظيفية وجدت تطبيقًا واسعًا في نظرية الألعاب.

التسعينيات

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

خضعت لغات البرمجة التقليدية C++ وPascal أيضًا لتغييرات: بدأت لغة البرمجة تعني ليس فقط وظائف اللغة نفسها، ولكن أيضًا مكتبات الفئات التي توفرها بيئة البرمجة.

تم تحويل التركيز من مواصفات لغات البرمجة نفسها إلى توحيد آليات تفاعل التطبيقات الموزعة. ظهرت تقنيات جديدة - COM وCORBA، والتي تحدد تفاعل الكائنات الموزعة.

مجالات تطبيق لغات البرمجة

حاليا، يتم استخدام لغات البرمجة في مجموعة واسعة من مجالات النشاط البشري، مثل:

  • الحوسبة العلمية (لغات C++، FORTRAN، Java)؛
  • برمجة النظام (لغات C++، Java)؛
  • معالجة المعلومات (لغات C++، COBOL، Java)؛
  • الذكاء الاصطناعي (LISP، Prolog)؛
  • أنشطة النشر (Postscript، TeX)؛
  • معالجة المعلومات عن بعد (Perl، PHP، Java، C++)؛
  • وصف المستندات (HTML، XML).

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



 

قد يكون من المفيد أن تقرأ: