DevotionGeo
The Odin Programming Language
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, 128-bit integers, endian-specific integers
- Multiple return arguments
- Consistent value declaration syntax
- Parametric polymorphism
-
Compile time conditions (
whenstatements) and stress where there is not full blown compile time execution deferstatementusingstatement- The implicit
contextsystem and memory allocator system - Explicit procedure overloading
(Copied from the homepage).
Most Liked
OvermindDL1
Interesting⦠How does it compare to Zig that seems to have the same goals?
3
DevotionGeo
I didnāt use it yet, but the first thing I noticed is syntactical similarity to Go, the short variable declaration operator, defer keyword, absence of parenthesis around conditions in conditionals, even names of the packages and methods like fmt.printf.
3
kokolegorille
I also thought it looked like go
How to choose between go, rust or zig? 
3
Popular General Dev topics
Reading something? Working on something? Planning something? Changing jobs even!?
If youāre up for sharing, please let us know what youā...
New
If you had the ear of a language creator, what would you say - what could they do to make a language that you would use? :upside_down_face:
New
I just watched this:
(tldr: remove bad choices so you donāt need to use willpower)
It got me thinking about ways to incre...
New
Curious to know which languages and frameworks youāre all thinking about learning next :upside_down_face:
Perhaps if thereās enough peop...
New
Great paper by Igor Kopestenski on Erlang and GRiSP: Erlang as an Enabling Technology for Resilient General-Purpose Applications on Edge ...
New
In their weekly newsletter, Jared Santo from the Changelog shared this blog post by Mark Ericksen over at fly.io:
What is really inter...
New
Hi folks,
I donāt know if I saw this here but, hereās a new programming language, called Roc
Reminds me a bit of Elm and thus Haskell. ...
New
I am thinking about getting a fitness tracker of some kind (probably one from Garmin). Have any of you developed your own widgets, watchf...
New
New
Iām working on a C++ program where I need to convert a string containing a numeric value into an integer. I want to ensure that this conv...
New
Other popular topics
Reading something? Working on something? Planning something? Changing jobs even!?
If youāre up for sharing, please let us know what youā...
New
If itās a mechanical keyboard, which switches do you have?
Would you recommend it? Why?
What will your next keyboard be?
Pics always w...
New
No chair. I have a standing desk.
This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
Small essay with thoughts on macOS vs. Linux:
I know @Exadra37 is just waiting around the corner to scream at me āI TOLD YOU SO!!!ā but I...
New
Author Spotlight
Jamis Buck
@jamis
This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
Author Spotlight:
Peter Ullrich
@PJUllrich
Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
Hello,
Iām a beginner in Android development and Iām facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
Node.js v22.14.0 has been released.
Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 Ā· nodejs/node Ā· GitHub
New
Categories:
Sub Categories:
- All
- In The News (11326)
- Dev Chat
- Questions (37)
- Resources (122)
- Blogs/Talks (29)
- Jobs (3)
- Events (15)
- Code Editors (59)
- Hardware (60)
- Reviews (5)
- Sales (16)
- Design & UX (5)
- Marketing & SEO (2)
- Industry & Culture (14)
- Ethics & Privacy (19)
- Business (4)
- Learning Methods (7)
- Content Creators (7)
- DevOps & Hosting (14)
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /java
- /clojure
- /emacs
- /typescript
- /haskell
- /svelte
- /onivim
- /kotlin
- /c-plus-plus
- /react
- /crystal
- /tailwind
- /gleam
- /ocaml
- /elm
- /vscode
- /flutter
- /html
- /ash
- /deepseek
- /zig
- /opensuse
- /centos
- /php
- /scala
- /react-native
- /lisp
- /sublime-text
- /textmate
- /debian
- /nixos
- /agda
- /deno
- /django
- /kubuntu
- /arch-linux
- /nodejs
- /ubuntu
- /spring
- /revery
- /manjaro
- /julia
- /lua
- /diversity
- /quarkus
- /markdown









