2025-05-29 # Learning C3 In this article, I describe my experience learning the C3 programming language. I've always been an avid computer programmer. I would say that I am most familiar with low level systems languages, though I have dipped into other programming languages from time to time. My journey here is motivated by curiosity. I am always curious to try new programming languages, which has resulted in learning a dozen or so within the past few years. With each new programming language I learn, I encounter a never-before-seen paradigm. Each language has it's own method of expressing ideas, and it's own status-quo for solving problems. I hope to learn what this means for C3, and what projects I would be likely to use it for. Here's the disclaimer: I'm writing this article in "real-time", which is to say I am typing it up as I am learning C3. This means that I may have added insights about pain points and neat features that get glossed over or forgotten in other aticles, yet it may also mean that my explanations and conceptual grasp of the language is reduced or faulty compared to other sources. What is C3? According to the C3 website, C3 aims to build on and with C. It offers ergonomics, optimizations, and features. Some of these features may be difficult or impossible to express in standard C. These features include a module system, operator overloading, generics, compile time execution, semantic macros, an integrated build system, error handling, defer, value methods, associated enum data, distinct types & subtypes, gradual contracts, built-in slices, foreach, dynamic calls & types, and more. Here are two other perspectives on what C3 is: Thank you to FoxKiana and the C3 creator Christoffer Lernö for replying :) Language Overview: It's hard for me to picture what the language is like without clear examples. For this section I will review the language reference online and share my thoughts on the language features C3 offers. I will not cover each and every fe...
First seen: 2025-05-29 15:06
Last seen: 2025-05-30 09:23