Начал разработку русского языка программирования.
Сокращенно: РЯП.
Ну и, как следствие, начал разработку интерпретатора РЯП.
РЯП напоминает язык КуМир, но будут существенные отличия и преимущества в сравнении с другими языками.
Переменные не надо объявлять, так как при первом обнаружении переменной в листинге программы интерпретатор автоматически создаст с таким именем переменную типа Double (вещественное число).
Интерпретатор пишу в 32-битной версии среды разработки «Lazarus» (язык программирования Паскаль).
В ряпе конечно же есть зарезервированные слова: начало, конец, если, цикл.
Но зарезервированные слова можно использовать в качестве имен переменных!
По ссылке можете скачать архив, в нем содержатся бинарник (версия 0.2), простые программы:
архив
Си и Паскаль уйдут, Питон утонет, Яву скурят!
Свободно скачивайте и распространяйте, пишите программки, пишите мне о глюках.
Только, пожалуйста, не делите на ноль! :)
ДОПОЛНЕНИЕ 1 (от 28 февраля 18:30 МСК):
1) Кто-то посмеялся над названием языка, предложил свои варианты.
Прям, как малые дети :)
2) Кто-то вообще не захотел скачивать архив, наверное, даже по ссылке не перешел.
Для кого тогда придумывали URL и вообще всю философию HTTP?
3) Кто-то никак не хочет отлипнуть от английского языка.
Наверное, и шпрехает только на английском, используя слова типа стартап, коммит, заклозь, лайфхак, гамбургер, свитшот.
ДОПОЛНЕНИЕ 2 (от 28 февраля 19:15 МСК):
В скобках привожу латинские аналоги.
Реализованы конструкции языка: начало (begin; начало цикла), цикл (cycle; конец тела цикла), если (if), = (присвоение).
Бинарные операторы: * (умножение), + (сложение), — (вычитание), / (деление), ^ (возведение в степень),
% (процент), mod (остаток от деления на число), and (битовое И), xor (битовое исключающее ИЛИ),
or (битовое ИЛИ), >> (битовый сдвиг вправо).
Унарные команды: ЛИнверт (LInvert; логическое инвертирование переменной), округлить (round; округление вещественного числа до целого числа), показать (show; отобразить имя и значение переменной)
Вот код для вычисления простых чисел:
Результат:
P.S. На перспективу:
— Механизм массивов.
— Вместо присвоения одной переменной можно написать формулу,
в левой части которой может стоять не только переменная, но и операция с другой переменной.
— Анализ кода.
Выдача подробных подсказок программисту.
— Автоматическое переформатирование кода в нужный стиль.
— Имя переменной можно сокращать.
Интерпретатор сам определит, какую переменную из объявленных имели в виду.
— Иногда допускается, что между конструкцией языка (цикл, если) и переменной нет пробела.
— Любой код можно записать в одну строку.
— Объединение нескольких файлов кода в одном файле.
— Любое количество букв в названии конструкции языка.
Сокращенно: РЯП.
Ну и, как следствие, начал разработку интерпретатора РЯП.
РЯП напоминает язык КуМир, но будут существенные отличия и преимущества в сравнении с другими языками.
Переменные не надо объявлять, так как при первом обнаружении переменной в листинге программы интерпретатор автоматически создаст с таким именем переменную типа Double (вещественное число).
Интерпретатор пишу в 32-битной версии среды разработки «Lazarus» (язык программирования Паскаль).
В ряпе конечно же есть зарезервированные слова: начало, конец, если, цикл.
Но зарезервированные слова можно использовать в качестве имен переменных!
По ссылке можете скачать архив, в нем содержатся бинарник (версия 0.2), простые программы:
архив
Си и Паскаль уйдут, Питон утонет, Яву скурят!
Свободно скачивайте и распространяйте, пишите программки, пишите мне о глюках.
Только, пожалуйста, не делите на ноль! :)
ДОПОЛНЕНИЕ 1 (от 28 февраля 18:30 МСК):
1) Кто-то посмеялся над названием языка, предложил свои варианты.
Прям, как малые дети :)
2) Кто-то вообще не захотел скачивать архив, наверное, даже по ссылке не перешел.
Для кого тогда придумывали URL и вообще всю философию HTTP?
3) Кто-то никак не хочет отлипнуть от английского языка.
Наверное, и шпрехает только на английском, используя слова типа стартап, коммит, заклозь, лайфхак, гамбургер, свитшот.
ДОПОЛНЕНИЕ 2 (от 28 февраля 19:15 МСК):
В скобках привожу латинские аналоги.
Реализованы конструкции языка: начало (begin; начало цикла), цикл (cycle; конец тела цикла), если (if), = (присвоение).
Бинарные операторы: * (умножение), + (сложение), — (вычитание), / (деление), ^ (возведение в степень),
% (процент), mod (остаток от деления на число), and (битовое И), xor (битовое исключающее ИЛИ),
or (битовое ИЛИ), >> (битовый сдвиг вправо).
Унарные команды: ЛИнверт (LInvert; логическое инвертирование переменной), округлить (round; округление вещественного числа до целого числа), показать (show; отобразить имя и значение переменной)
Вот код для вычисления простых чисел:
число = 3 конец = 60 начало цикл = число / 5 округлить цикл простое = 1 начало цикл2 = цикл + 1 остаток0 = число mod цикл2 остаток = остаток0 ЛИнверт остаток если остаток простое = 0 цикл = цикл - 1 если остаток цикл = 0 цикл цикл если простое показать число число = число + 2 конец = конец - 1 цикл конец
Результат:
число = 3 число = 5 число = 7 число = 11 число = 13 число = 17 число = 19 число = 23 число = 29 число = 31 число = 37 число = 41 число = 43 число = 47 число = 53 число = 59 число = 61 число = 67 число = 71 число = 73 число = 79 число = 83 число = 89 число = 97 число = 101 число = 103 число = 107 число = 109 число = 113
P.S. На перспективу:
— Механизм массивов.
— Вместо присвоения одной переменной можно написать формулу,
в левой части которой может стоять не только переменная, но и операция с другой переменной.
— Анализ кода.
Выдача подробных подсказок программисту.
— Автоматическое переформатирование кода в нужный стиль.
— Имя переменной можно сокращать.
Интерпретатор сам определит, какую переменную из объявленных имели в виду.
— Иногда допускается, что между конструкцией языка (цикл, если) и переменной нет пробела.
— Любой код можно записать в одну строку.
— Объединение нескольких файлов кода в одном файле.
— Любое количество букв в названии конструкции языка.
Only registered users can participate in poll. Log in, please.
Нужно ли развивать РЯП?
75.33%нет519
23.08%да, и сделать проект открытым159
4.35%да, и сделать проект закрытым30
689 users voted. 97 users abstained.