|
|
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
Ну вот я вернулся с отдыха, поэтому можно продолжить по стопам вот этой темы размышления на тему очень короткого и компактного языка программирования. Поскольку в той темы совершенно абстрактный первый пост, здесь начну больше с конкретики и вводной в новосозданный язык. Для начала давайте определим, для чего вообще нужен еще один из тысяч языков. Основная цель - это создать очень компактный, черезвычайно легкий в понимании и отладке и при этом мощный язык программирования. На мой взгляд существующие языки в этом классе неоправданно сложны, напоминают шифр и просто мало популярны. Пренебречь можно - скоростью работы интерпретатора, основная цель это разработка синтаксиса. Хороший и быстрый интерпретатор можно отложить на перспективу. Условия разработки - проект интерпретатора будет разрабатываться как опен сорс на шарпе. Использоваться будет - пока что в академических целях Итак пока я ехал вчера домой, появилось несколько мыслей о наброске синтаксиса и вчера же поспешил создать кое-какой интерпретатор для синтаксиса. Последняя обновленная его версии с исходниками будет лежать на моем сайте, точная ссылка на дистрибутив будет попозже. Вводная в язык: Традиционно знакомство с создания простейшей программы Hello World! На языке RS это будет выглядеть так: Код: plaintext 1. Оператор апостроф говори о обьединении всех элементов от него слева Но можно записать и короче ( это же ультракороткий язык ). Код: plaintext 1. Эта строка тоже выведет фразу Hello World! Основные арифметические операции будут выглядеть традиционно: Код: plaintext Примечание: скобки пока в интерпретаторе не поддерживаются сделаю попозже Обьявить обычную переменную можно так Код: plaintext 1. Здесь мы обьявляем переменную и присваиваем ей значение 5 Обьявить массив целых чисел, допустим от 1 до 9 можно так: Код: plaintext 1. Можно и динамически указать диапазон массива. Код: plaintext 1. 2. 3. В первой строчке мы создали и проинициализировать переменную значением 5, во второй создали массив с значениями 3,4,5. В третьей строчке массив с значениями 5,6. Теперь мы можем написать свою первую программу, например нахождения факториала. Код: plaintext 1. 2. Над синтаксисом функции я еще думаю, поэтому первым параметром и инициализирую и обьявляю единственный параметр. Далее мы создаем массив, который начинается с единицы и заканчивается 5. Знак в конце строки * означает перемножить все элементы. (если будет + значит просуммировать, / поделить и тд) К слову на языке К эта программа занимала 6 байт у нас 3 байта, прогресс на лицо :) Следующим шагом будет создания программы проверки простое или число (в К 10 байт ) и сортировка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 10:30 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudio Но можно записать и короче ( это же ультракороткий язык ). Код: plaintext 1. Ооо вот оно. СБЫЛОСЬ !!!! Появился специальный ОПЕРАТОР для вывода HelloWorld-а !!!!!! Вы серьезно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 10:42 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)rstudio Но можно записать и короче ( это же ультракороткий язык ). Код: plaintext 1. Ооо вот оно. СБЫЛОСЬ !!!! Появился специальный ОПЕРАТОР для вывода HelloWorld-а !!!!!! Вы серьезно? а не кажется ли, что длинновато получилось? хэлловорлд должен появляться при интерпретировании пустого кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 10:54 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
Ничто не сравнится с HQ9+ . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 11:04 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudio Примечание: скобки пока в интерпретаторе не поддерживаются сделаю попозже Он над нами издевался, ну.. (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 11:09 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
eNoseGluk (Kazan)rstudio Но можно записать и короче ( это же ультракороткий язык ). Код: plaintext 1. Ооо вот оно. СБЫЛОСЬ !!!! Появился специальный ОПЕРАТОР для вывода HelloWorld-а !!!!!! Вы серьезно? а не кажется ли, что длинновато получилось? хэлловорлд должен появляться при интерпретировании пустого кода. отличная идея, сегодня же прийду домой и реализую эту фичу. Ато в HQ9+ хеллоу ворлд пишется в 1 байт а у меня в 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 11:46 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)rstudio Но можно записать и короче ( это же ультракороткий язык ). Код: plaintext 1. Ооо вот оно. СБЫЛОСЬ !!!! Появился специальный ОПЕРАТОР для вывода HelloWorld-а !!!!!! Вы серьезно? тиха, все очень серьезно :) Я уже знаю как запишется проверка на самое простое число: Код: plaintext 1. 2. 5 байт. В К вообще недопустимо длинная программа - 10 байт. Примечание: В интерпретаторе операция найти минимум и деление с остатком пока не поддерживается) Итак читается программа очень просто. С преведущего вводного курса молодого бойца мы знаем что 2х генерит массив с границы 2 по границу Х. Все переменные в RS начинаются с большой буквы. Если буква маленькая то это автоматический декремент на единицу. Тоесть Код: plaintext 1. 2. даст 6. Итак развернется в Код: plaintext Далее деление с остатком числа на массив даст новый массив с результатами от деления. Операция < в начале находит минимум в этом ряду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:00 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudio, со скобками - не заморачивайтесь, вполне можно обойтись обратной польской записью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:26 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
Изопропилrstudio, со скобками - не заморачивайтесь, вполне можно обойтись обратной польской записью с одной стороны подходит в концепцию ультра читаемых строк кода, где в конце всегда стоит операция которая применяется ко всем числам ряда слева. В переди стоят фильтрующие операторы. С другой стороны вродь как со скобками более интуитивно понятно. Нужно подумать. Польская хорошо будет читаться для рядового программиста ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:34 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudio тиха, все очень серьезно :) ... Все переменные в RS начинаются с большой буквы. Если буква маленькая то это автоматический декремент на единицу. А если мне надо напечатать 'h' ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:34 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudioПольская хорошо будет читаться для рядового программиста ? Для рядового форт-программиста, безусловно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:35 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) А если мне надо напечатать 'h' ??? ну мы же уже решили, в новой версии интерпретатора будешь печатать свое h' а размер программы хеллоу ворлд будет составлять 0 байт (чтобы не превзошли) и выводиться по дефолту на пустой листинг программы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:37 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudio, А два хелловорлда как вывисти? Два пустых штоле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:40 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudioПольская хорошо будет читаться для рядового программиста ? Программируют же люди на Forth ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:41 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
ShSerge А два хелловорлда как вывисти? Два пустых штоле? h*2' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:41 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
ИзопропилrstudioПольская хорошо будет читаться для рядового программиста ? Программируют же люди на Forth Угу. Программы на форте традиционно супер нечитабельные. Их сами программисты через месяц не понимают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:43 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
ShSergerstudio, А два хелловорлда как вывисти? Два пустых штоле? шоб два хелоу ворда вывести программа будет выглядеть так Код: plaintext 1. или так Код: plaintext 1. я еще не решил как разделять строки и как модули :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:50 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudioShSergerstudio, А два хелловорлда как вывисти? Два пустых штоле? шоб два хелоу ворда вывести программа будет выглядеть так Код: plaintext 1. или так Код: plaintext 1. я еще не решил как разделять строки и как модули :) Whitespace рулит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:53 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
век воли не видать Угу. Программы на форте традиционно супер нечитабельные. Их сами программисты через месяц не понимают :) Нет, здесь все будет ультра читабельна. Сортировка запишется примерно так: Код: plaintext 1. 2. Дословной расшифровывается так. Объявлем массив с четырех элементов. Комбинируем элементы в этом массиве (^) до тех пор пока не выполнится условие (=) когда все элементы не равны между собой (!) и когда они друг друга меньше (<) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 12:55 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
а вотета задача, набившая всем оскомину запишется примерно так Код: plaintext 1. 2. это если точно нужно найти 76 и если нужно найти наиболее приближенное решение то Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 13:03 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
сегодня/завтра думаю реализую ето в интерпретаторе RS, завтра будет новая версия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 13:08 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
rstudio Для начала давайте определим, для чего вообще нужен еще один из тысяч языков. Основная цель - это создать очень компактный, черезвычайно легкий в понимании и отладке и при этом мощный язык программирования. На мой взгляд существующие языки в этом классе неоправданно сложны, напоминают шифр и просто мало популярны. Если не будет ничего оригинального теоретически (новые принципы, иные взгяды, ) или практически, то - пустая трата времени. Или пост - всё же шутка? Потрепаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 13:20 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
есть всего два критерия: 1. Простота понимания. Схематическое представление выражений. Чтобы бросив взгляд сразу можно было разложить все по полочкам в уме и понять что за что отвечает. 2. Ультра короткие программы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 13:32 |
|
||
|
Ультракороткий язык программирования RS
|
|||
|---|---|---|---|
|
#18+
пока что все примеры никак не подходят под категорию "простота понимания"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2010, 14:03 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36717230&tid=1342062]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 543ms |

| 0 / 0 |
