Live data from Hacker News

The Borgo Programming Language

borgo-lang.github.io

1–10 of 204 posts

Re: The Borgo Programming Language

#3
This is quite beautiful. It hides several ugly warts of Go without necessarily adding more complexity. Result instead of (T, error) and ? for propagation is just so nice. Structured enums is something I find myself needing all the time (and writing less self-explanatory code due to the lack of it). Option instead of nil and zero values (which builds upon structured enum support) is what got me to say "yes please!"

Honestly, some of the things they changed are maybe unnecessary (like the additional impl syntax, the Zig influenced dereferencing, return values from statements, several other Rustisms, etc). One part of me wish Go would get all of this. But another part of me knows it would never happen because this is not a superset (Python 2 -> Python 3 anyone?)

I also wonder if this could even be compared to JavaScript / TypeScript for the same reason, not being a superset means you have to actively make a change to even start to migrate, and the revert path is not as trivial.

Re: The Borgo Programming Language

#4
The graph showing complexity against type safety is nice. I'd love to see it as a scatter plot with C and Haskell and MUMPS for example. Nevermind how to quantify those things of course.

Re: The Borgo Programming Language

#5
That's very close to what I want, I wonder if we'd ever have customization for programming languages on the client side but when pushing to git it would get transpiled to the most common subset. A small change I would have loved at first glance would be the double colons (::) for namespace path along with explicit extraction and pub for public types.

Re: The Borgo Programming Language

#6
I love it.

This is a language that everyone here says they want but no one will use, even though it's stable and mature (I assume because it compiles to stable and mature Go and can use every existing Go library).

It hits all the "ok, Go is popular but made by morons for morons and if only it had this X advanced feature, it would be totally great".

It has immutability. It has advanced enums. It has algebraic types. It has pattern matching. It has Result instead of returning an error. It gets rid of if err != nil. It gets read of of nil pointers.

On paper it's a perfect language. It literally addresses every major complaint people have with Go.

And I'll be here not using it and watching everyone else not use it.

Because the harsh truth is that none of those things are actually big issues that would justify learning slightly different syntax.

But maybe I'm wrong. Time will tell.

Re: The Borgo Programming Language

#7
Gleam compiles to Erlang. Kotlin compiles to JVM bytecode and has great interop with Java. Rust and Zig easily call C. Elm compiles to JS and has a clear means to calling JS. TypeScript/ReScript/ReasonML all do something similar.

All these languages add type-safety and/or sum types and/or immutability-by-default and/or explicit-nullability.

I wish Borgo the best in doing the same for the Golang ecosystem. It's sorely needed.

Re: The Borgo Programming Language

#9
post #6

I love it. This is a language that everyone here says they want but no one will use, even though it's stable and mature (I assume because it compiles to stable and mature Go and can use every existing Go library). It hits all the "ok, Go is popular but made by morons for morons and if only it had this X advanced feature, it would be totally great". It has immutability. It has advanced enums. It has algebraic types. I…

I don't think the impediment to adoption is the syntax - that's straightforward enough - it's the ecosystem / tooling / network effects.

I love this, even though I don't interact with Go on a regular basis, but I recognise that I'd be locking myself out of a lot of the standard Go tooling if I adopted this wholesale. For better or for worse, there's a high ecosystem barrier that most languages must overcome to be adopted, and the vast majority of efforts never get to that.

Re: The Borgo Programming Language

#10
post #6

I love it. This is a language that everyone here says they want but no one will use, even though it's stable and mature (I assume because it compiles to stable and mature Go and can use every existing Go library). It hits all the "ok, Go is popular but made by morons for morons and if only it had this X advanced feature, it would be totally great". It has immutability. It has advanced enums. It has algebraic types. I…

I think it’d do a lot better with Rust fans than Go fans, to be honest. It may not he as safe or whatever but Rust build times are brutal for larger projects and their ecosystems are mature enough to be comparable.

It’d be even more useful with a Rust/Borgo interop layer but I bet that’d be really complicated.

Post reply on HN