ماتريوشكا سي نظام لغة طبقة البرنامج

دعونا نحاول أن نتخيل الكيمياء دون النظام الدوري لمينديليف (1869). كم عدد العناصر التي يجب وضعها في الاعتبار ، وفي ترتيب عشوائي ... (بعد ذلك - 60.)

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

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

صورة


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

اليوم ، تحتاج معلومات البرمجة إلى تنظيم أكثر من العناصر الكيميائية قبل 150 عامًا.

الحاجة الأولى هي التدريس. بدأ Mendeleev في إنشاء نظامه عندما طرح السؤال - أي عنصر لبدء المحاضرة مع: O، H، N، He، Au ... في الوقت نفسه ، كان الأمر أسهل بالنسبة له - قام بتدريس كيمياء أفضل طلاب جامعة سان بطرسبرغ. ويتم بالفعل تدريس البرمجة في المدرسة وستبدأ قريبًا في رياض الأطفال.

الحاجة الثانية هي نهج علمي. باستخدام النظام الدوري ، تم اكتشاف عناصر جديدة وتم تصحيح المعلومات حول العناصر القديمة. ساعدت في إنشاء نموذج الذرة (1911). و هكذا.

الحاجة الثالثة هي توضيح مفهوم البرنامج.

البرمجة الحديثة مع قدم واحدة عالقة في 50s من القرن العشرين. ثم كانت البرامج بسيطة ، وكانت الآلات واللغات الآلية معقدة ، لذلك كان كل شيء يدور حول الآلات واللغات.

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

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

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

وفيما يلي ملخص للكتاب.

1. مقدمة


في عام 1969 ، تم إنشاء لغة C ، والتي أصبحت لغة البرمجة الأساسية وظلت معها لمدة 50 عامًا. لماذا هذا هكذا؟ بادئ ذي بدء ، لأن لغة C هي لغة تطبيقية أعطت البرنامج مظهرًا إنسانيًا بدلاً من مظهر الآلة . تم إصلاح هذا الإنجاز بلغات من عائلة C: C ++ و JavaScript و PHP و Java و C # وغيرها. ثانياً ، إنها لغة قصيرة وجميلة.

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

الحقيقة هي في الوسط ، ولغة C - بشكل صارم في الوسط بين التصور الفلسفي والآلي.

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

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

تم بناء النظام مع الأخذ في الاعتبار القواسم المشتركة بين اللغات المطبقة الناشئة عن تبعية الكلام. تتيح لك مجموعة واحدة من وحدات Matryoshka C وصف ومقارنة لغات مختلفة من خلال إنشاء عدد من Matryoshkas: C ++ و PHP و JavaScript و C # و MySQL و Python وما إلى ذلك. تجدر الإشارة إلى أن اللغات المختلفة موصوفة بوحدات اللغة الأساسية.

2. الفصل 1. نموذج خطاب البرنامج. واضح ج


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

  1. الكلام - خطاب مباشر لمبرمج يحل مشكلة ،
  2. كود - ترميز الحل في شكل رياضي في C (أو أي شيء آخر)
  3. والقيادة - أوامر الجهاز الفوري.

يشرح نموذج الكلام لماذا لغة C لغة بسيطة ومفهومة. بنيت C في صورة ومثال خطاب الإنسان المألوف لنا.

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

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

صورة

من الغريب أن يحدث الانعكاس ببساطة شديدة - مع نوعين فقط من التعبيرات.

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

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

يتم تنفيذ الانعكاس بواسطة نوعين من التعبيرات:

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

بالمناسبة ، هل تصدق أنه في وصف C لا يوجد اسم لحساب التعبير - هل يطلق عليهم ببساطة "تعبيرات"؟ بعد ذلك ، فإن عدم وجود اسم وارتباط لنوع التقديم ، والندرة بالفعل من حيث الأسماء والتعاريف والتعميمات ، لم يعد مفاجئًا. هذا لأن K / R الشهير ("لغة C" ، Kernigan / Ritchie ، 1978) ليس وصفًا ، بل هو دليل لاستخدام اللغة.

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

3. الفصل 2. نظام طبقة. قصير جيم


يجب أن يكون أي وصف دقيق وقصير للغاية. في حالة لغة البرنامج ، يكون الوصف الأمامي صعبًا.

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

في هذا البيان ، ليس من السهل فهم من يقف على من.

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

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

تنقسم وحدات اللغة إلى 6 مستويات:

  1. فرق - صفوف الجدول
  2. الإدارات - مجموعات خاصة من الأجناس (أجزاء من السطر الأول)
  3. خلايا كريمة (مستوى الانقسام الرئيسي)
  4. الأنواع الفرعية - فواصل الأنواع (مستوى نادر)
  5. طرق العرض - صيغ الوحدة في أسفل الخلية أو بشكل منفصل
  6. الأنماط هي وحدات بحد ذاتها (الكلمات فقط)

يتم وصف عينات من الكلمات من قبل القاموس - نظام فرعي منفصل يتكون من نفس المستويات الستة.

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

4. الفصول التالية. سي جميلة


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

