Live data from Hacker News

The Borgo Programming Language

borgo-lang.github.io

71–80 of 204 posts

Re: The Borgo Programming Language

#71
post #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!" Ho…

I think it would be cool if we had something like this except as a superset.

Re: The Borgo Programming Language

#72
post #12

Earlier quoted context omitted.

> made by morons for morons The creators of Go have also built the foundation of everything you take for granted. The real "harsh truth" here, of course, is that the Go team exhibits engineering genius, taste, and particularity that is rare to find in our industry, such that the likes of Rust "death by committee" people may only dream of. The long-lasting obsession that Rust people have with Go and the Go team has be…

People seriously act like Rob Pike's quote was about appealing to the lowest common denominator of programmers possible without realizing that the functional programming concepts they hold so dearly have been lacking for 50 years in the world of C/C++ where it's creators came from. They are so quick to frustration over the fact that the some languages don't act like they think it should and don't require the extraneo…

For a community supposedly "committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience"[1] Rust activists perhaps unsurprisingly lack in tolerance, empathy, and awareness. The community has changed, too. I liked them more circa ~2015 from before the corpos caught on to "the most loved" language, and have since blown evangelists' expectations for future adoption way out of proportion. As long as the drawn-out vendetta lead by Rust activists contra Go is concerned, old proverb comes to mind: "Hating popular things does not make you interesting."

[1]: https://www.rust-lang.org/policies/code-of-conduct

Re: The Borgo Programming Language

#73
post #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!" Ho…

Is this TypeScript of Go?

Re: The Borgo Programming Language

#74

Earlier quoted context omitted.

"It literally addresses every major complaint people have with Go." It addresses complaints 1 to n but does nothing about complaint 0: Having a garbage collector with all its associated downsides.

Rust with GC is actually what many people want. And by that I don't mean using Rc everywhere nor do I even mean making a GC library and then using GC everywhere. I mean having the runtime handle all memory things with you having to think about it only when some extremely rare corner case breaks.

Rust with GC wouldn't look much like rust anymore.

Re: The Borgo Programming Language

#75

Earlier quoted context omitted.

Rust with GC is actually what many people want. And by that I don't mean using Rc everywhere nor do I even mean making a GC library and then using GC everywhere. I mean having the runtime handle all memory things with you having to think about it only when some extremely rare corner case breaks.

That sounds like C#? https://learn.microsoft.com/en-us/dotnet/standard/memory-and...

I have been a huge (but lonely) proponent of C# and rust being the best two-language combo. But once (someday! Soon they say!) first-class discriminated union support lands, it’ll be the ideal recommendation for anyone that wants to get away from manually taking care of lifetimes.

Re: The Borgo Programming Language

#76
post #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!" Ho…

What prevents this from being a superset?

C++ is a superset of C; did it do much good?

Zig is not a superset of C, and Rust is not a superset of C++; does this hinder their adoption a lot

Also, the pain of Python 2 -> 3 migration was that you can't mix py2 and py3 code in one project. This is not the case with Borgo apparently: you can mix it with Go, much like you can mix C++ / Zig / Rust with C, or TS with JS, or even Kotlin with Java.

By having excellent interoperability, Borgo may have a good chance of wider adoption. If I were its maintainer, I'd prioritize interoperability with plain Go and its stdlib highly.

Re: The Borgo Programming Language

#77
Almost the perfect language. I don't get why it's they didn't make it compatible with normal Go. It should have been like Typescript where you can compile plain Go, it just adds features on top it. The "let" and struct changes are totally unnecessary. Then you can interop with existing libraries and convert large Go projects to this incrementally.

Re: The Borgo Programming Language

#78
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…

JavaScript had Netscape behind it, TypeScript has Microsoft behind it, Rust had Mozilla behind it, Go has Google behind it, Java had Sun behind it, C++ had AT&T behind it, and so on..

Borgo?

Cannot think about much languages that haven't any bigger company behind it. PHP maybe? To an extend Python? But today Python good pushed by the big companies of the AI hype.

Re: The Borgo Programming Language

#79
post #39
post #37

Earlier quoted context omitted.

It'll probably not get as much traction as Go, but for a simpler reason that may not be as ideologically satisfying for you. It's just really hard for a new language to get real traction, no matter how good it is. And it's even harder for transpiled languages, because they almost always gets overshadowed by the language they're transpiling to.

What I find truly fascinating is that given the complexity of most build systems (especially ones that use babel) basically every node project I encounter is in fact effectively transpiled, it's just it's "javascript compiled to javascript" rather than having a different source syntax. I don't even mind[0], I think it's actually kind of amazing. [0] I have all the usual complaints about build systems and about the no…

But it's the minimal translation to allow newer language features and APIs to be still used in older browsers.

OTOH I haven't seen a pure JavaScript project for a number of years. It's all Typescript now, maybe with some vestiges of legacy JS slated for eventual migration to TS.

Re: The Borgo Programming Language

#80
post #76
post #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!" Ho…

What prevents this from being a superset? C++ is a superset of C; did it do much good? Zig is not a superset of C, and Rust is not a superset of C++; does this hinder their adoption a lot Also, the pain of Python 2 -> 3 migration was that you can't mix py2 and py3 code in one project. This is not the case with Borgo apparently: you can mix it with Go, much like you can mix C++ / Zig / Rust with C, or TS with JS, or e…

>What prevents this from being a superset?

There are various syntax changes, such as let. Of course, if Borgo could be modified to not have let, but that would be a backward incompatible change.

Post reply on HN