اللغات الصغيرة هي مستقبل البرمجة

مدونة chreke - اللغات الصغيرة هي مستقبل البرمجة امرأة عصرية ترتدي قميصًا عليه معادلات ماكسويل

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

أعتقد أن جون بنتلي صاغ مصطلح "لغة صغيرة" في مقالته التي تحمل اسم Little Languages ​​، حيث قدم التعريف التالي:

[...] لغة صغيرة متخصصة في مجال مشكلة معينة ولا تتضمن العديد من الميزات الموجودة في اللغات التقليدية.

على سبيل المثال ، تعتبر SQL لغة صغيرة لوصف عمليات قاعدة البيانات. التعبيرات العادية هي لغة صغيرة لمطابقة النص. Dhall هي لغة صغيرة لإدارة التكوين وما إلى ذلك.

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

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

- آلان كاي ، من محادثة مع آلان كاي

لدينا مشكلة حقيقية في مجتمع هندسة البرمجيات: عندما يصبح التطبيق أكثر تعقيدًا ، يزداد حجم شفرة المصدر أيضًا. ومع ذلك ، تظل قدرتنا على فهم قواعد الرموز الكبيرة مجمدة إلى حد كبير. وفقًا لـ The Emergence of Big Code ، وهو استطلاع أجرته عام 2020 Sourcegraph ، قال غالبية المستجيبين إن حجم قاعدة الرموز الخاصة بهم تسبب في واحد أو أكثر من المشكلات التالية: من الصعب دمج المجندين الجدد فواصل التعليمات البرمجية بسبب عدم فهم التبعيات تصبح تغييرات التعليمات البرمجية أكثر صعوبة في الإدارة

الأسوأ من ذلك هو أن التطبيقات تنمو بمعدل ينذر بالخطر: قدر معظم المشاركين في استطلاع Sourcegraph أن قاعدة الرموز الخاصة بهم قد نمت 100 إلى 500 مرة على مدار السنوات العشر الماضية. كمثال ملموس ، نواة Linux بدأت بحوالي 10000 سطر من التعليمات البرمجية في عام 1992. بعد عشرين عامًا ، تزن حوالي 30 مليون سطر ...

اللغات الصغيرة هي مستقبل البرمجة
مدونة chreke - اللغات الصغيرة هي مستقبل البرمجة امرأة عصرية ترتدي قميصًا عليه معادلات ماكسويل

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

أعتقد أن جون بنتلي صاغ مصطلح "لغة صغيرة" في مقالته التي تحمل اسم Little Languages ​​، حيث قدم التعريف التالي:

[...] لغة صغيرة متخصصة في مجال مشكلة معينة ولا تتضمن العديد من الميزات الموجودة في اللغات التقليدية.

على سبيل المثال ، تعتبر SQL لغة صغيرة لوصف عمليات قاعدة البيانات. التعبيرات العادية هي لغة صغيرة لمطابقة النص. Dhall هي لغة صغيرة لإدارة التكوين وما إلى ذلك.

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

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

- آلان كاي ، من محادثة مع آلان كاي

لدينا مشكلة حقيقية في مجتمع هندسة البرمجيات: عندما يصبح التطبيق أكثر تعقيدًا ، يزداد حجم شفرة المصدر أيضًا. ومع ذلك ، تظل قدرتنا على فهم قواعد الرموز الكبيرة مجمدة إلى حد كبير. وفقًا لـ The Emergence of Big Code ، وهو استطلاع أجرته عام 2020 Sourcegraph ، قال غالبية المستجيبين إن حجم قاعدة الرموز الخاصة بهم تسبب في واحد أو أكثر من المشكلات التالية: من الصعب دمج المجندين الجدد فواصل التعليمات البرمجية بسبب عدم فهم التبعيات تصبح تغييرات التعليمات البرمجية أكثر صعوبة في الإدارة

الأسوأ من ذلك هو أن التطبيقات تنمو بمعدل ينذر بالخطر: قدر معظم المشاركين في استطلاع Sourcegraph أن قاعدة الرموز الخاصة بهم قد نمت 100 إلى 500 مرة على مدار السنوات العشر الماضية. كمثال ملموس ، نواة Linux بدأت بحوالي 10000 سطر من التعليمات البرمجية في عام 1992. بعد عشرين عامًا ، تزن حوالي 30 مليون سطر ...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow