تصنيف لغات البرمجة التي تدرس في المدرسة. ما هي التصنيفات الوظيفية للغات البرمجة الموجودة؟ التصنيف الوظيفي للغات البرمجة

27.01.2019

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

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

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

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

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

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

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

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

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

فرص للبحث المستقبلي

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

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

ما وراء المعرفة والتعلم والتعليم بيئة الكمبيوتر. 5. نيدا، روبرت إي. ليبينسكي، جوديث م. وواتسون، ج. الحواسيب الصغيرة ومرحلة ما قبل المدرسة: تعاونفي الفصل. أجهزة الكمبيوتر في المدارس، 3، 53. مثال لستة أطفال يدرسون مع شعار. النوع الاجتماعي والتعليم، 6، 19.

العصف الذهني أو العواصف في فنجان؟ كاثرين ويلسون غيليسبي هي أستاذة مساعدة في كلية التربية بجامعة دريك في دي موين، آيوا، حيث تقوم بالتدريس حول الحضانةوالتنمية البشرية. لقد أجرى أبحاثًا على مدى السنوات العشر الماضية حول الأطفال الصغار المعرضين لخطر الفشل المدرسي. ينبع هذا المقال من مشاركة الدكتور جيليسبي في شراكة Papert Early Childhood Iowa Partnership، وهي شراكة بين سيمور بابيرت وجامعة دريك ورئيس مراقبي جامعة دريك ومدارس دي موين العامة ومدارس ولاية نورووك العامة ووكالة التعليم في مقاطعة هارتلاند.

نقاء وسلامة النموذج الذي تقوم عليه اللغة. على سبيل المثال، يعتمد Smalltalk وRuby على نموذج خالص موجه للكائنات، بينما يعتمد Haskell على نموذج خالص النموذج الوظيفي. وهذا الوضوح مفيد حتى يكون لدى المبرمج فكرة واضحة عن النموذج الذي يقتصر عليه والذي يحتاج إلى التفكير فيه عند تصميم البرنامج.

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

ما هي التطبيقات التي يمكن للأولاد إنشاؤها باستخدام أليس؟

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

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

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

هل من الممكن تصدير تطبيق أو رسم متحرك لتشغيله على أجهزة أخرى؟

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

أنت تتابع تطور الأولاد الذين يأتون إليك

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

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

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

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

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

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

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

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

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

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

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

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

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

يقول رجل الأعمال إن المدرسة تلبي احتياجات الطلاب من سن 5 إلى 17 عامًا. تقام الدروس أسبوعيًا وتستمر لمدة 90 دقيقة. يقول سانتوس إن الدورة تشجع على تنمية التفكير المنطقي والإبداع وحل المشكلات والإتقان اللغة الإنجليزية. "إنهم يكتسبون مهارات يمكن استخدامها في أي مجال."

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

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

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

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

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

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

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

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

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

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

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

أ) يتم وضع تمثيل تفصيلي للكتلة في المكان المناسب في الخوارزمية، ويبدو أن الكتلة نفسها، بعد أن استنفدت دورها كطريقة عامة للبحث عن الخوارزمية، "تذوب" فيها؛

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

أ) يجب أن يشمل الوصف كل شيء الخيارات الممكنة) أن تكون البيانات الأولية فعالة لكل مجموعة منها؛

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

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

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

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

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

الموضوع رقم 4 لغة البرمجة: التطور والتصنيف

(O.L. Golitsina, I.I. Popov "أساسيات الخوارزمية والبرمجة" ص 38-45)

تطور لغات البرمجة

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

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

أجيال من اليابانيين

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

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

ثالثيبدأ جيل PL مع ظهور أول لغة عالية المستوى في عام 1956 - Fortran، والتي تم تطويرها تحت قيادة J. Backus في IBM. خلف وقت قصيرأصبحت لغة فورتران هي اللغة الرئيسية المستخدمة في حل المشكلات الهندسية والتقنية والعلمية. في البداية، كان لدى فورتران وسائل محدودة للغاية للتعامل مع المعلومات الرمزية ونظام الإدخال والإخراج. إلا أن التطور المستمر للغة جعلها من أكثر اللغات شيوعاً على أجهزة الكمبيوتر بجميع فئاتها - من أجهزة الكمبيوتر الصغيرة إلى أجهزة الكمبيوتر العملاقة، وتستخدم إصداراتها أيضًا في مرافق الحوسبةالعمارة الموازية غير التقليدية.

بعد فترة وجيزة من ظهور لغة فورتران، ظهرت لغات معروفة على نطاق واسع مثل Algol، وCobol، وBasic، وPL/1، وPascal، وAPL، وADA، وC، وForth، وLisp، وModula، وما إلى ذلك. حاليًا، هناك أكثر من 2000 لغة عالية مختلفة -لغات المستوى.

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

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

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

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

إلى النامية بشكل مكثف حاليا الخامس الجيل يتضمن لغات الذكاء الاصطناعي، النظم الخبيرة، قواعد المعرفة (InterLisp، ExpertLisp، IQLisp، SIAL، وما إلى ذلك)، بالإضافة إلى اللغات الطبيعية التي لا تتطلب إتقان أي تركيب خاص (يتم حاليًا استخدام اللغات الطبيعية ذات الإمكانيات المحدودة بنجاح - Clout، Q&A، HAL، إلخ.) .

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

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

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

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

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

المجموعة التالية - لغات برمجة عالية المستوى.هذه هي اللغات التي تسمح بوصف المهمة بشكل مرئي وسهل الفهم. هُم سمة مميزةهو التركيز ليس على نظام الأوامر لجهاز كمبيوتر معين، ولكن على نظام التعليمات المميز لتسجيل الخوارزميات لفئة معينة. لغات البرمجة المتطورة تشمل BASIC، Fortran، Algol، Pascal، C وغيرها.

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

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

ويمكن النظر إلى عناصر لغات البرمجة على المستويات التالية:

الأبجدية - مجموعة من الأحرف المعروضة على أجهزة الطباعة والشاشات و/أو يتم إدخالها من لوحة المفاتيح الطرفية.

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

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

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

المترجمين

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

هناك ثلاثة أنواع من المترجمين: المترجمون الفوريون، والمجمعون، والمجمعون.

مترجم -مترجم يقوم بترجمة نص البرنامج خطوة بخطوة (أمر بأمر) وعلى الفور (أي بالتوازي) ينفذ الأمر المترجم للبرنامج المصدر.

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

يتم توضيح عملية المترجم بشكل تخطيطي في الشكل. 1.6.

يشير الرقم 1 في الرسم التخطيطي إلى كتلة التحكم النحوية لنص البرنامج، ويشير الرقم 2 إلى منشئ كود الآلة.


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

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

يقوم جميع المترجمين، بغض النظر عن نوعها، بحل المهام الرئيسية التالية:

إجراء التحليل والتحقق من بناء جملة البرنامج المترجم؛

إنشاء رمز الجهاز للبرنامج؛

تخصيص الذاكرة لبرنامج الإخراج.