ПРЕДИСЛОВИЕ
Родилась идея создать язык:
А) Простой
Б) Ультракороткий
Для начала давайте определим, для чего вообще нужен еще один из тысяч языков.
Основная цель — это создать очень компактный, черезвычайно легкий в понимании и отладке и при этом мощный язык программирования. На мой взгляд существующие языки в этом классе неоправданно сложны, напоминают шифр и просто мало популярны.
Кодить на нем будет действительно просто и быстро. Ну скажем микро программки вроде реверса, палиндрома, фибоначчи или факториала до 1 минуты.
А закодить шахматы займет ну может 1 час.
Пренебречь можно — скоростью работы интерпретатора, основная цель это разработка синтаксиса. Хороший и быстрый интерпретатор можно отложить на перспективу.
Условия разработки — проект интерпретатора будет разрабатываться как опен сорс на шарпе.
Использоваться будет — пока что в академических целях
ВВОДНАЯ В ЯЗЫК
Традиционно знакомство с создания простейшей программы начинается с Hello World!
На языке RS это будет выглядеть так:
'Hello World!
Но можно записать и короче ( это же ультракороткий язык ).
[Пустая строка]
Эта строка тоже выведет фразу Hello World!
Основные арифметические операции будут выглядеть традиционно:
(2+3)*8/2+1
Примечание: скобки пока в интерпретаторе не поддерживаются сделаю попозже
Обьявить обычную переменную можно так
Х:=5
Здесь мы обьявляем переменную и присваиваем ей значение 5
Обьявить массив целых чисел, допустим от 1 до 9 можно так:
1..9
Можно и динамически указать диапазон массива.
Х:=5
Arr:=1..X
Теперь мы можем написать свою первую программу, например нахождения факториала.
1..5\*
ДРУГИЕ ПРИМЕРЫ
Еще примеры программ:
//2. фибоначчи
E X:=1..10
E X.(I+2):=X.I+X.(I+1)
E X
//3. сортировка пузырьком
E X:=1..10
E X.I>X.J?X.I:=:X.J
E X
//4. палиндром
E X:=1,2,3,2,1
E B:=True
E B:=B&(X.(5/2-I)=X.(5/2+I))
E B
//5. revers
E X:=1..5
E X.(5/2-I):=:X.(5/2+I))
E X
//6. проверка на простое число
E X:=6
E X%2..(X-1)\<
Родилась идея создать язык:
А) Простой
Б) Ультракороткий
Для начала давайте определим, для чего вообще нужен еще один из тысяч языков.
Основная цель — это создать очень компактный, черезвычайно легкий в понимании и отладке и при этом мощный язык программирования. На мой взгляд существующие языки в этом классе неоправданно сложны, напоминают шифр и просто мало популярны.
Кодить на нем будет действительно просто и быстро. Ну скажем микро программки вроде реверса, палиндрома, фибоначчи или факториала до 1 минуты.
А закодить шахматы займет ну может 1 час.
Пренебречь можно — скоростью работы интерпретатора, основная цель это разработка синтаксиса. Хороший и быстрый интерпретатор можно отложить на перспективу.
Условия разработки — проект интерпретатора будет разрабатываться как опен сорс на шарпе.
Использоваться будет — пока что в академических целях
ВВОДНАЯ В ЯЗЫК
Традиционно знакомство с создания простейшей программы начинается с Hello World!
На языке RS это будет выглядеть так:
'Hello World!
Но можно записать и короче ( это же ультракороткий язык ).
[Пустая строка]
Эта строка тоже выведет фразу Hello World!
Основные арифметические операции будут выглядеть традиционно:
(2+3)*8/2+1
Примечание: скобки пока в интерпретаторе не поддерживаются сделаю попозже
Обьявить обычную переменную можно так
Х:=5
Здесь мы обьявляем переменную и присваиваем ей значение 5
Обьявить массив целых чисел, допустим от 1 до 9 можно так:
1..9
Можно и динамически указать диапазон массива.
Х:=5
Arr:=1..X
Теперь мы можем написать свою первую программу, например нахождения факториала.
1..5\*
ДРУГИЕ ПРИМЕРЫ
Еще примеры программ:
//2. фибоначчи
E X:=1..10
E X.(I+2):=X.I+X.(I+1)
E X
//3. сортировка пузырьком
E X:=1..10
E X.I>X.J?X.I:=:X.J
E X
//4. палиндром
E X:=1,2,3,2,1
E B:=True
E B:=B&(X.(5/2-I)=X.(5/2+I))
E B
//5. revers
E X:=1..5
E X.(5/2-I):=:X.(5/2+I))
E X
//6. проверка на простое число
E X:=6
E X%2..(X-1)\<
23.12.10 14:12: Перенесено модератором из 'Философия программирования' — kochetkov.vladimir
26.09.11 16:41: Перенесено из 'Компьютерные священные войны'