اللغات الصغيرة هي مستقبل البرمجة
مدونة chreke - اللغات الصغيرة هي مستقبل البرمجة
لقد اقتنعت بأن "اللغات الصغيرة "- اللغات الصغيرة المصممة لحل مشكلات محددة جدًا - هي مستقبل البرمجة ، خاصة بعد قراءة غابرييلا غونزاليس" نهاية تاريخ البرمجة "ومشاهدة حديث البرمجة والتنفيذ. كلاهما ممتاز ، ولكن إذا استمررت في ذلك ، فسأشرح ما أعنيه بـ "اللغات الصغيرة" وسبب أهميتها. p> ما هي "اللغة الصغيرة"؟
أعتقد أن جون بنتلي صاغ مصطلح "لغة صغيرة" في مقالته التي تحمل اسم Little Languages ، حيث قدم التعريف التالي: p>
[...] لغة صغيرة متخصصة في مجال مشكلة معينة ولا تتضمن العديد من الميزات الموجودة في اللغات التقليدية. p>
على سبيل المثال ، تعتبر SQL لغة صغيرة لوصف عمليات قاعدة البيانات. التعبيرات العادية هي لغة صغيرة لمطابقة النص. Dhall هي لغة صغيرة لإدارة التكوين وما إلى ذلك. p>
هناك بعض الأسماء الأخرى لهذه اللغات: اللغات الخاصة بالمجال (DSL: s) ، واللغات الموجهة لحل المشكلات ، وما إلى ذلك. ومع ذلك ، يعجبني مصطلح "اللغات الصغيرة" ، ويرجع ذلك جزئيًا إلى أن مصطلح "DSL" أصبح محملاً بشكل زائد ليعني أي شيء من مكتبة ذات واجهة سلسة إلى لغة استعلام كاملة الميزات مثل SQL ، ولكن أيضًا لأن "اللغات الصغيرة" تؤكد طبيعة صغيرة. p> لماذا نحتاج لغات صغيرة؟
إذا نظرت إلى البرمجيات اليوم ، من خلال عدسة التاريخ الهندسي ، فهي بالتأكيد نوع من الهندسة ، لكنها نوع الهندسة التي قام بها الأشخاص الذين ليس لديهم مفهوم الفلك. تشبه معظم البرامج اليوم إلى حد كبير هرمًا مصريًا حيث توجد ملايين الطوب المكدسة فوق بعضها البعض ، بدون تكامل بنيوي ، ولكنها مصنوعة فقط بالقوة الغاشمة وآلاف العبيد. p>
- آلان كاي ، من محادثة مع آلان كاي p>
لدينا مشكلة حقيقية في مجتمع هندسة البرمجيات: عندما يصبح التطبيق أكثر تعقيدًا ، يزداد حجم شفرة المصدر أيضًا. ومع ذلك ، تظل قدرتنا على فهم قواعد الرموز الكبيرة مجمدة إلى حد كبير. وفقًا لـ The Emergence of Big Code ، وهو استطلاع أجرته عام 2020 Sourcegraph ، قال غالبية المستجيبين إن حجم قاعدة الرموز الخاصة بهم تسبب في واحد أو أكثر من المشكلات التالية: p> من الصعب دمج المجندين الجدد فواصل التعليمات البرمجية بسبب عدم فهم التبعيات تصبح تغييرات التعليمات البرمجية أكثر صعوبة في الإدارة
الأسوأ من ذلك هو أن التطبيقات تنمو بمعدل ينذر بالخطر: قدر معظم المشاركين في استطلاع Sourcegraph أن قاعدة الرموز الخاصة بهم قد نمت 100 إلى 500 مرة em> على مدار السنوات العشر الماضية. كمثال ملموس ، نواة Linux بدأت بحوالي 10000 سطر من التعليمات البرمجية في عام 1992. بعد عشرين عامًا ، تزن حوالي 30 مليون سطر ...
لقد اقتنعت بأن "اللغات الصغيرة "- اللغات الصغيرة المصممة لحل مشكلات محددة جدًا - هي مستقبل البرمجة ، خاصة بعد قراءة غابرييلا غونزاليس" نهاية تاريخ البرمجة "ومشاهدة حديث البرمجة والتنفيذ. كلاهما ممتاز ، ولكن إذا استمررت في ذلك ، فسأشرح ما أعنيه بـ "اللغات الصغيرة" وسبب أهميتها. p> ما هي "اللغة الصغيرة"؟
أعتقد أن جون بنتلي صاغ مصطلح "لغة صغيرة" في مقالته التي تحمل اسم Little Languages ، حيث قدم التعريف التالي: p>
[...] لغة صغيرة متخصصة في مجال مشكلة معينة ولا تتضمن العديد من الميزات الموجودة في اللغات التقليدية. p>
على سبيل المثال ، تعتبر SQL لغة صغيرة لوصف عمليات قاعدة البيانات. التعبيرات العادية هي لغة صغيرة لمطابقة النص. Dhall هي لغة صغيرة لإدارة التكوين وما إلى ذلك. p>
هناك بعض الأسماء الأخرى لهذه اللغات: اللغات الخاصة بالمجال (DSL: s) ، واللغات الموجهة لحل المشكلات ، وما إلى ذلك. ومع ذلك ، يعجبني مصطلح "اللغات الصغيرة" ، ويرجع ذلك جزئيًا إلى أن مصطلح "DSL" أصبح محملاً بشكل زائد ليعني أي شيء من مكتبة ذات واجهة سلسة إلى لغة استعلام كاملة الميزات مثل SQL ، ولكن أيضًا لأن "اللغات الصغيرة" تؤكد طبيعة صغيرة. p> لماذا نحتاج لغات صغيرة؟
إذا نظرت إلى البرمجيات اليوم ، من خلال عدسة التاريخ الهندسي ، فهي بالتأكيد نوع من الهندسة ، لكنها نوع الهندسة التي قام بها الأشخاص الذين ليس لديهم مفهوم الفلك. تشبه معظم البرامج اليوم إلى حد كبير هرمًا مصريًا حيث توجد ملايين الطوب المكدسة فوق بعضها البعض ، بدون تكامل بنيوي ، ولكنها مصنوعة فقط بالقوة الغاشمة وآلاف العبيد. p>
- آلان كاي ، من محادثة مع آلان كاي p>
لدينا مشكلة حقيقية في مجتمع هندسة البرمجيات: عندما يصبح التطبيق أكثر تعقيدًا ، يزداد حجم شفرة المصدر أيضًا. ومع ذلك ، تظل قدرتنا على فهم قواعد الرموز الكبيرة مجمدة إلى حد كبير. وفقًا لـ The Emergence of Big Code ، وهو استطلاع أجرته عام 2020 Sourcegraph ، قال غالبية المستجيبين إن حجم قاعدة الرموز الخاصة بهم تسبب في واحد أو أكثر من المشكلات التالية: p> من الصعب دمج المجندين الجدد فواصل التعليمات البرمجية بسبب عدم فهم التبعيات تصبح تغييرات التعليمات البرمجية أكثر صعوبة في الإدارة
الأسوأ من ذلك هو أن التطبيقات تنمو بمعدل ينذر بالخطر: قدر معظم المشاركين في استطلاع Sourcegraph أن قاعدة الرموز الخاصة بهم قد نمت 100 إلى 500 مرة em> على مدار السنوات العشر الماضية. كمثال ملموس ، نواة Linux بدأت بحوالي 10000 سطر من التعليمات البرمجية في عام 1992. بعد عشرين عامًا ، تزن حوالي 30 مليون سطر ...
What's Your Reaction?