Nod is a new programming language I've been working on for five years. It's a serious effort to design a language that I wished someone else would have invented while I was still working as a professional software engineer.
This is my first post to HN, so hopefully I'm not stepping on any guidelines. It's real news, it's mine, and you can learn more about it on the Nod dev website.
Why I Built Nod
I was a professional programmer/software engineer for almost 40 years. During most of my career, C and its descendants ruled the day. In fact, it can't be overstated just how influential C was (is) on the field of programming. But that influence can also be characterized as burden. Newer C-based languages like C++, Java, C#, and others, are improvements over the original for sure, but backward compatibility and adherence to familiar constructs have stifled innovation and clarity. C++ in particular is an unapproachable Frankenstein. Powerful, yes, but arcane syntax and semantics has raised the barrier of entry to all but the most motivated.
Although C++ was usually my first or only choice for a lot of projects, I kept waiting (hoping) that a viable successor would come along. Something fresh, performant, and pragmatic. Something that broke cleanly from the past without throwing away what worked. But nothing really did. Or at least nothing worth the effort did. So, in 2019, newly retired and irrationally predisposed, I decided to build that fresh, performant, pragmatic language myself. That language, imho is Nod.
What Nod Is
Nod is an object-oriented language designed from the start to be a fresh and practical alternative to the current status quo. The goal is to balance real-world trade-offs in a language that is uniquely regular (consistent), efficient (fast), reliable (precautious), and convenient (automatic). While Nod respects the past, it's not beholden to it. You might say that Nod acknowledges the past with a respectful nod, then moves on.
Nod has wide applicability, but it's particularly well-suited for building low-level infrastructure that runs on multiple platforms. A keen awareness of portability issues allows many applications to be written without regard to runtime platform, while kernel abstraction and access to the native kernel provide the ultimate ability to go low. Furthermore, built-in modularity provides a simple and robust path for evolution and expansion of the Nod universe.
What Next?
Although I've worked on Nod for five years, it's a long way from being finished. But it's far enough along that I can put it out there to gauge interest and feedback from potential early adopters and collaborators.
The language itself is mature and stable, and there are the beginnings of a Nod Standard Library residing in a public GitHub archive.
I've written a compiler (in C++) that compiles source into intermediate modules, but it's currently in a private archive.
There's still much more that needs to be done.
If you're interested, please go to the website (https://www.about-nod.dev) to find links to the Nod Design Reference and GitHub archive. In the archive, there's a brief syntax overview that should let you get started reading Nod code.
Thanks for your interest.