Live data from Hacker News

The Borgo Programming Language

borgo-lang.github.io

101–110 of 204 posts

Re: The Borgo Programming Language

#102

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.

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

I think people want is Rust, but simpler. At least by default.

I could imagine people want a programming language that is: memory safe, without GC pauses. A bit slower by default than C / Rust, but with the _option_ to make it as fast. Then easier to learn, less vendor lock-in than Swift, and a modern syntax (no null pointers etc).

I don't think such a language exists currently.

Re: The Borgo Programming Language

#103
post #94
post #90

Earlier quoted context omitted.

Maybe because Go is not a VM?

Java compiles to native code for two decades now, it has always been a matter of how much one was willing to pay for a commercial JDK. “The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them…

> our programmers are Googlers ... They’re not capable of understanding a brilliant language

Sounds pretty damning, I'd say. This of course illustrates why Go is called "systems PHP".

> how much one was willing to pay for a commercial JDK.

I strongly prefer open-source tools at the base of my stack. Not as much because of the money but more because of the level of trust. Things should be inspectable.

Re: The Borgo Programming Language

#104
post #93

Earlier quoted context omitted.

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.

In my mind the fact that Go has Google behind it is the main reason it caught on (and quickly). It would have been completely ignored otherwise.

I think that's the point.

Re: The Borgo Programming Language

#105

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'm finding F# to be even closer because it has HM type inference, discriminated unions (note they are not as layout-efficient as Rust's, it is better in F# 9 though), is fully expression oriented and overall a quite terse language (Rust isn't really terse but can be made so in some cases).

It's worse at dealing with ref structs so C# is better for some low-level tasks. But it has other niceties like IL-level function and lambda inlining.

Re: The Borgo Programming Language

#106
post #103
post #94

Earlier quoted context omitted.

Java compiles to native code for two decades now, it has always been a matter of how much one was willing to pay for a commercial JDK. “The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them…

> our programmers are Googlers ... They’re not capable of understanding a brilliant language Sounds pretty damning, I'd say. This of course illustrates why Go is called "systems PHP". > how much one was willing to pay for a commercial JDK. I strongly prefer open-source tools at the base of my stack. Not as much because of the money but more because of the level of trust. Things should be inspectable.

That's what .NET is for (both C# and F#) - it has no private implementations (Unity does not count :P). Much more competent compiler too and smaller native binaries. Something you could confidently use in production.

Re: The Borgo Programming Language

#107
post #85

Earlier quoted context omitted.

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.

Python was obscure and developed in silence for 15 years before it caught on. The team behind it just never gave up. Most people who develop independent languages give up after a year or five. Lua is similar, though it and PHP both caught on faster because they both put embedding upfront, which allowed them to be built into game engines and websites built with C.

Python also fits its design space amazingly well (that's what's meant by "Guido's time machine"). It's a glue language, with a REPL, but it's not a shell (i.e. it's not meant to glue programs primarily through stdin/stdout/argv, but instead libraries through their APIs). It was a very useful (Greenspun's tenth rule) and somewhat underserved niche (perl, scheme and tcl come to mind).

Re: The Borgo Programming Language

#108
post #12
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…

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

Fitting a C compiler on a PDP-11 was an impressive achievement, but as a language it was a poor foundation to build anything reliable, and we still live with the consequences.

Re: The Borgo Programming Language

#109
post #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.

Interop would force the language to keep certain core features, like nil pointers and zero values, that in Borgo are presumably considered anti-features.

You end up with the worst features as the common denominator and something you can never get rid of; the moment you call a Go library that can return nils, for example, you have to deal with those as nils (and run the risk of nil bugs) rather than the safer option type.

We've been there before. C++ chose to be largely compatible with C as it existed at the time, and that legacy casts a long shadow, even if it's no longer a strict superset. C++ still has C-style arrays, null-terminated strings, unsafe pointer arithmetic, implicit conversions, etc.

You could also argue that TypeScript's backwards compatibility with JS also adds a similar burden. It's had to provide a lot of mechanisms to allow untyped values to share the same universe as typed values.

Maybe the solution is to provide a kind of "unsafe" kind of block where you can interact safely with Go code but you're forced to deal with the discrepancies. For example, you can call a Go function that returns nil, but to pass the value out of the unsafe block, you have to convert it to an optional.

Re: The Borgo Programming Language

#110
post #93

Earlier quoted context omitted.

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.

In my mind the fact that Go has Google behind it is the main reason it caught on (and quickly). It would have been completely ignored otherwise.

That + the individuals involved. Without the company backing + different (not already-"famous" [programmer famous]) people involved, it would have been completely ignored.
Post reply on HN