Lack of macros in recent systems languages like Zig/Hare/etc seems to be a design flaw, a handicap marketed as safety feature or bargain for clarity. If a language can't replace C macros, it cannot replace C.
What necessary use case of macros isn’t addressed by comptime in zig?
The Hare programming language
211–220 of 323 posts
Re: The Hare programming language
#212Metaprogramming is necessary in order to compensate for any missing language features, it doesn't add much complexity, and it's not here.
Re: The Hare programming language
#213Earlier quoted context omitted.
To distinguish between an instance and a namespace? The same can be said for why do we need to put parenthesis after functions that take no parameters? So people still know it's a function.
> To distinguish between an instance and a namespace? I’m with OP here. C# proves that . reduces the noise substantially.
I don't know enough about C# to know if it matters. From everything I know, it's a really well designed language, so I'm guessing they made the right call.
It doesn't mean it's the right call everywhere.
Re: The Hare programming language
#214Earlier quoted context omitted.
> We have learned things since then. Have you? We have learned to read the documentation before we judge things.
I have learned to check on some basic facts before committing a huge block of time to another pointless exercise. The world seems mostly to have learned to serve up way more pointless exercises. One choice is to just ignore everything, which almost always produces the right answer. But that will miss the thing that would have been worth looking into. Another choice is to try ways to filter out chaff. What is not a po…
Re: The Hare programming language
#215Earlier quoted context omitted.
> We have learned things since then. Have you? We have learned to read the documentation before we judge things.
This is an extremely selfish answer - by refusing to spend a few hours writing a front-page summary of your language, you're valuing the time of your m developers (where m is small) over that of the n developers who might want to evaluate the language (where n is large). A language made by people who consciously make that tradeoff is almost certainly not worth even trying to learn. At least, if you're looking for a l…
Maybe someone not on the team will write a decent review of the language, and we will find out more. Hopefully that person will read the documentation and actually try out the language.
Re: The Hare programming language
#216Earlier quoted context omitted.
> Not supporting Windows and macOS will likely hurt the adoption of the language. Not among our target audience it won't. > Anyway, is it possible to target bare-metal with Hare? Is it possible to use it without the standard library? Yes. Here are two kernels written in Hare that don't use the stdlib: https://git.sr.ht/~sircmpwn/helios https://git.sr.ht/~yerinalexey/carrot
> Not among our target audience it won't. Yes it will. I have no interest in using Linux as desktop but I do use it for deployments. If there is one trait of major PL is the adoption of the big 3 OSes. This is Hare’s biggest flaw right now.
It seems like a trick that's worth learning.
Re: The Hare programming language
#217Earlier quoted context omitted.
To distinguish between an instance and a namespace? The same can be said for why do we need to put parenthesis after functions that take no parameters? So people still know it's a function.
> To distinguish between an instance and a namespace? I’m with OP here. C# proves that . reduces the noise substantially.
In the Ruby world, I think they have the convention of writing `class#method` in docs/comments when mentioning an instance method, and `class.method` when mentioning a static method.
Re: The Hare programming language
#218Earlier quoted context omitted.
How would I trust the programers who implement automatic memory management that they are not going to make any mistake?
"How would I trust the programmers who implement compilers that they are not goin to make any mistakes? I'll write the assembly myself, thank you very much." It's much better to push logic from being manually re-written over and over by tens of thousands of different programmers, to being built into a language/tool/library by a team of a few hundred experts and then robustly tested.
Nope, doesn't work. Then you have to trust that the programmer who wrote the assembler didn't make any mistakes. Real programmers program in octal.
Re: The Hare programming language
#219Is there no RSS feed for the blog? I tried finding a link but failed to do so. Hopefully I am just blind.
Re: The Hare programming language
#220Earlier quoted context omitted.
I have learned to check on some basic facts before committing a huge block of time to another pointless exercise. The world seems mostly to have learned to serve up way more pointless exercises. One choice is to just ignore everything, which almost always produces the right answer. But that will miss the thing that would have been worth looking into. Another choice is to try ways to filter out chaff. What is not a po…
I filter it a bit differently. There are enough people who will check out new language X; I don't have to. If it has merit, I'll keep hearing about it. Sure, I'll miss out on using X the first year or two out of the gate, but I don't actually need that. Yes, if X is all it's cracked up to be, I could have benefited from using it in that year or two. On the other hand, I didn't waste time learning a bunch of new langu…
If in fact the language would have turned out to be interesting, helping out early might make the difference between its fizzling out or getting traction. And, helping out might be a chance to learn a lot, or to ensure it will scratch your itch.
In this case, for me, none of that seems likely. As usual.