- PVSM.RU - https://www.pvsm.ru -
Независимый разработчик, Бил Джинжер, представил Odin 0.10.0 — бета-версию языка программирования, которым он занимается с 2016 года. Новый язык сочетает элементы Pascal, C, Go, Oberon и напоминает гибрид Go c Rust. Исходный код, FAQ и документацию Odin можно найти на GitHub [1] и сайте проекта [2].
package main
import "core:fmt"
main :: proc() {
program := "+ + * - /";
accumulator := 0;
for token in program {
switch token {
case '+': accumulator += 1;
case '-': accumulator -= 1;
case '*': accumulator *= 2;
case '/': accumulator /= 2;
case '': accumulator *= accumulator;
case: // Ignore everything else
}
}
fmt.printf("The program "%s" calculates the value %dn",
program, accumulator);
}
Пример программы на Odin
У Odin нет отдельной killer feature, так как при его разработке основной целью было создание быстрого, простого и очевидного языка, который мог бы заменить С. Из-за этого в Odin, например, отсутствуют исключения, нет методов и отдельного оператора перегрузки.
Функции и методы объединены в процедуры, которым соответствует оператор proc. Также, как и во всех языках на основе С, в Odin используется наследование, при котором процедура получает копию исходного значения также, как при отдельном операторе присваивания.
Из интересных особенностей у Odin есть:
Odin доступен на Windows, Linux и MacOS с лицензией BSD 2-Clause license. Чтобы попробовать его на Windows, нужно скачать исходники Odin, скомпилировать код в Visual Studio, затем добавить файлы в архив с LLVM и переместить его в каталог Odin. После этого можно запустить командную строку Visual Studio и выполнить build.bat в каталоге Odin. Для запуска на MacOS и Linux нужно установить llvm и clang и использовать команду make или ./build.sh, чтобы получить свежий компилятор Odin.
На GitHub примеров использования Odin ещё нет, но автор уже задействовал его в своём проекте Digital Audio Workspace, также есть несколько 3D-игр с его применением.
Автор: Mimizavr
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/319729
Ссылки в тексте:
[1] GitHub: https://github.com/odin-lang/Odin
[2] сайте проекта: https://odin-lang.org/
[3] Источник: https://habr.com/ru/post/454650/?utm_campaign=454650
Нажмите здесь для печати.