The Odin programming language is designed with the intent of creating an alternative to C with the following goals:
- simplicity
- high performance
- built for modern systems
- joy of programming
Website: https://odin-lang.org/
Documentation:
User Libraries:
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); }
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);
} [/code]
Demonstrations:
- First Talk & Demo
- Composition & Refactorability
- Introspection, Modules, and Record Layout
- push_allocator & Minimal Dependency Building
- when, for & procedure overloading
- Context Types, Unexported Entities, Labelled Branches
- Bit Fields, i128 & u128, Syntax Changes
- Default and Named Arguments; Explicit Parametric Polymorphism
- Loadsachanges
- Packages, Bit Sets, cstring