Earlier quoted context omitted.
Why?
Because the compiler won't let you, except under duress.
The Hare programming language
261–270 of 323 posts
Re: The Hare programming language
#262Earlier quoted context omitted.
No, there are no plans for first-class metaprogramming. The purpose of exposing the parser, type checker, module system, etc, in the standard library is to allow for users to more easily build custom Hare tooling. The closest thing you could get to metaprogramming with this is some assistance with code generation.
That's unfortunate, some metaprogramming could be fun and without generics and such quite simple and efficient even.
Re: The Hare programming language
#263Earlier quoted context omitted.
That is the "ignore everything new" choice. You are pointing out its lack of downside. On many days I would agree. (But you didn't. You spent enough time on it for this.) 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…
> But you didn't. You spent enough time on it for this. Fair, to a point. But writing an HN comment is a bit lower investment than learning a new language well enough to evaluate it fairly. > 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. You may have that kind of pull; I don't. Nobody is going to care whether…
I meant: one could do some of the work needed to make it ready for use. If not done, the language fizzles. Fizzling is the normal fate of any language, absent the miracle.
Hare looks a tiny bit better than C. That was D's problem: it was a tiny bit better than C++; now C++ is much, much better than what D had targeted. If you make Hare enough better than C to merit attention, it will be different enough for the C stalwarts to reject, but not powerful enough for C++ and Rust refugees to wash up onto.
Re: The Hare programming language
#264Earlier quoted context omitted.
Self-hosting will only distract you from any "effort to improve on the status quo". And, do you really want people working on your compiler who can't even cope with C++? (BTW: There is no such language as C/C++. Clang and Gcc are both coded in C++.) Your new language desperately needs libraries that bring it up to a level of practical usefulness. A compiler front end is about the least-useful code you could write in…
> do you really want people working on your compiler who can't even cope with C++? That's the whole point of creating a new programming language.
Re: The Hare programming language
#265Earlier quoted context omitted.
A single ':' is used for other things, like casting types. let x: int = 0; It's so that the compiler can distinguish between those two, and likely some other areas too.
A different character could be used, such as # (like in VimScript) or \ (like in… PHP?)
Re: The Hare programming language
#266Earlier quoted context omitted.
A different character could be used, such as # (like in VimScript) or \ (like in… PHP?)
True, but :: is probably more readable than # or \ Design a language, and you'll understand that there's always trade-offs.
Re: The Hare programming language
#267I really respect Drew and his work/advocacy. I think what most enchants me about Hare is that it's not a "take over the world" language. It's pure FOSS engineering: there's nothing out there that does what I want, so I'll (build a community to help me) build it. Love it.
Re: The Hare programming language
#268Earlier quoted context omitted.
Rust is definitely as complicated as C++. However its complexity isn't as big of a deal because it's so much safer. If you forget one of the extremely complicated Rust rules you'll get a compile error. If you forget one of the extremely complicated C++ rules you hopefully will get a compile error. Maybe a warning with `-Wall` or maybe you'll silently get memory errors at runtime!
Rust is a complicated language, but I don’t it reaches C++ levels of complexity. One of the pernicious aspects of “mastering” C++ is understanding all of its leaky abstractions; there’s nothing like SIOF or SFINAE in Rust.
Rust may not have SFINAE but C++ doesn't have for, Phantom data or Pin.
Re: The Hare programming language
#269Looks like a very simple, yet readable little language. Reminds me of C's glory days.
I know that we already have a couple of "better C" languages out there, but Hare seems like it truly grasps the simplicity of it's older cousin.
I love the focus on open-source only, by the way. It will keep the spirit of the language. I just hope that Drew will stay on this project for a while longer. A language with this kind of vision must persevere.
Good luck to Drew and the Hare team!
Re: The Hare programming language
#270Earlier quoted context omitted.
The problem here is that focusing on a language can lead to lots of small API design decisions that make it very cumbersome to support other systems later without significant breaking changes. I can appreciate the ideological and practical purity of that decision, but even Linux aficionados need to deploy code to other operating systems to make a living.
I don't have data to support it but even for Go, a language that does support macOS and Windows, it does not feel like the stdlib is as mature or performant as the Linux version. I don't have numbers for that yet just observations doing simple benchmarks across Linux, macOS and Windows. Some languages are just clearly designed to be used on the server.