Язык программирования для четких пацанов. Планы по развитию

19.02.2019

Доброго времени суток, уважаемые хабражители.
Пару месяцев назад и до нашего города добралась цивилизация в виде Yota. После беглого осмотра личного кабинета и выяснения что тарификация работает с точностью до минуты появился автоматизационный зуд:) Тут еще подвернулся топик и понеслась. Главная проблема которую я хотел решить - позволить управлять своим тарифом из командной строки (к примеру с помощью crontab) кроссплатформенно т.к. сам давно живу под Arch Linux в качестве основной операционной системы.

Подбираем ингредиенты
Имея некоторый опыт с различными фреймворками для тестирования web-страниц я было ринулся за привычный Selenium, но подумал что желательно бы обойтись чем-то попроще да поинтереснее. Захотелось попробовать что-то новое.
Итак, нам нужен headless браузер с каким-никаким API. Кандидаты:

Строго говоря первые два являются binding"ами nodejs для Selenium, но попробовать их стоило. В итоге прототип приложения был написан, но получилось слишком сложно и громоздко. Далее был опробован Zombie.JS, но увы что-то не заладилось после успешной авторизации - страница кабинета никак не хотела рендериться. В итоге выбор пал на PhantomJS.
Возможности yota-script
PhantomJS - кроссплатформенное программное обеспечение, поэтому работать предложенное решение должно везде, где он может запуститься.
Вызов yota-script выглядит примерно так:
phantomjs yota.js your_login your_password
Доступные команды:
check - команда по-умолчанию которую можно опустить, покажет текущие условия и остаток в днях
switch - активирует тариф, обязательный параметр - скорость, один из результатов команды list
list - список параметров для switch с описаниями
Пример:
phantomjs yota.js your_login your_password switch 5.0 Переключит тариф на 5 Мбит/с
Ограничения и известные проблемы
Периодически отваливается по таймауту переключение тарифа. Баг неустойчивый, проходит сам по себе. Для отладки можно воспользоваться параметром --debug=yes . Думаю также не лишним будет предупредить, что действия производимые данным скриптом вполне легальны, однако в любой момент позиция компании Yota может измениться.
Планы по развитию
В настоящий момент этот скрипт просто работает по crontab т.к. у меня вполне предсказуемый график пользования интернетом. Однако нет предела совершенству и я подумываю написать простенький анализатор занимаемой полосы, дабы переключать скорость исходя из потребности в ней. Предложения и комментарии как лучше это реализовать с удовольствием принимаются.

Наконец-то! Студенты Петербургского колледжа создали YoptaScript — первый язык для «гопников и реальных пацанов», якобы для того, чтобы дать им возможность социализироваться и программировать на привычном языке. Пожалуй, эта лучшая новость за год, потому надо подробнее. Садитесь на корты, берите семки, погнали, слушайте сюды, пацаны...

По информации с GitHub, где опубликован исходный код проекта, YoptaScript — это скриптовый язык, который транслируется специальной библиотекой в JavaScript. Общий принцип языка построен на изменённых единицах языка Javascript на диалект «нормальных пацанов», поэтому в YoptaScript много нецензурной лексики. Конкретные слова авторы нашли в ходе наблюдений за соответствующими индивидами и взяли из словаря краткого блатного жаргона.

Новость о появлении проекта стала набирать в сети широкий резонанс после публикации на странице ИТ-сообщества /dev/null во «Вконтакте». Оттуда, по-видимому, она получила своё самое широкое распространение, набрав около 300 репостов. Некоторые программисты стали в шутку сравнивать язык с 1С из-за его особенностей (все инструкции пишутся кириллицей).

Изначально информация о новом языке появилась в сети вечером 5 декабря на странице одного из создателей языка — Семёна Гозмана. После этого запись репостнули к себе около 20 человек и она начала распространяться по принципу «сарафанного радио».

Первая запись о языке YoptaScript

Как заявляют создатели языка, к 9 декабря сайт проекта посетили 120 тысяч уникальных пользователей.

TJ удалось связаться с Семёном Гозманом и узнать историю появления YoptaScript, основные проблемы при разработке и дальнейшие планы создателей проекта. Семён рассказал, что идея создания языка пришла к нему и его сокурсникам во время учёбы на последнем курсе Колледжа информационных технологий из-за большого процента «чотких пацанов» среди учащихся.

Достаточно большой процент местных студентов — это «чоткие пацаны» , как они себя называют. Ну и разумеется гопнички есть, куда же без них. Это связано в первую очередь с тем, что колледж территориально близко к Купчино.

Разработчики YoptaScript. Михаил Белозерский (слева) , Семён Гозман (в центре) , Георгий Мхитарян (справа)

