لغات برمجة الكمبيوتر: الأنواع والوصف والتطبيق والمراجعات. مبادئ تشغيل الكمبيوتر

05.12.2023

برمجة- عملية وفن إنشاء برامج الكمبيوتر باستخدام لغات البرمجة.

تجمع البرمجة بين عناصر الفن والعلوم والرياضيات والهندسة.

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

بالمعنى الأوسع، البرمجة هي عملية إنشاء البرامج، أي تطوير البرمجيات.

تتضمن معظم أعمال المبرمج كتابة كود المصدر بإحدى لغات البرمجة.

تدعم لغات البرمجة المختلفة أنماط برمجة مختلفة (تسمى نماذج البرمجة).

جزء من فن البرمجة هو اختيار اللغة التي تناسب المشكلة المطروحة.

لغة البرمجة هي نظام إشارة رسمي مصمم لكتابة البرامج.

عادة ما يمثل البرنامج بعض الخوارزميات في شكل مفهوم للمنفذ (على سبيل المثال، جهاز كمبيوتر).

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

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

منذ إنشاء أول الآلات القابلة للبرمجة، توصلت البشرية إلى أكثر من ثمانية آلاف ونصف لغة برمجة.

يمكن تقسيم لغات البرمجة إلى مترجمة وتفسيرية.

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

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

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

لغة البرمجة منخفضة المستوى هي لغة برمجة قريبة من البرمجة مباشرة في كود الآلة. كقاعدة عامة، يستخدم ميزات عائلة معالج معينة.

من الأمثلة المعروفة للغة منخفضة المستوى لغة التجميع.

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

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

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

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

وعلى وجه الخصوص، فإنه لا يسمح لك بإنشاء تعليمات بسيطة ودقيقة للمعدات المستخدمة.

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

وكانت إحدى نتائج ذلك إضافة دعم لواحدة أو أخرى من اللغات منخفضة المستوى (لغة التجميع) إلى عدد من لغات البرمجة الاحترافية الحديثة عالية المستوى.

اللغات عالية المستوى الأكثر شيوعًا هي C++ وVisual Basic وJava وPython وRuby وPerl وDelphi (Pascal) و.

تعتبر أول لغة برمجة عالية المستوى هي لغة الكمبيوتر Plankalkül، التي طورها المهندس الألماني كونراد تسوزه في الفترة 1942 - 1946.

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

دروس لغة البرمجة

الوظيفية (Lisp، Haskell، Nemerle، Clean، ML، Flang، Erlang، Miranda، Curry)؛

المكدس (بوستسكريبت، الرابع)؛

الهيكلية (Algol، Basic، QBASIC، Fortran، Focal، Cg)؛

الإجرائية (Ada، BASIC (الإصدارات من Quick Basic إلى ظهور Visual Basic)، C، COBOL، Fortran، Modula-2، Verb (النظير الروسي لـ Oberon)، Pascal، PL/1، Rapier، REXX)؛

لغات البرمجة الديناميكية (Python، PHP، Ruby، JavaScript)؛

التعليمية (لغة خوارزمية، كومير، شعار، روبيك، سيف، فورت، بوستسكريبت)؛

أوصاف الواجهات (CORBA IDL، COM IDL)؛

نموذج أولي (لغة متزامنة تعتمد على الممثل، ABCL: ABCL/1، ABCL/R، ABCL/R2، ABCL/c+، Agora، Cecil، Cel، ECMAScript، ActionScript، DMDScript، JavaScript، JScript، Factor، NewtonScript، Obliq، OpenLaszlo، REBOL، الذات، لائحة، TADS)؛

