DEV Community

Cover image for The Ovie Programming Language One Time In Gembu, Taraba
Shedrack Erhabor
Shedrack Erhabor

Posted on

The Ovie Programming Language One Time In Gembu, Taraba

Ovie is a new self-hosted systems programming language built for developers who want low-level power with high-level productivity and a human touch.

Created by Shedrack Erhabor, Ovie draws inspiration from resilience, clarity, and accessibility β€” rooted in Taraba and Southern Kaduna, Nigeria.

Philosophy: Local-First & Sovereign

Ovie is built with a strong local-first philosophy:

  • Works completely offline
  • Deterministic and reproducible builds with SHA-256 verification
  • Minimal external dependencies
  • Self-hosted compiler (the compiler can compile itself)
  • Designed to eventually be 100% written in Ovie (Rust bootstrap is being removed)

The language aims to make systems programming more accessible while keeping full hardware control.

Unique Syntax – "See Am"

One of the most delightful things about Ovie is its natural and welcoming syntax. Instead of the usual print or console.log, Ovie uses seeAm (Nigerian Pidgin for "look at" / "see it").

use std::io

fn main() {
    seeAm "Hello from Ovie! πŸ‡³πŸ‡¬"

    mut name = "Shedrack"
    seeAm "Welcome to " + name
}

main()
Enter fullscreen mode Exit fullscreen mode

Core Features (v2.3.0)

  • Complete Module System: use, import, export, circular dependency detection, and content-based caching.
  • Built-in Package Manager: oviec init, ovie add, ovie install, ovie.lock
  • Aproko Knowledge Base (std::aproko): Powerful static analysis and AI/LLM integration layer.
  • Documentation Enforcement: Requires /// docs on exported items.
  • Multi-backend: LLVM, WebAssembly, and built-in interpreter.
  • Excellent Standard Library with Result, Option, vectors, hash maps, math, file system, testing, etc.
  • Only ~13 keywords β€” very clean and readable.

More Syntax Examples

Functions and Math:

use std::math::{sqrt}

export fn distance(x: Number, y: Number) -> Number {
    return sqrt(x * x + y * y)
}

fn main() {
    mut d = distance(3.0, 4.0)
    seeAm "Distance: " + d   // 5.0
}
Enter fullscreen mode Exit fullscreen mode

Error Handling:

fn main() {
    match riskyOperation() {
        Ok(value) => seeAm "Success: " + value,
        Err(msg) => seeAm "Error: " + msg
    }
}
Enter fullscreen mode Exit fullscreen mode

How to Get Started

  1. Visit the official website: https://ovie.nashedy.io
  2. Download pre-built binaries (Windows, Linux, macOS)
  3. Or use the one-line installer

Quick start:

oviec new my-app
cd my-app
oviec run
Enter fullscreen mode Exit fullscreen mode

GitHub Repository: https://github.com/southwarridev/ovie

The Ovie Book

There is also a free comprehensive book titled β€œOvie in Southern Kaduna” that takes you from first principles to production. Highly recommended for anyone wanting to deeply understand the language.

Final Thoughts

Ovie is still in active development but has made impressive progress with the recent v2.3.0 release (Complete Module System). It stands out because it combines serious systems programming capabilities with cultural personality and a genuine focus on developer experience.

If you love languages like Zig, Odin, or Rust, you should give Ovie a try.

What do you think about the seeAm syntax and the local-first approach? Drop your thoughts below πŸ‘‡

Top comments (0)