Разработчик отмечает, что к последнему курсу обучения большинство студентов колледжа не владели навыками программирования хотя бы на одном языке, и в первую очередь создатели YoptaScript хотели помочь им с написанием диплома на последнем курсе.

Последний курс — всем пора писать дипломы (а мы программисты по сути). Шарящих очень мало, в основном все либо слишком «чоткие», либо просто забили болт.

Вот мы и хотели помочь с написанием диплома тем, кто сам не сможет, так как никаких языков программирования они так и не выучили за всё время обучения.

Семён Гозман, один из создателей YoptaScript

Семён также рассказал, что самой большой проблемой для команды оказалось расширение словаря языка из-за того, что большая часть создателей не общалась на таком диалекте в обычной жизни.

Основные сложности, которые возникли — это раздуть словарный запас наших «эллочек-людоедочек» до 600+ выражений. На этом мы недели две ломали головы, так как всю эту похабщину нужно было сделать чуть более логичной.

Это правда было ужасно, потому что никто из нашей команды не переваривал столь крепкие выражения в повсеместном употреблении.

Семён Гозман, один из создателей YoptaScript

По рассказу автора, проект не является попыткой оскорбить или пошутить над какими-то слоями населения и несёт сугубо просветительские цели, а в планах расширение «словаря» и работа над усовершенствованием механизма трансляции в Javascript.

С самого начала язык не имел и не имеет никакой цели оскорбить кого-то, или унизить определённые слои населения. Мы лишь хотели сделать программирование более доступным для таких людей, а также помочь им социализироваться. Но разумеется, мы всей командой смеялись в голос каждый раз, когда получались удачные совместные конструкции. Основной состав команды на старте был три человека, сейчас ввиду поднятого хайпа нас стало семь, и работа продолжает кипеть, язык не собирается приостанавливать своё развитие.

Семён Гозман, один из создателей YoptaScript

Старались придерживаться хоть какой-то логики. Например в методах, "create" у нас обозначен как "намутить", или, например, "document" -> ксива, "event" -> шняга и так далее. Потому например createEvent() - намутитьШнягу() в йопте, но сообщество активно предлагает свои правки в язык и мы стараемся все их учитывать.

Семён Гозман, один из создателей YoptaScript

В 2014 году финский программист Лори Хартикка (Lauri Hartikka) опубликовал на Github описание и компилятор языка программирования ArnoldC. В качестве команд в ArnoldC используются цитаты героев Арнольда Шварценеггера.

Пожалуй, это лучшая новость. Че кумекаете, пацаны?

В России разработали «первый в мире скриптовый язык программирования для гопников и реальных пацанов ». Выпускники Петербургского колледжа назвали свой проект YoptaScript, главной целью которого — позволить «четким пацанам быстро влиться в ряды программистов ».

Как стало известно сайт, на идею авторов вдохновило происшествие, которое имело место в середине 2016 года. Будущие программисты, учащиеся колледжа информационных технологий, грабили школьников, которые пытались продавать товары через интернет. Издание Piter.tv назвало грабителей «гопниками-программистами », для которых авторы и решили создать новый язык.

Разработчики позаимствовали отдельные выражения и слова из «Краткого словаря блатного жаргона» и «Гопнического стиля речи». Отдельные фразеологизмы позаимствовали, наблюдая за отдельными «представителями четких пацанов». Причем авторы не брезговали включать в список названия стандартных методов и служебных слов нецензурную лексику. В результате получился YoptaScript, который транслируется в чистый JavaScript.

По правилам JavaScript единица действия кода должна заканчиваться точкой с запятой. Но, чтобы облегчить язык для «определенных слоев населения », ее заменили на слово «нах». Записать информацию на страницу можно приблизительно следующим кодом: «ксива.малява(" Оно работает ") нах». Объявить переменные можно с помощью слова «гыы», задать условие с помощью слова «вилкойвглаз», а начать цикл словом «потрещим». По задумке авторов, для «четких пацанов» код должен становиться куда понятнее.

В сообществе программистов «/dev/null» новость восприняли почти 2 тысячами лайков и 3 сотнями репостов. Многим авторам комментариев YoptaScript напомнил 1С, в котором код пишется на русском языке кириллицей. Некоторые отметили, что их прежде посещала подобная идея, а другие просто назвали YoptaScript шедевром.

Стоит отметить, что в изобретении новых языков программирования специалисты из России отличаются уже не первый раз. По данным сайт, в декабре 2014 года программист из Санкт-Петербурга разработал эзотерический язык программирования Petooh, все команды в котором можно записать на «языке кур и пехтухов».