كائنية التوجه (Eiffel، Simula، Java، C#، C++، Object Pascal (Delphi)، VB.NET، Visual، DataFlex، Perl، PHP، Python، Scala، ActionScript، JavaScript، JScript.NET، Ruby، Ada، Xbase++) ;

لغات البرمجة المنطقية (Prolog)؛

لغات البرمجة الموازية (MC#)؛

البرمجة النصية أو البرمجة النصية (Perl، Python، PHP، Tcl (لغة أوامر الأداة)، Ruby، ERM، Lua)؛

مقصور على فئة معينة (Byter، Brainfuck، Befunge، INTERCAL، مسافة بيضاء).

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

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

تم اختراع أول لغة الآلة في عام 1941 على يد كونراد زوزه، وهو مخترع المحرك التحليلي. وبعد ذلك بقليل، في عام 1943، ابتكر هوارد أيكن آلة Mark 1، القادرة على قراءة التعليمات على مستوى كود الآلة.

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

تصنيف لغات البرمجة

يوجد حاليًا أكثر من 300 لغة برمجة. كل واحد منهم له خصائصه الخاصة وهو مناسب لمهمة واحدة محددة. يمكن تقسيم جميع لغات البرمجة إلى عدة مجموعات:

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

البرمجة للمبتدئين

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

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

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

يتمتع المبتدئون بفرصة تسريع تعلمهم للبرمجة وأساسياتها بفضل الأدوات الخاصة. المساعد الرئيسي هو بيئة التطوير المتكاملة لبرامج وتطبيقات Visual Basic ("Visual Basic" هي أيضًا لغة برمجة ورثت أسلوب اللغة الأساسية في السبعينيات).

مستويات لغات البرمجة

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

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

لغات البرمجة عالية المستوى: القائمة

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

قائمة لغات البرمجة التالية: C ("C") وC# ("C-sharp") و"Fortran" و"Pascal" وJava ("Java") - هي من بين تركيبات الجملة عالية المستوى الأكثر استخدامًا. تتميز بالخصائص التالية: تعمل هذه اللغات مع بنيات معقدة، وتدعم أنواع البيانات المتسلسلة والعمليات باستخدام معلومات الإدخال/الإخراج للملف، كما تتميز بكونها أسهل بكثير في العمل بسبب سهولة القراءة وبناء الجملة المفهوم.

لغات البرمجة الأكثر استخداما

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

  • لغات OOP: Java وC++ وPython وPHP وVisualBasic وJavaScript؛
  • مجموعة اللغات الهيكلية: الأساسية، والفورتران، والباسكال؛
  • نماذج متعددة: C #، دلفي، كاري وسكالا.

نطاق البرامج والتطبيقات

يعتمد اختيار اللغة التي يُكتب بها برنامج معين إلى حد كبير على مجال تطبيقه. لذلك، على سبيل المثال، للعمل مع أجهزة الكمبيوتر نفسها (كتابة برامج التشغيل والبرامج الداعمة)، سيكون الخيار الأفضل هو C ("C") أو C++، المضمنة في لغات البرمجة الرئيسية (انظر القائمة أعلاه) . ولتطوير تطبيقات الهاتف المحمول، بما في ذلك الألعاب، يجب عليك اختيار Java أو C# ("C-sharp").

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

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

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

يمكنك كتابة أي رقم من 0 إلى 255 في بايت واحد. نطاق الأرقام المحدد صغير جدًا، لذلك غالبًا ما يتم استخدام نطاقات أكبر: بايتان = كلمة، كلمتان = كلمة مزدوجة.

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

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

يبدو النظام السداسي العشري مختلفًا. يحتوي كل رقم على ستة عشر ولاية. لذلك، يمكن لرقم واحد أن يأخذ القيم التالية: 1، 2، 3، 4، 5، 6، 7، 8، 9، A، B، C،د، ه، ف. يتوافق الحرف "A" مع الرقم 10 في النظام العشري، ويتوافق "B" مع الرقم 11، وما إلى ذلك.

على سبيل المثال، الرقم 1ب بالنظام الست عشري يساوي 27 بالنظام العشري.

في جميع المواد سوف نواجه أحيانًا نظام الأرقام السداسي العشري. وفي هذه الحالة، لتمييز رقم سداسي عشري عن رقم عشري، تكون مسبوقة بعلامة #، على سبيل المثال #25، كما هو متعارف عليه فيدلفي.

العمل مع أرقام الفاصلة العائمة مختلف تمامًا؛

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

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

1.2. لغة الآلة

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

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

البرنامج الفعلي الذي ينفذه الكمبيوتر هو سلسلة من الآحاد والأصفار. ويسمى هذا التسلسل لغة الآلة.

على سبيل المثال، أمر الإضافةيبدو السجلان في النظام السداسي العشري كما يلي: $03С3. هذا لا يقول الكثير، ومن الصعب جدًا تذكر مثل هذا الأمر. من الأسهل كثيرًا أن تكتب "أضف الرقم 1 والرقم 2".

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

1.3. تاريخ لغات البرمجة

اللغة التي يكتب بها البرنامج تسمى لغة برمجة.

وكان المترجم الأولالمجمع (تُرجمت كـ "جامع"). الكتابة فيها صعبة تقريبًا كما هو الحال في رموز الآلة، ولكن الآن لم يتم استخدام الأرقام، ولكن الأرقام المفهومة للبشركلمات.

يمكن تقسيم النص الموجود في الشكل إلى ثلاثة أعمدة:

· عنوان التعليمات؛

· تعليمات رمز الآلة؛

· رمز لغة التجميع.

على سبيل المثال، يبدو أمر نسخ التسجيل كما يلي:movآه،ebx. في هذه الحالة movهو أمر لغة البرمجة نعموebx- تسجيل الأسماء .

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

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

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

ثم تطورت البرمجة الموجهة للكائنات. تحولت لغة C إلى C++،باسكال في هدفباسكالإلخ.

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

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

1.4. تنفيذ أوامر الآلة

بالإضافة إلى البايتات، هناك أبعاد أخرى:

· 1 كيلو بايت = 1024 بايت؛

· 1 ميجابايت = 1024 كيلو بايت؛

· 1 جيجا بايت = 1024 ميجا بايت.

· 1 تيرابايت = 1024 جيجا بايت.

· إلخ.

في الكمبيوتر، معظم القيم هي قوى 2 لأن الكمبيوتر يعمل بالنظام الثنائي، وبهذه الطريقة يمكنك تحقيق أقصى استفادة من إمكانياته. ولهذا السبب يتم استخدام 1024 (2 أس 10) عند حساب الأبعاد.

دعونا نلقي نظرة على بعض المفاهيم.

شريحة- هذه منطقة من الذاكرة الداخلية للكمبيوتر.

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

هناك الجزء التاليالذاكرة:

· مقطع الكود- منطقة الذاكرة التي يتم تحميل كود الجهاز فيها، والتي سيتم تنفيذها بعد ذلك بواسطة المعالج؛

· شريحة البيانات- منطقة الذاكرة لتخزين البيانات؛

· قطاع المكدس- منطقة ذاكرة لتخزين البيانات المؤقتة وإرجاع العناوين من الإجراءات.

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

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

1 المقدمة

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

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

2. ما هي لغة البرمجة

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

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

يفسر منشئو اللغة المفهوم بشكل مختلف لغة برمجة. ومن بين النقاط المشتركة التي يعترف بها معظم المطورين ما يلي:

· وظيفة:لغة البرمجة مخصصة لكتابة برامج الكمبيوتر التي تستخدم لنقل التعليمات إلى جهاز كمبيوتر لإجراء عملية حوسبة معينة وتنظيم التحكم في الأجهزة الفردية.

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

· تنفيذ:يمكن للغة البرمجة استخدام بنيات خاصة لتحديد هياكل البيانات ومعالجتها والتحكم في عملية الحساب.

3. مراحل حل مشكلة على جهاز الكمبيوتر.

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

صياغة المشكلة.تتكون هذه المرحلة من صياغة ذات معنى (مادي) للمشكلة وتحديد الحلول النهائية.

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

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

تطوير الخوارزمية.تتم كتابة عملية حل المشكلة (عملية حسابية) كسلسلة من العمليات الحسابية والمنطقية الأولية التي تؤدي إلى النتيجة النهائية وتسمى خوارزمية حل المشكلات.

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

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

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

تحليل النتائج.يتم تحليل نتائج الحساب بعناية، ويتم إعداد الوثائق العلمية والتقنية.

4. ما هي لغات البرمجة ل؟

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

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

يمكن تقسيم جميع لغات البرمجة العديدة إلى مجموعتين: لغات منخفضة المستوىو لغات عالية المستوى.

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

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

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

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

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

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

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

لنبدأ بالنظر إلى الموضوع من الناحية النظرية. أولا وقبل كل شيء، دعونا نفهم هذا المفهوم.

ما هي لغات الكمبيوتر؟

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

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

لكن المبرمج الجيد يجب أن يعرف على الأقل القليل من الأساسيات بشكل كامل.

ما هي لغات البرمجة الأكثر شعبية؟

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

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

الإجرائية C/C++

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

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

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

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

جافا مستقلة وآمنة

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

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

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

إذا تحدثنا عن بساطة اللغة، فمن الجدير بالذكر الدراسات التي أظهرت أن العمليات المماثلة تستغرق وقتًا أطول للكتابة بمقدار 1.2-2 مرة مقارنة بـ C++. أيضًا، هناك حاجة إلى موارد أكثر عدة مرات لتنفيذ الأوامر. لكن فريق الشركة المصنعة يصدر باستمرار العديد من التحديثات التي تقلل من كافة أوجه القصور في لغة البرمجة هذه.

PHP التي غزت الإنترنت

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

نظرًا لأن لغة البرمجة هذه تم إنشاؤها بواسطة مطورين مفتوحي المصدر، فقد وصلت إلى الكمال واكتسبت شعبية كبيرة. تتفاعل PHP بسهولة مع مجموعة واسعة من قواعد البيانات - من MySQL إلى Access.

أشهر مواقع الإنترنت، مثل Facebook أو Wikipedia، مكتوبة بهذه اللغة.

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

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

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

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

أهمية المعرفة وفهم لغات البرمجة

اكتسب موضوع القدرة على "التحدث" مع الكمبيوتر زخمًا متزايدًا في العقد الماضي.

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

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

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

يمكنك تعلم اللغات عبر الإنترنت

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

لكن لا تقلق، فالعالم لا يقف ساكناً. اليوم يمكنك الدراسة دون مغادرة منزلك. الشيء الرئيسي هو أن يكون لديك جهاز كمبيوتر وإنترنت. هناك العديد من المواقع التي توفر التدريب اللغوي المعتمد على الكمبيوتر. أشهرها هي Codecademy وCode School وUdacity.