ماذا بالضبط شي عرض؟ صورة وطبقة.

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

في البداية ، حلّت الصورة مهمة الآلة البحتة المتمثلة في الحوسبة ، ثم أصبحت مدرجًا لولادة لغات الكائنات.

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

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

لكن هذا ليس مصيرنا. خيارنا - تعاريف ذات قناع مرفوع بالروسية الصافية.

صورة


الصورة هي اسم تنبؤي للكمية التي تحدد 1) الخصائص المناسبة للكمية و 2) اختيار العمليات للكمية.

تتطابق كلمة "type" (type) مع الجزء الأول من التعريف: "الخصائص المناسبة للكمية". لكن المعنى الرئيسي للصورة هو في الجزء الثاني: "اختيار العمليات للكميات".

إن نقطة الانطلاق لإدخال صورة باللغة C هي الحساب المعتاد ، على سبيل المثال ، عملية الإضافة.

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

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

الرياضيات التطبيقية ، أي اللغة C ، تفصل بين أنواع الأرقام ، ولكنها تجمع بين العمليات: تتم إضافة الإضافة الصحيحة و / أو الأرقام الكسرية بعلامة واحدة.

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

القيمة والتشغيل


القيمة هي الرقم الذي تتم معالجته.

العملية - معالجة قيم القيم الأولية (الوسائط) للحصول على العدد الإجمالي (الإجمالي).

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

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

تنقسم الفرق أيضًا إلى نوعين من الإجراءات: الرياضية والخدمة. الإجراءات الرياضية - العمليات. سنتحول إلى الخدمة في وقت لاحق.

في اللغات C ، تصبح العمليات المعتادة للورق والآلة غير واضحة أو مفردة ، تقريبًا دون استثناء.

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

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

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

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

جميع الوظائف هي عمليات وحدة تعسفية. الاستثناء هو عوامل التشغيل - وظائف غير القوس المضمنة في اللغة (العمليات الأولية).

ترويج


المساعدة هي عمل مصاحب.

إذا اعتبرنا العملية كعمل رئيسي ، فيمكننا تمييز اثنين من المرافقين ، اللذين يوفران العملية ويختلفان عنها. هذه هي 1) تحكم متغير و 2) تقديم. هذا العمل يسمى الترويج .

هنا لا بد من صرف الانتباه والتحدث بشكل منفصل عن الترجمات الروسية لكتب البرمجة. تم تقديم عبارة كلمة جديدة (تعبير) في نص K / P لتسجيل الإجراءات ، والتي بذلت محاولة لتقسيم مفاهيم أمر الجهاز إلى إجراءات مختلفة: 1) عملية ، 2) إعلان ، و 3) إرسال (يسمى "هياكل التحكم"). تم دفن هذه المحاولة من قبل المترجمين الروس ، واستبدال "التعبير" بكلمة "عامل التشغيل" ، والتي:

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

النظر في الأنشطة المرتبطة ، أو التسهيلات .

إدارة متغيرة


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

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

خضوع


تقديم - تمكين / تعطيل أقسام الطبقة.

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

كل من الإعلان والتقديم مبنيان بالكامل على مفهوم الطبقة .

طبقة


الطبقة عبارة عن مجموعة تعبير انتقائي محدود المستوى.

أخذت الطبقة صراحة وضمناً على تنفيذ العديد من المهام في وقت واحد:

  1. تبسيط البرنامج ،
  2. تقييد رؤية الاسم (ضمنيًا) ،
  3. إدارة المتغيرات (خلايا الذاكرة) (ضمنيًا) ،
  4. تعريف الأقسام الفرعية للمرؤوس ،
  5. تعريفات الوظائف والمجموعات وغيرها.

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

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

بالمناسبة ، يمكن افتراض أن Den Ritchie غادر goto تمامًا كمفتاح للبحث عن مفهوم لم يتم تحديد اسمه ، لأنه لم تكن هناك حاجة أو جمال في تعبير goto. ولكن كانت هناك حاجة إلى شرح بسيط ومفهوم للمبادئ الجديدة للغة التي لم يرغب ريتشي نفسه في تقديمها ، والتي تستند فقط إلى مفهوم الطبقة .

الانحراف


الانحراف - تغيير الخصائص المعتادة لاسم جديد.

يرتبط الانحراف الأكثر أهمية فقط بخصائص طبقة البرنامج ، ويتم وصفه بكلمة واحدة "ثابت" ، والتي لها معان مختلفة في كل نوع من الطبقات.

5. الفصل الأخير. لغات التطبيق الشائعة


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

صورة

(لم يتم تسليم تصميم الجدول بعد ، وبالتالي يتم تقديم الجدول في صورة.)

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

الزائد وتعدد الأشكال


يعتبر التحميل الزائد للكلمة مصطلحًا قديمًا في منهج الآلة يشير إلى إنشاء عمليات متعددة . يمكن أن يزعج

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

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

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

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

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

الكلمات الروسية تقرر.

مدرج المطار


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

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

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

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

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

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

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

Source: https://habr.com/ru/post/ar452328/


All Articles