Scriptol
Scriptol — это современный простой язык программирования.
Scriptol | |
---|---|
Класс языка | язык программирования |
Появился в | 12 октября 2001 |
Автор | Denis Sureau |
Выпуск | Scriptol 3 (2016) |
Система типов | статическая и динамическая |
Испытал влияние | PHP, C++ |
Лицензия | Mozilla 1.1, Open source, BSD license. |
Сайт | scriptol.com/scriptol/ |
ОбзорПравить
Scriptol разрабатывался как простой, безопасный и универсальный язык программирования, позволяющий создавать динамические веб-страницы, сценарии и исполняемые приложения. Scriptol интегрирует XML в качестве источника или загружаемого файла. Является современным, объектно-ориентированным, процедурным языком. Scriptol компилируется в PHP компилятором Scriptol PHP. Компилятор превращает скрипт Scriptol в код PHP или HTML-страницу с внедренным Scriptol, содержащие PHP-инструкции. По сути, он превращает PHP в виртуальную машину или сервер функций и данных, байткодом для которого является язык PHP. Ядро языка общее для PHP и C++, что позволяет использовать один и тот же язык программирования и для веб-страниц, и для приложений. Наряду с прозрачностью, читаемостью и безопасностью, обеспечиваемыми синтаксисом, Scriptol сокращает время разработки, проверяя ошибки на стадии компиляции.
Scriptol был создан в соответствии с семью правилами: простота, безопасность, соответствие стандартам, объективность, несколько направлений, мобильность, легкое обучение. Scriptol программа может быть построена как исполняемый файл. Управляющие структуры более мощные и отличаются от классических языков, что позволяет эффективнее использовать шаблоны и автоматов (DFA). Безопасность является одной главной целью языка.
Компилятор бесплатен для независимых разработчиков, лицензия требуется только для компаний. Сайт разработчиков — www.scriptol.com.
Описание языка программирования ScriptolПравить
Scriptol является современным языком программирования, предназначенным для простой и легкой разработки, что сказывается на сроках создания, высоком качестве и безопасности проектов. Scriptol является объектно-ориентированным, XML-ориентированным, расширяемым, универсальным, использует C++, PHP, Java API и GTK для графического интерфейса пользователя. Scriptol универсален, что означает, что удобен для сценариев, для создания приложений или для динамических веб-страниц. Бесплатный интерпретатор и компилятор языка Scriptol доступны на Windows и Unix.
Особенности ScriptolПравить
- современный: был разработан в соответствии с семью правилами простоты, безопасности и не несет устаревшего синтаксиса.
- универсальный: подходит для приложений, скриптов или веб-страницы.
- объектно-ориентированный: даже примитивные типы данных, такие как «Int» (например, 123), являются объектом и имеет методы.
- приведение типов: компилятор может проверить программу и тип переменных, это не представляется возможным с обычно нетипизированных языков сценариев.
- естественный: типы переменных не на основе компьютерного оборудования, а на человеческом понимании или математическом множестве: это text, number, integer, real и т.д…
- мощный и безопасный: введены новые структуры управления
Примеры: - композитный if, который является одновременно if оператором и switch case с любым типом значения. - while let, что защищает от бесконечного цикла. - for .. in массиве, или for .. in a..b, самый простой способ работы с интервалами.
- простой: нет символов as -> or ::, просто точка в любом случае.
Добавить 1 к х: х + 1, а не х += 1. Не требуется управления памятью, т.к. есть сборщик мусора.
- совместим с C++: у вас есть только ссылка на C++ объектные файлы или библиотеки файлов, и используемые функции, которые они выполняют, не любое расширение необходимых для записи!
Например, нужно всего лишь импортировать библиотеки GTK в файл конфигурации Scriptol для использования GTK-интерфейса...
- PHP совместим: вы можете запрограммировать веб-страниц в Scriptol, ваш код сконвертируется в PHP, и все функции PHP также могут быть использованы.
- портативный: работает на любой PHP или Си совместимой платформе.
- XML-ориентированный: XML-документ является структурой данных языка и модель DOM является классом интегрированной библиотеки. Использование XML становится чрезвычайно простым со Scriptol.
- многозадачный. Функция может возвращать несколько значений.
- индексированные или ассоциативные массивы.
- можно использовать API-интерфейсы в PHP, Java или C++.
Зачем использовать Scriptol?Править
В основном для:
- встраивания кода в страницы HTML. Он будет работать на любом сервере. Использование PHP 4.
- защиты кода путём распределения исполняемого файла.
- легкой и быстрой разработки сценариев, благодаря синтаксису высокого уровня. Это чистый и мощный язык, очень интуитивный.
- создания прототипов, проверки Scripts-программ и C-кода интерпретатором, прежде чем получаем исполняемый файл для включения в крупный проект.
- создания приложений и веб-приложений: Scriptol может быть интегрирован в инструменты быстрой разработки приложений и может использовать кросс-платформенной GUI-библиотек GTK. Scriptol не нужен для Makefile или любого файла проекта. Scriptol-скрипты могут быть скомпилированы в PHP, поэтому он является портативным. Компилятор обнаруживает ошибки перед запуском программы.
- обработки документов, сохраненных как XML, и другими приложениями.
- формирования XML-документов или HTML-страниц из любого источника.
- создания и использования баз данных и легкого связывания какой-либо обработки данных.
Также может быть использована вместе с RAD (Rapid Application Development) инструментом, таким как C++ Builder или Visual Studio.
ЯзыкПравить
СинтаксисПравить
- Выражения заканчиваются концом строки
- Аналогично XML-признак конца структуры: /if, /while и т.д…
- Каждый оператор имеет только одно использование, а не несколько соответствий в контексте, как в C.
- Скалярные типы данных из реальной жизни: text, number, real и т.д…
- Соединение выражения имеет вид:
x + 1 // равнозначно: x = x + 1
Структуры данныхПравить
Scalars, xml, class.
Управляющие структурыПравить
- if … else, composite if
- for … in … step
- while … let
- do case … while, do case … until
- scan by
- break, continue, return
Обратите внимание, что Scriptol не использует switch case
, потому что if
достаточно мощный для обработки различных видов условий и фактически более мощный, чем switch case
, поскольку он может использовать различные операторы сравнения.
Композитный IfПравить
if a
= 10: print "equal"
< 10: print "less"
else
print "more"
/if
WhileПравить
В то время как структура имеет несколько форм, let защищает от бесконечного цикла.
while x < 10
print x
let x + 1
Определение функцийПравить
Заголовок похож на С, но несколько типов могут быть возвращены одновременно. Завершается return оператором и только ключевым словом, если ничего не возвращается.
int, text funcname(... arguments...)
...statements...
return a, b
Сравнение кода Scriptol и PHPПравить
Код Scriptol является интуитивно понятным и простым. Вместо этого синтаксис PHP подобен Си, Perl и языкам командной оболочки UNIX(Bash), направленным на ограничение потребления ресурсов, а не для упрощения задачи программистов.
Код Scriptol:
text x
input "Y/N?", x
if x.lower()
= "y"
print "yes"
= "n"
print "no"
else
print "What?"
/if
Сгенерированный код PHP:
<?php
$x="";
echo "Y/N?";
$fp=fopen("php://stdin","r");
$x=rtrim(fgets($fp,65536));
fclose($fp);
$_I1=strtolower($x);
if($_I1==="y")
{
echo "yes", "\n";
}
else
{
if($_I1==="n")
{
echo "no", "\n";
}
else
{
echo "What?", "\n";
}
}
?>
Примеры кодаПравить
Пример № 1Править
Простая программа «Hello World»
int main(int argsize, array arglist)
print "Hello World\n"
return 0
main($argc, $argv)
Пример № 2Править
constant int fmax = 16
int z
int fib(int n)
if n <= 1
z = n
else
z = fib(n - 1) + fib(n - 2)
/if
return z
for int i in 0..fmax
print "fib($i)= " , fib(i)
/for
Пример № 3Править
Внедрение кода Scriptol в HTML:
<html>
<head> </head>
<body>
<?sol
print "code embedded inside html!"
?>
</body>
</html>
Пример № 4Править
Слияние и отображение списков:
listdemo = (1,2,3) + (4,5)
subdemo = listdemo[1..3]
scan subdemo
print subdemo[]
/scan
>>> should print: 2 3 4
Пример № 5Править
«99 бутылок пива» демонстрирует простейшее применение циклов:
text bottle(int n)
if n = 0 return "no more bottles of beer"
return text(n) + " bootle" + plural(n) + " of beer"
text b1
for int i in 99 -- 0 step -1
b1 = bottle(i)
if i > 0
print b1, "on the wall,", b1 + ","
print "take one down, pass it around,"
print bottle(i - 1), "on the wall."
/if
/for
СсылкиПравить
Для улучшения этой статьи желательно:
|
На эту статью не ссылаются другие статьи Википедии. |