لغة برمجة للأذكياء. خطط التنمية

19.02.2019

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

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

بالمعنى الدقيق للكلمة، الأولان عبارة عن روابط عقدة لـ Selenium، لكنهما كانا يستحقان المحاولة، ونتيجة لذلك، تمت كتابة نموذج أولي للتطبيق، ولكن تبين أنه معقد للغاية ومرهق. بعد ذلك، تمت تجربة Zombie.JS. ولكن للأسف، لم ينجح شيء ما بعد الحصول على ترخيص ناجح - لم تكن خزانة الصفحات ترغب في العرض. وفي النهاية، وقع الاختيار على PhantomJS.
مميزات برنامج يوتا سكريبت
PhantomJS - منصة مشتركة برمجة، لذلك يجب أن يعمل الحل المقترح أينما يمكن تشغيله.
يبدو استدعاء yota-script شيئًا مثل هذا:
phantomjs yota.js your_login your_password
الأوامر المتاحة:
تحقق - سيظهر الأمر الافتراضي، الذي يمكن حذفه الحالات الحاضره أو حالات التياروالباقي في أيام
التبديل - تنشيط التعريفة، المعلمة المطلوبة- السرعة إحدى نتائج أمر القائمة
القائمة - قائمة معلمات التبديل مع الأوصاف
مثال:
phantomjs yota.js your_login your_password Switch 5.0 يقوم بتبديل التعريفة إلى 5 ميجابت/ثانية
القيود والقضايا المعروفة
يفشل تبديل التعريفة بشكل دوري بسبب انتهاء المهلة. الخطأ غير مستقر ويختفي من تلقاء نفسه. لتصحيح الأخطاء، يمكنك استخدام خيار --debug=yes. أعتقد أنه سيكون من المفيد أيضًا التحذير من أن الإجراءات التي يقوم بها هذا البرنامج النصي قانونية تمامًا، ومع ذلك، في أي لحظة شركة يوتايمكن أن تتغير.
خطط التنمية
في حالياًهذا البرنامج النصي يعمل فقط على crontab لأن ... لدي جدول زمني يمكن التنبؤ به تمامًا لاستخدام الإنترنت. ومع ذلك، ليس هناك حد للكمال وأفكر في كتابة محلل بسيط لعرض النطاق الترددي المشغول من أجل تبديل السرعة بناءً على الحاجة إليه. نرحب بكل سرور بالاقتراحات والتعليقات حول أفضل السبل لتنفيذ ذلك.

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

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

بدأت الأخبار حول ظهور المشروع تحظى بصدى واسع عبر الإنترنت بعد نشرها صفحةمجتمع تكنولوجيا المعلومات /dev/null على فكونتاكتي. ومن هناك، على ما يبدو، حصلت على أقصى استفادة منها استخدام واسع، وحصل على حوالي 300 إعادة نشر. بدأ بعض المبرمجين بمقارنة اللغة بـ 1C مازحًا بسبب ميزاتها (جميع التعليمات مكتوبة باللغة السيريلية).

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

الإدخال الأول حول لغة YoptaScript

وفقا لمبدعي اللغة، بحلول 9 ديسمبر، زار موقع المشروع 120 ألف مستخدم فريد.

تمكنت TJ من الاتصال بـ Semyon Gozman ومعرفة تاريخ YoptaScript والمشكلات الرئيسية أثناء التطوير والخطط المستقبلية لمنشئي المشروع. وقال سيميون إن فكرة إنشاء لغة جاءت له ولرفاقه الطلاب خلال السنة الأخيرة من دراستهم الجامعية. تقنيات المعلوماتوذلك لكثرة نسبة "الأولاد الحساسين" بين الطلاب.

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

مطورو يوبتا سكريبت. ميخائيل بيلوزرسكي (يسار)، سيميون جوزمان (وسط)، جورجي مخيتاريان (يمين)

يشير المطور إلى أنه بحلول العام الأخير من الدراسة، لم يكن لدى معظم طلاب الجامعات مهارات البرمجة في لغة واحدة على الأقل، وقبل كل شيء، أراد منشئو YoptaScript مساعدتهم في كتابة الدبلوم في عامهم الأخير.

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

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

Semyon Gozman، أحد مبدعي YoptaScript

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

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

لقد كان الأمر فظيعًا حقًا، لأنه لم يتمكن أي من فريقنا من تحمل مثل هذه التعبيرات القوية في الاستخدام الشائع.

Semyon Gozman، أحد مبدعي YoptaScript

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

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

Semyon Gozman، أحد مبدعي YoptaScript

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

Semyon Gozman، أحد مبدعي YoptaScript

في عام 2014، نشر المبرمج الفنلندي لوري هارتيكا وصفًا ومترجمًا للغة برمجة ArnoldC على موقع Github. يستخدم ArnoldC علامات الاقتباس من أحرف Arnold Schwarzenegger كأوامر.

ربما هذا هو أفضل الأخبار. ماذا تفكرون يا شباب؟

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

وكما علم الموقع، فإن فكرة المؤلفين مستوحاة من حادثة وقعت في منتصف عام 2016. قام المبرمجون المستقبليون، طلاب كلية تكنولوجيا المعلومات، بسرقة تلاميذ المدارس الذين كانوا يحاولون بيع البضائع عبر الإنترنت. ودعا منشور Piter.tv اللصوص " المبرمجين جوبنيك"، والتي قرر المؤلفون إنشاء لغة جديدة لها.

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

وفقًا لقواعد JavaScript، يجب أن تنتهي وحدة إجراء التعليمات البرمجية بفاصلة منقوطة. ولكن لتسهيل اللغة على " شرائح معينة من السكان"، وتم استبدالها بكلمة "ناه". يمكنك كتابة معلومات على الصفحة باستخدام الكود التالي تقريبًا: "xiva.malyava(" إنه يعمل ") ناه." يمكنك الإعلان عن المتغيرات باستخدام كلمة "gyy"، ووضع شرط باستخدام كلمة "fork in theeye"، وبدء حلقة بكلمة "crack". وفقا لفكرة المؤلفين، يجب أن يصبح الكود أكثر وضوحا بالنسبة لـ "الرجال النظيفين".

وفي مجتمع البرمجة "/dev/null"، تم تلقي الأخبار بما يقرب من 2000 إعجاب و300 إعادة نشر. ذكّر YoptaScript العديد من المعلقين بـ 1C، حيث يتم كتابة الكود باللغة الروسية باللغة السيريلية. أشار البعض إلى أنه كانت لديهم فكرة مماثلة من قبل، بينما وصف آخرون ببساطة YoptaScript بأنها تحفة فنية.

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