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
Example Code
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); } Language Features
- Built-in types: strings, array, slices, dynamic arrays, maps, – bit integers, endian-specific integers
-
Multiple return arguments
- Consistent value declaration syntax
- Parametric polymorphism
-
(Compile time conditions ( when
statements) and stress where there is not full blown compile time execution
-
defer
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); }Language Features
- Built-in types: strings, array, slices, dynamic arrays, maps, – bit integers, endian-specific integers
-
Multiple return arguments
- Consistent value declaration syntax
- Parametric polymorphism
when
statements) and stress where there is not full blown compile time execution -
defer
statement
statement
context
system and memory allocator system
GIPHY App Key not set. Please check settings