Crack — попытка построить статически типизированный язык программирования для написания скриптов. Crack идеологически близок к C++, компилирует скрипт перед выполнением без сохранения на диск (с помощью LLVM), и передаёт управление машинному коду. Так что работать должно быстро.
Crack не претендует на то, чтобы быть интерактивным шеллом: если нет файла с полным текстом скрипта или файл не проходит синтаксический анализ — следует реакция типа "давай, до свидания".
Управление памятью автоматическое, на основе подсчёта ссылок. Циклические ссылки и утечки памяти, ими вызванныешерифа никоим образом не беспокоят — это забота программиста. Безопасная модель памяти, в том числе нет сырых указателей. Функции в языке — жители первого класса. Есть классы и шаблонные классы (их аргументы задаются в квадратных скобках, чтобы не сводить с ума лексический анализатор). Есть автоматический вывод типов (здесь на синтаксис нового языка больше влияния оказал Go, чем C++11). Есть исключения. Аналоги коллекций STL являются встроенными типами языка. Строки иммутабельны, как в Go.
Авторам языка хватило ума не навязывать программистам стиль расстановки отступов, фигурных/круглых скобок и переносов строк. Авторам языка хватило ума не делать автоматическую расстановку точек с запятой в конце инструкций.
http://www.mindhog.net/~mmuller/projects/crack/Manual-0.7.html
https://code.google.com/p/crack-language/
Многопоточность, как тяжёлая, так и лёгкая, пока не проработана. А зачем в скриптах многопоточность?
Crack не претендует на то, чтобы быть интерактивным шеллом: если нет файла с полным текстом скрипта или файл не проходит синтаксический анализ — следует реакция типа "давай, до свидания".
Управление памятью автоматическое, на основе подсчёта ссылок. Циклические ссылки и утечки памяти, ими вызванные
Авторам языка хватило ума не навязывать программистам стиль расстановки отступов, фигурных/круглых скобок и переносов строк. Авторам языка хватило ума не делать автоматическую расстановку точек с запятой в конце инструкций.
http://www.mindhog.net/~mmuller/projects/crack/Manual-0.7.html
https://code.google.com/p/crack-language/
Многопоточность, как тяжёлая, так и лёгкая, пока не проработана. А зачем в скриптах многопоточность?