Earlier quoted context omitted.
Thank you for all of your feedback, I hope you end up at least trying Hare for the use cases that feel right to you! :)
I appreciate that. I really do hate to be critical of open source work. I just feel this is an important issue.
The Hare programming language
291–300 of 323 posts
Re: The Hare programming language
#292Earlier quoted context omitted.
Hey, I'm open to any answer that helps me write better programs. :) Which languages do you have experience working with in high-performance situations? I, for one, had high hopes for using Go for video game development, but it turns out that even in highly-tuned Go code with the latest GC optimisations, there are still significant GC pauses that cannot be overcome [0]. However, perhaps you're referring to other types…
I don’t have much experience with C#, but currently that seems to have the best balance of control over allocations and a performant GC due to having value types (and pointers as well if I’m not mistaken?) But regarding GC, Java is unquestionably the king in that aspect, throughput-wise G1 is unbeatable and its relatively new ZGC might be of interest to use. It is the one I thought about previously, it currently prom…
Re: The Hare programming language
#293Earlier quoted context omitted.
Not trying to take away anything, but just from the top of my head: Zig, Rust, Odin, Beef lang and then don’t forget about those that even precede C like Fortran or Pascal.
I think any discussion of small, performant, fairly memory-safe languages could include Forth or Factor. Speaking of the Pascal family, we could also stand for someone to put time into a more modern Oberon or a standard subset of Ada.
Re: The Hare programming language
#294Earlier quoted context omitted.
While any modern operating system is the living counter point, so far it's manageable.
They aren't a counterpoint at all. They're confirmation. Security-wise legacy operating systems (Linux, NT, ...) suck . New security vulnerabilities are discovered every week and month in them to the point that nobody actually considers these "multi-user systems" any more and obviously every box hooked up to the internet better be getting patches really frequently.
Re: The Hare programming language
#295Earlier quoted context omitted.
I’m sure it is not the answer you want to hear, but partial use of GCs seems to be exactly that. Modern GCs have insanely good throughput OR latency. Quite a few languages have value types now, with that you can restrict your usage to stack allocations for the critical hot loops, while low-latency GCs promise less pauses than the OS itself, which should be plenty good for even the most demanding games.
Hey, I'm open to any answer that helps me write better programs. :) Which languages do you have experience working with in high-performance situations? I, for one, had high hopes for using Go for video game development, but it turns out that even in highly-tuned Go code with the latest GC optimisations, there are still significant GC pauses that cannot be overcome [0]. However, perhaps you're referring to other types…
Re: The Hare programming language
#296Earlier quoted context omitted.
As other commenters alluded to, it's an ideological and practical decision. We simply prefer free software operating systems. We do not care to legitimize nonfree platforms, and we prefer to be able to read (and patch) the code to understand the tools we depend on. If that's a deal-breaker for you, no worries - Hare does not have to appeal to everyone to achieve its goals.
This may lead the design to be inappropriately coupled to ELF, which isn't the best binary format in the world or anything. There are real differences in MachO and PE.
Re: The Hare programming language
#297Earlier quoted context omitted.
You can develop games just fine on Linux.
Yes, by targeting wine/proton/win32
i don't believe in wine/proton, and i find win32 to be trash
i don't like it, but windows is the platform, if you want to find players for your game
and i believe each platform deserve a native release
i'm not a fan of the mindset of having to lower your standard to please whoever got lazy to not support X, Y or Z
wine/proton promotes the wrong idea, that everyone shouldn't matter about the platform
Re: The Hare programming language
#298I 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.
I contributed to this project for this reason. Hare exists as itself and for a purpose. The libre ethos, the simplicity, the design, with people and the future in mind. The dilligence in having a standard, the commitment to supporting libre platforms, and not bending knees to non-free ones just because they are the norm; e.g. not being afraid to dream. Not adopting whatever hype-train technology bandwagon or corporat…
Re: The Hare programming language
#299Earlier 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.
Re: The Hare programming language
#300Earlier quoted context omitted.
C doesn't exactly have macros. That's a text substitution done by the preprocessor in its own limited, special-purpose language. True hygienic macros of something like Common Lisp are a different beast. If all you want are textual substitutions, you can use the C preprocessor in front of any language.
> you can use the C preprocessor in front of any language. You will be paddling upriver if that language doesn't have a mostly C-compatible token structure, or has white space sensitivities that C preprocessing doesn't preserve and such.