Live data from Hacker News

The Hare programming language

harelang.org

231–240 of 323 posts

Re: The Hare programming language

#231

Earlier 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

I hope you'll reconsider this in the long term, not because I think Windows/macOS are great (my feelings for them range between "ugh" and abject horror depending on the day). Rather, I think it would be good because it makes a language much more palatable for mainstream adoption if it's possible for programs written to be ported to Windows/macOS. Languages need the positive adoption feedback loop. Rust would not be a…

The language is standardized. I encourage you to write an implementation for any platform you wish, or maintain a fork of our compiler/stdlib for your platform of choice. We're not interested in it upstream, but that does not prevent the community from providing for these use-cases.

Re: The Hare programming language

#232

Earlier 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.

Hard disagree. Linux is by far the largest majority of server deployments, and you are not doing yourself any favors by not developing on the same platform as your deploy target.

Re: The Hare programming language

#233

Earlier quoted context omitted.

> C++ definitely isn't it, and while Rust does bring significant advances in this field, it's a very large and complicated language. It really isn't. Not compared to C++, at least. Or to managed language runtimes, which are just as "large and complicated", only beneath the hood.

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.

Re: The Hare programming language

#234

Earlier quoted context omitted.

I hope you'll reconsider this in the long term, not because I think Windows/macOS are great (my feelings for them range between "ugh" and abject horror depending on the day). Rather, I think it would be good because it makes a language much more palatable for mainstream adoption if it's possible for programs written to be ported to Windows/macOS. Languages need the positive adoption feedback loop. Rust would not be a…

The language is standardized. I encourage you to write an implementation for any platform you wish, or maintain a fork of our compiler/stdlib for your platform of choice. We're not interested in it upstream, but that does not prevent the community from providing for these use-cases.

Honestly that really kills my interest I have in the language. That’s not realistically going to happen (a reimplementation) or go well (maintaining a fork) with a (frankly) niche language.

I suspect the pool of people who develop locally (on Win or Mac, and need something functional if not optimal) and deploy to Linux is not small.

Is there a particular reason? io-uring?

Re: The Hare programming language

#235
post #207

Earlier quoted context omitted.

But why not use a single character? With the double colon, something like foo::bar(xyz) looks like bar is “closer” to xyz, when in fact it's closer to foo.

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

#236

Earlier quoted context omitted.

> 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.

Hard disagree. Linux is by far the largest majority of server deployments, and you are not doing yourself any favors by not developing on the same platform as your deploy target.

I agree 100%, but balanced against the fact that many devs need laptops from their employer, and it's way easier to get a good macbook that just works good enough for development than a linux machine. Especially when you don't control ordering, or need to inherit machines.

Dev on Mac and deploy on Linux is a popular setup for a reason. Until there's a macbook pro for linux that you can just buy*, it's going to continue to be popular.

* the XPS 13/15 are about as close as you can get

Re: The Hare programming language

#237

Earlier quoted context omitted.

> To distinguish between an instance and a namespace? I’m with OP here. C# proves that . reduces the noise substantially.

Only somewhat related, but when reading docs/comments that mention some method `class.method`, it's annoying when that's ambiguous and could mean either a static method or an instance method. 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.

Interesting mention about the docs. I see what you mean. I have been doing C# for over a decade and I guess that after a bit you are just blind to this kind of stuff. I guess it never "really" matter to me when coding, but I can see it as an annoyance on the documentation side. Perhaps Microsoft can do a better job of splitting static methods from instances on the docs.

i.e https://docs.microsoft.com/en-us/dotnet/api/system.console.w...

Re: The Hare programming language

#238

Earlier quoted context omitted.

The language is standardized. I encourage you to write an implementation for any platform you wish, or maintain a fork of our compiler/stdlib for your platform of choice. We're not interested in it upstream, but that does not prevent the community from providing for these use-cases.

Honestly that really kills my interest I have in the language. That’s not realistically going to happen (a reimplementation) or go well (maintaining a fork) with a (frankly) niche language. I suspect the pool of people who develop locally (on Win or Mac, and need something functional if not optimal) and deploy to Linux is not small. Is there a particular reason? io-uring?

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.

Re: The Hare programming language

#239
post #195

Earlier quoted context omitted.

I can sort of understand where you're coming from — manual memory management can be difficult, and doing it improperly can cause bugs. However, in my experience, we're very far from having a magical solution for memory management. C++ definitely isn't it, and while Rust does bring significant advances in this field, it's a very large and complicated language. Unfortunately, the memory management strategy of every oth…

> while Rust does bring significant advances in this field, it's a very large and complicated language. The gist of Rust on this fairly easy, is the heritage/chasing of C++ that makes Rust complicated. A "Rust simple like pascal/c" have potential and I bet 1 billon the borrow checker will not make it hard to use (check https://vale.dev )

> A "Rust simple like pascal/c"

This has been tried, see Cyclone. It was a lot less practically usable than modern Rust.

Re: The Hare programming language

#240

Earlier quoted context omitted.

> 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.

Though I haven't tried it, I understand that some people do development inside a Docker container, so maybe you don't need to run Linux on your desktop? It seems like a trick that's worth learning.

I'm aware of all these tricks including VSCode devcontainer. It's just a higher celling no matter how you slice it. The solutions with the least amount of resistance tends to win.

Look how easy it's to try these. I don't have to set up VMs or even know what make is to do anything.

- dotnet: https://dotnet.microsoft.com/en-us/download

- rust: https://www.rust-lang.org/learn/get-started

- go: https://go.dev/dl/

If you WANT to be mainstream, you need to go the extra mile.

Post reply on HN