Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For confused people: it's written in author's language Hare. The language uses QBE as backend [2]. I wonder what author has against Zig (probably at least current dependence on LLVM). It reminds me of Myrddin [3], which AFAIR is connected to Suckless folks.

[1] https://harelang.org/

[2] https://c9x.me/compile/

[3] https://myrlang.org/

[4] https://suckless.org/



> I wonder what author has against Zig (probably at least current dependence on LLVM)

Here are some opinions shared by ddevault: https://news.ycombinator.com/item?id=15494222


Those opinions might've changed:

> I’m interested to see how it measures up under more typical workloads. People keep asking me what I think about Zig in general, and I think it has potential, but I also have a lot of complaints. It’s not likely to replace C for me, but it might have a place somewhere in my stack.

https://drewdevault.com/2020/01/08/Re-Slow.html


> Please do not share this website with others until we believe it's ready for broader distribution.


Ooops. I sometimes totally ignore all those notices, because of all the cookie and consent garbage. But I guess if one does a blog post using the language it probably is somewhat ready for distribution.


Drew has been mentioning stuff about it increasingly much, but has still never posted the name of the project or any links to a website for it or its code publicly; only to people that are getting involved in it. I didn’t know its name or where it was before today.


Sorry! I can't edit the comment now, but at least it is not on the front page anymore.

I know that it is miles different then posting direct link, because people are averse to any kind of work, but I found the site in the first search. Searching for "drew devault programming language" gives me the language homepage as the 5th result.

EDIT: Also looking on the blog page which is the result from the search mentioned above there is no warning there, that's also why I didn't payed much attention to the warning, as I just stripped the path leaving only the hostname part. Sorry again.


The issue with most Better C languages is that they focus on ABI rather than API compatibility and throw away C header parsing because no one likes libc.

With cross-platform standards like OpenGL, POSIX, Vulkan the API is declared in terms of high-level ANSI C or C99 language constructs and binary constants may be unspecified and left up to vendor.

Ideally new language designers which don't want to support H files would propose an even simpler header file format for listing procedures, enumerations, structs, constants that existing C compilers could also support. Library vendors don't have time to generate header bindings for every new language using language specific constructs, and application developers don't have time to manually write bindings for large libraries when testing new languages.

Zig supports C header parsing, but as you mention is based on LLVM. It also allows defining new functions inside structs and return values, which can result in heavily nested code that some programmers may not be a fan of.

So there is theoretically some room for another language which maintains compatibility with C headers (or defines an even simpler header format which can be supported by C compilers), which does not use LLVM, and which maintains stronger conceptual separation between namespaces and structs.


LLVM is about to become an optional component of Zig once the self-hosted compiler is done.

https://kristoff.it/blog/zig-new-relationship-llvm/


What is the point? We don't need another systems programming language. We've got D, Rust, Zig, and C, and to be honest it just looks like a worse C.




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

Search: