<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rux Language</title>
    <description>The latest articles on DEV Community by Rux Language (@ruxlang).</description>
    <link>https://dev.to/ruxlang</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3978929%2F349c64d8-b4eb-4f86-b96e-8f3e0354f6d6.png</url>
      <title>DEV Community: Rux Language</title>
      <link>https://dev.to/ruxlang</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ruxlang"/>
    <language>en</language>
    <item>
      <title>Meet Rux</title>
      <dc:creator>Rux Language</dc:creator>
      <pubDate>Fri, 12 Jun 2026 19:12:59 +0000</pubDate>
      <link>https://dev.to/ruxlang/meet-rux-a-new-compiled-strongly-typed-multi-paradigm-language-1d0i</link>
      <guid>https://dev.to/ruxlang/meet-rux-a-new-compiled-strongly-typed-multi-paradigm-language-1d0i</guid>
      <description>&lt;p&gt;There's no shortage of new programming languages these days, but every so often one comes along that's worth paying attention to early. &lt;strong&gt;Rux&lt;/strong&gt; is a fast, compiled, strongly typed, multi-paradigm programming language that's been quietly building momentum — and with the v0.3.0 release just dropping in June 2026, now is a great time to take a first look.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Rux?
&lt;/h2&gt;

&lt;p&gt;At its core, Rux aims to be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compiled&lt;/strong&gt; — emits native x86-64 machine code, no runtime or virtual machine&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strongly typed&lt;/strong&gt; — strict type system with inference, no implicit coercions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-paradigm&lt;/strong&gt; — supports procedural, object-oriented (via &lt;code&gt;extend&lt;/code&gt; blocks and interfaces), and structured programming styles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;General-purpose&lt;/strong&gt; — designed to work everywhere from system utilities to libraries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is MIT-licensed and lives at &lt;a href="https://github.com/rux-lang/Rux" rel="noopener noreferrer"&gt;github.com/rux-lang/Rux&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Compiler Pipeline
&lt;/h2&gt;

&lt;p&gt;One of the most interesting aspects of Rux is that its compiler is entirely hand-rolled in C++26. It doesn't rely on LLVM or any other backend framework — it walks its own road from source to binary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Source (.rux)
  → Lexer       (tokenizes with file/line/column diagnostics)
  → Parser      (produces an AST)
  → Sema        (type checking and name resolution)
  → HIR         (high-level intermediate representation)
  → LIR         (low-level IR; three-address, explicit control flow)
  → ASM         (x86-64 assembly emitter, NASM-compatible, Intel syntax)
  → RCU         (native object file format)
  → Linker      (produces a native executable or DLL)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every stage supports a &lt;code&gt;--dump-*&lt;/code&gt; flag for inspection, which is a huge help if you want to understand the compilation process or contribute to the compiler itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Quick Look at the Language
&lt;/h2&gt;

&lt;p&gt;Here's the simplest valid Rux program — it should feel immediately familiar if you've written C, Go, or Rust:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import Std::Io::Print;

func Main() -&amp;gt; int {
    Print("Hello, Rux!");
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Functions use &lt;code&gt;func&lt;/code&gt;, return types come after &lt;code&gt;-&amp;gt;&lt;/code&gt;, and entry point is &lt;code&gt;Main&lt;/code&gt;. Clean and unsurprising.&lt;/p&gt;

&lt;h3&gt;
  
  
  Types
&lt;/h3&gt;

&lt;p&gt;Rux has explicit-width numeric types — &lt;code&gt;int8&lt;/code&gt;, &lt;code&gt;int16&lt;/code&gt;, &lt;code&gt;int32&lt;/code&gt;, &lt;code&gt;int64&lt;/code&gt;, &lt;code&gt;uint8&lt;/code&gt;, &lt;code&gt;uint16&lt;/code&gt;, &lt;code&gt;uint32&lt;/code&gt;, &lt;code&gt;uint64&lt;/code&gt;, &lt;code&gt;float32&lt;/code&gt;, &lt;code&gt;float64&lt;/code&gt; — plus &lt;code&gt;bool&lt;/code&gt; and &lt;code&gt;String&lt;/code&gt;. Integer literals can carry type suffixes (&lt;code&gt;10i&lt;/code&gt;, &lt;code&gt;10u&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Composite types include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Structs&lt;/strong&gt; — named product types&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enums&lt;/strong&gt; — named sum types (tagged unions)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tuples&lt;/strong&gt; — anonymous fixed-size product types, e.g. &lt;code&gt;(int32, float64)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slices&lt;/strong&gt; — variable-length views over contiguous memory, e.g. &lt;code&gt;uint8[]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fixed arrays&lt;/strong&gt; — sized slices, e.g. &lt;code&gt;uint8[4]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pointers&lt;/strong&gt; — raw pointer types, e.g. &lt;code&gt;*uint8&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Type aliases&lt;/strong&gt; — &lt;code&gt;type Name = Type;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Interfaces and &lt;code&gt;extend&lt;/code&gt; Blocks
&lt;/h3&gt;

&lt;p&gt;Rux favors composition over inheritance. You define a contract with &lt;code&gt;interface&lt;/code&gt; and attach implementations to any type using &lt;code&gt;extend&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;interface Display {
    func ToString(self) -&amp;gt; String;
}

struct Point {
    x: float64,
    y: float64,
}

extend Point: Display {
    func ToString(self) -&amp;gt; String {
        // ...
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is structurally similar to Rust traits or Go interfaces, and it keeps data and behavior cleanly separated.&lt;/p&gt;

&lt;h3&gt;
  
  
  Control Flow
&lt;/h3&gt;

&lt;p&gt;All the essentials are there: &lt;code&gt;if&lt;/code&gt;/&lt;code&gt;else&lt;/code&gt;, &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;do-while&lt;/code&gt;, and &lt;code&gt;match&lt;/code&gt; with pattern matching. Range patterns (&lt;code&gt;lo..hi&lt;/code&gt;), enum variant destructuring, struct patterns, and wildcard &lt;code&gt;_&lt;/code&gt; are all supported.&lt;/p&gt;

&lt;h3&gt;
  
  
  Modules and Packages
&lt;/h3&gt;

&lt;p&gt;Source files declare their module with &lt;code&gt;module MyModule;&lt;/code&gt;. Packages are defined by a &lt;code&gt;Rux.toml&lt;/code&gt; manifest (yes, TOML — familiar territory for Rust developers), and multi-file compilation with cross-module imports is fully supported.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[Package]&lt;/span&gt;
&lt;span class="py"&gt;Name&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Hello"&lt;/span&gt;
&lt;span class="py"&gt;Version&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"0.1.0"&lt;/span&gt;
&lt;span class="py"&gt;Type&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Bin"&lt;/span&gt;

&lt;span class="nn"&gt;[Dependencies]&lt;/span&gt;
&lt;span class="py"&gt;Std&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"0.1.0"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Attributes
&lt;/h3&gt;

&lt;p&gt;Rux has a clean attribute syntax: &lt;code&gt;@[AttributeName]&lt;/code&gt; or &lt;code&gt;@[Attribute(args)]&lt;/code&gt; — PascalCase, no macros, no angle brackets. The most prominent current use is &lt;code&gt;@[Target(...)]&lt;/code&gt; for conditional compilation per platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Toolchain (&lt;code&gt;rux&lt;/code&gt; CLI)
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;rux&lt;/code&gt; CLI feels modern and opinionated:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rux new &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Scaffold a new package&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rux build&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Compile the current package&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rux run&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Build and execute&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;`rux install&lt;/td&gt;
&lt;td&gt;Install all dependencies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rux update&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Update packages to latest versions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rux list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List installed packages&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The package manager integrates directly with the compiler — no separate tool like &lt;code&gt;cargo&lt;/code&gt; vs &lt;code&gt;rustc&lt;/code&gt;. One binary to rule them all.&lt;/p&gt;




&lt;h2&gt;
  
  
  Platform Support
&lt;/h2&gt;

&lt;p&gt;As of v0.3.0, Rux will compile and run natively on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linux&lt;/strong&gt; x86-64&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows&lt;/strong&gt; x86-64 (PE32+ executables and DLLs)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;macOS&lt;/strong&gt; x86-64 (Mach-O)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FreeBSD&lt;/strong&gt;, &lt;strong&gt;OpenBSD&lt;/strong&gt; x86-64&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Illumos/OmniOS&lt;/strong&gt; x86-64&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CI runs on all of the above, which is impressive for a v0.3 release. The BSD and Illumos support in particular shows that the team isn't just targeting the mainstream trio.&lt;/p&gt;




&lt;h2&gt;
  
  
  Current Status
&lt;/h2&gt;

&lt;p&gt;Rux is honest about where it stands: it's in active development and not yet production-ready. The changelog shows rapid iteration — v0.1.0 was released in late April 2026, v0.3.0 shipped in early June 2026, roughly one significant release every two to three weeks.&lt;/p&gt;

&lt;p&gt;The roadmap implicit in the changelog suggests type generics, a richer standard library, and ARM targets are the natural next steps.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Watch Rux?
&lt;/h2&gt;

&lt;p&gt;A few things stand out as genuinely interesting design choices:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No external backend.&lt;/strong&gt; Writing your own x86-64 code generator is hard. Doing it and shipping cross-platform CI for 8 operating systems at v0.3 is a statement of intent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;extend&lt;/code&gt; for method dispatch.&lt;/strong&gt; Decoupling data from behavior is a proven pattern, and Rux's take on it feels clean — no trait objects vs concrete type confusion, just structural contracts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First-class DLL output.&lt;/strong&gt; Support for emitting &lt;code&gt;.dll&lt;/code&gt; artifacts on Windows from day one signals that the language takes interoperability seriously, not as an afterthought.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compile-time intrinsics.&lt;/strong&gt; &lt;code&gt;#line&lt;/code&gt;, &lt;code&gt;#column&lt;/code&gt;, &lt;code&gt;#file&lt;/code&gt;, &lt;code&gt;#function&lt;/code&gt;, &lt;code&gt;#date&lt;/code&gt;, &lt;code&gt;#time&lt;/code&gt;, &lt;code&gt;#module&lt;/code&gt; are built-in tokens, so diagnostics and logging metadata is zero-cost and available everywhere.&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting Involved
&lt;/h2&gt;

&lt;p&gt;If you want to follow along or contribute:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/rux-lang/Rux" rel="noopener noreferrer"&gt;github.com/rux-lang/Rux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/@ruxlang" rel="noopener noreferrer"&gt;@ruxlang&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord:&lt;/strong&gt; &lt;a href="https://discord.com/invite/uvSHjtZSVG" rel="noopener noreferrer"&gt;discord.com/invite/uvSHjtZSVG&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs:&lt;/strong&gt; &lt;a href="https://rux-lang.dev/docs" rel="noopener noreferrer"&gt;rux-lang.dev/docs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Rux is early, but it's the kind of early that's worth bookmarking. A clean syntax, a real compiler pipeline, and cross-platform ambitions from the start — those are good foundations. Keep an eye on it.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>language</category>
      <category>compilers</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
