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

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

في أول محاضرة له على جائزة ACM Turing بعنوان "توليف الأنظمة الخوارزمية" في عام 1966 ، سرد الدكتور بيرليس ثلاث طرق تتطور بها لغات البرمجة من واحدة إلى أخرى.

نشأت اللغات التالية من أسباب مختلفة:

(أ) يؤدي تصحيح خطأ أو حذف أو فائض في لغة معينة إلى إعادة صياغة طبيعية تنتج لغة متفوقة.

(ب) يتطلب تصحيح خطأ أو سهو أو فائض في لغة معينة إعادة العمل لإنتاج لغة مفيدة.

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

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

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

دعنا نلقي نظرة تفصيلية على كيفية تطبيق كل من هذه المبادئ (الثلاثة زائد واحد) التي حددها Perlis على تطور لغات البرمجة على مدار الـ 56 عامًا الماضية. ربما كان الكثير من هذا التطور مستوحى من Peter Landin واقتراح ISWIM لعام 1966 (أي عام ، هاه؟) لل 700 لغة القادمة ؛ دعونا لا نستطرد ونحدد بعض أنماط تطور لغة البرمجة من خلال النظر إلى الماضي. إعادة التصميم الطبيعي للغة متفوقة

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

تمثل اللغات التي تعرض مثل هذه التغييرات خطوات تطورية صغيرة ، مرحب بها ولكنها ليست تغييرات ثورية. تم الإشادة بها في Hacker News وتبنيها المجتمع باعتبارها تحسينات مرحب بها على اللغات الحالية. بعض الأمثلة بترتيب زمني تقريبًا: C (لـ B) باسكال (اقترحه ويرث باعتباره أفضل ALGOL 60 ، على الرغم من أن بريان كيرنيغان لم يعجبه) D (لـ C ++) Raku (لـ Perl) Scala (لجافا) كريستال (لياقوت) الاختراق (مثل محاولة Facebook نقل PHP إلى مستوى آخر) الكربون (لـ C ++ ، ربما؟)

تتضمن بعض عمليات إعادة التصميم هذه تغييرات في بناء الجملة (D ، Pascal ، Hack) ؛ آخرون مع إعادة إنشاء المجمعين أو نماذج وقت التشغيل (Crystal ، HipHop) ؛ في حالات أخرى ، تقديم نموذج مختلف تمامًا (Scala) على نظام أساسي موجود (آلة Java الافتراضية) أو حتى بناء جملة جديد ولكن مع التوافق مع الإصدارات السابقة (Carbon.)

إعادة التصميم إلى لغة مفيدة

لإعادة صياغة Bjarne Stroustrup ، هذا هو مجال اللغات الذي يشتكي منه الجميع. ماذا نعني بكلمة "مفيد"؟ في رأي هذا المؤلف ، لغات براغماتية. أولئك الذين يفعلون القرف. هناك ...

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

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

في أول محاضرة له على جائزة ACM Turing بعنوان "توليف الأنظمة الخوارزمية" في عام 1966 ، سرد الدكتور بيرليس ثلاث طرق تتطور بها لغات البرمجة من واحدة إلى أخرى.

نشأت اللغات التالية من أسباب مختلفة:

(أ) يؤدي تصحيح خطأ أو حذف أو فائض في لغة معينة إلى إعادة صياغة طبيعية تنتج لغة متفوقة.

(ب) يتطلب تصحيح خطأ أو سهو أو فائض في لغة معينة إعادة العمل لإنتاج لغة مفيدة.

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

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

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

دعنا نلقي نظرة تفصيلية على كيفية تطبيق كل من هذه المبادئ (الثلاثة زائد واحد) التي حددها Perlis على تطور لغات البرمجة على مدار الـ 56 عامًا الماضية. ربما كان الكثير من هذا التطور مستوحى من Peter Landin واقتراح ISWIM لعام 1966 (أي عام ، هاه؟) لل 700 لغة القادمة ؛ دعونا لا نستطرد ونحدد بعض أنماط تطور لغة البرمجة من خلال النظر إلى الماضي. إعادة التصميم الطبيعي للغة متفوقة

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

تمثل اللغات التي تعرض مثل هذه التغييرات خطوات تطورية صغيرة ، مرحب بها ولكنها ليست تغييرات ثورية. تم الإشادة بها في Hacker News وتبنيها المجتمع باعتبارها تحسينات مرحب بها على اللغات الحالية. بعض الأمثلة بترتيب زمني تقريبًا: C (لـ B) باسكال (اقترحه ويرث باعتباره أفضل ALGOL 60 ، على الرغم من أن بريان كيرنيغان لم يعجبه) D (لـ C ++) Raku (لـ Perl) Scala (لجافا) كريستال (لياقوت) الاختراق (مثل محاولة Facebook نقل PHP إلى مستوى آخر) الكربون (لـ C ++ ، ربما؟)

تتضمن بعض عمليات إعادة التصميم هذه تغييرات في بناء الجملة (D ، Pascal ، Hack) ؛ آخرون مع إعادة إنشاء المجمعين أو نماذج وقت التشغيل (Crystal ، HipHop) ؛ في حالات أخرى ، تقديم نموذج مختلف تمامًا (Scala) على نظام أساسي موجود (آلة Java الافتراضية) أو حتى بناء جملة جديد ولكن مع التوافق مع الإصدارات السابقة (Carbon.)

إعادة التصميم إلى لغة مفيدة

لإعادة صياغة Bjarne Stroustrup ، هذا هو مجال اللغات الذي يشتكي منه الجميع. ماذا نعني بكلمة "مفيد"؟ في رأي هذا المؤلف ، لغات براغماتية. أولئك الذين يفعلون القرف. هناك ...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow