Programming
System Programming
Compilers
June 3

Вышла бета-версия Odin — ещё одного языка программирования



Независимый разработчик, Бил Джинжер, представил Odin 0.10.0 — бета-версию языка программирования, которым он занимается с 2016 года. Новый язык сочетает элементы Pascal, C, Go, Oberon и напоминает гибрид Go c Rust. Исходный код, FAQ и документацию Odin можно найти на GitHub и сайте проекта.

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 %d\n",
               program, accumulator);
}

Пример программы на Odin

У Odin нет отдельной killer feature, так как при его разработке основной целью было создание быстрого, простого и очевидного языка, который мог бы заменить С. Из-за этого в Odin, например, отсутствуют исключения, нет методов и перегрузки операторов.

Функции и методы объединены в процедуры, которым соответствует оператор proc. Также, как и во всех языках на основе С, в Odin используется наследование, при котором процедура получает копию исходного значения также, как при отдельном операторе присваивания.

Из интересных особенностей у Odin есть:

  • встроенные типы: строки, срезы, массивы, динамические и ассоциативные массивы, 128-битные целые числа и целые числа с прямым и обратным порядком байтов.
  • множественные возвращаемые значения;
  • параметрический полиморфизм;
  • compile-time вычисления;
  • указатели и аллокаторы памяти;
  • однострочные //, многострочные /* и Hash-bang #! комментарии;
  • явная перегрузка процедур;
  • Rune — базовый тип для отдельных символов Unicode.

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-игр с его применением.

+21
11.5k 8
Support the author
Comments 60
Top of the day