Bram Moolenaar, автор Vim, представил вниманию общественности новый экспериментальный язык программирования Zimbu.
Язык предназначен для написания новых программ, например текстовых редакторов, и сочетает в себе полезные идеи из Java, Python, C, C++, D, Ruby, Boo и Groovy (в порядке убывания полезности), избегая при этом присущих этим языкам недостатков.
Интересными находками следует признать встроенный в язык контроль стиля (например, отсутствие пробелов вокруг знака "=" приводит к ошибке компиляции) и использование закрывающей фигурной скобки в качестве ограничителя блоков кода -- например hello.zu выглядит так:
MAIN()
IO.write("Hello, World!\n")
}
В настоящее время доступен транслятор Zimbu в C, способный скомпилировать собственный код, ведется работа над ZWT (Zimbu Web Toolkit) и Zim (тектовый редактор). © http://linux.org.ru
Сайт: http://www.zimbu.org/ :
Допустим вы хотите написать новую программу, например, текстовый редактор. Какой язык выбрать?
- Программа должна быть настолько быстрой, насколько это возможно, поэтому интерпретируемые языки отпадают.
- Вам не хочется заморачиваться на тонкостях управления памятью, поэтому отпадает С
- Вам не хочется искать программистов с докторской степенью, поэтому отпадает С++
- Вам хочется быстрого старта, который не тянет за собой толстой среды исполнения, поэтому отпадает Java
- Программа должна запускаться на максимальном числе систем: везде где есть компилятор С, поэтому D отпадает
- Хочется поиграться с чем-нить новым
Поскольку ни один из существующих языков не отвечает требованиям, давайте создадим новый, который удовлетворяет.
Zimbu - экспериментальный язык программирования, для практического использования. Он соединяет хорошие стороны существующих языков, и вносит новые идеи.
Цели:
- легко читать: код читается в N раз больше, чем пишется
- избегать типичных ошибок - сделать язык на котором сложно писать плохой код(но вы можете попробовать его похакать на этот счет, если вам это действительно нужно)
- компактность и прозрачность: не декларировать одних и тех же вещей дважды, никаких хэдеров, никаких повторяющихся объявлений
- эффект объявления должен быть предсказуем, и не зависеть от чего-то что храниться в другом файле
- efficient execution: no startup delay, reasonable memory use - no Just In Time compiler effects (сорри сходу не переведу нормально)
- рассчитанный на написание самых разных приложений: ядро ОС, простой скрипт, большая ГУИ
- портабельность - возможность скомпилировать одно и то же на самых разных системах
- большое количество стандартных типов, модулей и классов - практически все что вам необходимо должно уже быть.