Hacker Newsnew | past | comments | ask | show | jobs | submit | Nveterate's commentslogin

Nim, Zig, Jai, Odin, Beef

I wonder if a large company will throw into this royal of small and productive system languages. It seems like Nim, Zig/Odin, and presumably Jai all fit into their corners well. Someone with funds to generate tooling and combine the static structure of Zig, the productivity of coding in Nim. I think these language have all shown the potential for a great new language in this space.


I don't think Nim is in the same category. It has too many features and defaults to garbage collection. Nim is more in the category of D and Go.

For me a C-replacement has to be a very simple and disciplined language, with 100% focus on low-level programming.

Nim is great though, I've used it to make some small tools/programs

Zig is also wonderful, hope to use it more once it's more stable


Odin has a 100% focus on (low-level) systems programming, allowing the user a very high control over memory layout and memory allocations which many other languages do not express as easily.

If you have tried Zig and/or a C or C++ programming, you might really enjoy programming in Odin. Odin feels wonderful to use and has solved all of the issues that C had and more.

I recommend reading the Overview (https://odin-lang.org/docs/overview/) and the Demo (https://github.com/odin-lang/Odin/blob/master/examples/demo/...)

P.S. Odin is now fully recognized by GitHub and supports syntax highlighting.


The list should probably be: Zig, Jai, Odin, Beef, V in the category 'C replacement'.

Nim should be with D in the category 'C++ replacement with a GC by default'.


Arguably, Go was once in this spot, except they had the weight of the Googleplex behind it to swiftly boost it out of niche status.


Go (and probably Nim from the GP list) is much to high level to be compared with Zig, Odin, or C.

Go was designed to fill the need that C was originally developed for (writing Unix applications), not for what C is more commonly used for today.


V should probably be in that list too: https://vlang.io/


In case you don't understand the downvotes: previously on Hacker News, people (including, but not at all limited to, Ginger Bill and Andrew Kelley) got upset with V's creator for writing a lot of pro-V propaganda in advance of releasing code implementing the claimed features and indeed, in advance of releasing any code. Those threads are a fun, if tense, read, just search HN for "V programming language".


From a brief excursion into these smaller languages recently, it seems to me that since those arguments things have settled down and statements made about the language is either now available (e.g. open source, fast compile time) or marked as unfinished.

IMO it does deserve a place in that list today and is definitely worth a gander.


Thank you so much, I missed all of that. :)


I wonder why this type of language is so attractive to bike shed. Just the right balance of complexity and usefulness perhaps?


There is huge potential for a modern light weight C replacement. Golang went in this direction, but it has a runtime with a GC. Rust is low level, but is quite a complex language. So, there is a gap in the market.

One cool aspect of all of these new programming languages entering the arena is that most of them only have a minimal (or no) runtime. That should make it much easier to interoperate between all of these languages, something which has traditionally been difficult with most programming languages.

Disclosure: I'm the author of Muon [1], a low-level language that embodies similar design principles.

[1] https://github.com/nickmqb/muon


Maybe because it's the layer of the stack most ancient, unsafe, and in need of replacing.


Its not! The vast majority of languages are garbage collected high level languages. How many non-GC'd C replacement languages have been created? Seems like there are only a handful. Hardly bikeshedding.


I think it's a mistake to think that in 10,000 years C will remain the golden standard for a language that still is reasonably close to the hardware.


It's no longer close to the hardware


Not necessarily contrary to my point.


To hide any les of the machine you start giving up portability. c- might be a counterexample.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: