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…
The Borgo Programming Language
71–80 of 204 posts
Re: The Borgo Programming Language
#72Earlier 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…
Re: The Borgo Programming Language
#73This 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…
Re: The Borgo Programming Language
#74Earlier 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.
Re: The Borgo Programming Language
#75Earlier 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...
Re: The Borgo Programming Language
#76This 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…
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
#77Re: The Borgo Programming Language
#78I 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…
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
#79Earlier 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…
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
#80This 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…
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.