لغة برمجة Rockstar: عندما تبدو الشفرة مثل نص الروك



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

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

بالطبع ، كل هذا يبدو مزحة ، وفي البداية كان الأمر كذلك ، ولكنه أصبح الآن أكثر واقعية. التفاصيل - تحت القطع.

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



وجاءت هذه النكات في نهاية المطاف إلى مثل هذه التغريدة:



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

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



تذكر ديلان اللغات الباطنية الموجودة بالفعل ، حيث لم يحدد هدف "أن يصبح أكثر شعبية مع C ++" ، ولكن حدد هدف "دعنا ننفذ فكرة مثيرة للاهتمام ، لمجرد أننا نستطيع". من بين هؤلاء هناك أولئك الذين قدموا المفردات والأسلوب من مجال آخر: على سبيل المثال ، لغة شكسبير ، التي تصمم برامج مسرحيات شكسبير ، و Lingua :: Romana :: Perligata ، التي تم تصنيفها كـ "Perl in Latin". نعم ، لا أحد يكتب إليهم في الإنتاج ، ولكن حقيقة وجودهم تجعل عالمنا أكثر حيوية.

مع هذه الأفكار ، قرر إنشاء لغة حيث قد تبدو FizzBuzz كما يلي:

Midnight takes your heart and your soul While your heart is as high as your soul Put your heart without your soul into your heart Give back your heart Desire is a lovestruck ladykiller My world is nothing Fire is ice Hate is water Until my world is Desire, Build my world up If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing Shout "FizzBuzz!" Take it to the top If Midnight taking my world, Fire is nothing Shout "Fizz!" Take it to the top If Midnight taking my world, Hate is nothing Say "Buzz!" Take it to the top Whisper my world 


في أغسطس ، افتتح ديلان مستودعًا على GitHub وكتب عن فكرته على Twitter ، ولا يتوقع أي رد فعل معين - وفجأة انفجر كل شيء مع إعادة التغريد ونجوم github. وانفصلت الدوائر إلى درجة أن مجلة كلاسيك روك أجرت معه مقابلة .

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

وأشار أيضًا إلى أنه مع كل الضجيج ، فإن مستقبل المشروع موضع تساؤل: الإنترنت يتحول بسرعة كبيرة إلى نكات جديدة ، لذلك في اليوم التالي قد يتم نسيان Rockstar قبل أن يتم إدراكه.

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

"إن استخدام التعليقات غير محبذ. هذه موسيقى الروك أند رول ، على الجمهور نفسه أن يجد المعنى في النص! "

"نظام الكتابة مشابه لـ ECMAScript ، فقط غير محدد لا يبدو صخرة ولفة بما فيه الكفاية ، لذلك قررنا استخدام كلمة غامضة ."

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



قررنا توضيح بعض التفاصيل مع ديلان نفسه:

- تبدو هذه الفكرة للوهلة الأولى وكأنها "نكتة على التزام واحد" ، لن تتبعها ثانية. لكن الآن هناك 132 التزامًا في المشروع - هل نفهم بشكل صحيح أنه على قيد الحياة؟

- نعم! بدأ الأمر كمزحة - أول مسودة لمواصفات اللغة التي كتبتها جالسة في حانة على جهاز كمبيوتر محمول. لقد قمت بنشره على GitHub ونشرت الروابط على Twitter ... وحصلت على أكثر من ألف نجمة على GitHub. ثم بدأ الناس في التنفيذ. قام شخص ما بإنشاء ناقل Rockstar-JavaScript ، وقام شخص آخر بإنشاء تمييز بناء الجملة لنص Sublime و VS Code. قام الناس بإنشاء طلبات سحب ، وفتحوا المشكلة ، وقاموا بتنفيذ عملياتهم الخاصة - كان الأمر مدهشًا.

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

- وهذه اللغة مخصصة لمحبي الروك؟ هل يعجبك عشاق موسيقى البوب ​​أو الهيب هوب هنا؟

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

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

- كتابة محاكاة ساخرة لأغنية الروك التي ستكون في نفس الوقت أيضًا برنامج Rockstar صالحًا؟ يبدو مثيرا للاهتمام ... ربما سأحاول بعد الانتهاء من مواصفات 1.0 :)

أخيرا ، إعلان صغير. نعلم أن ديلان يرجع إلى حقيقة أنه يتحدث بانتظام في مؤتمر دوت نت DotNext: تتلقى تقاريره مراجعات ممتازة في كل مرة ، مما يدل على أنه جيد ليس فقط في المحاكاة الساخرة. وفي DotNext 2018 Moscow القادمة (22-23 نوفمبر) ، سيختتم المؤتمر بتقرير "Ctrl-Alt-Del: تعلم حب الشفرة القديمة". وبالتأكيد ، كالمعتاد ، سيأخذ معه غيتار لأداء المحاكاة الساخرة له في حفل المؤتمر أمام الجميع. بشكل عام ، إذا كنت تريد مناقشة Rockstar معه ، فقم برؤيته كمتحدث أو استمع إلى عمله مباشرة - أنت تعرف أين تفعل ذلك .

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


All Articles