Live data from Hacker News

The Borgo Programming Language

borgo-lang.github.io

201–204 of 204 posts

Re: The Borgo Programming Language

#201
I've been very hungry for a solution to golang's unsafe nil pointers, something as elegant as what dart lang got.

I was looking at nilsafe source analyzers etc, anything that can get prevent the programmer from referencing potentially nil pointers without checking them first!

Dart really got this handled well. This is the biggest weakness for me about go, so Borgo is worth checking out!

I was even considering also looking at making a lang that transpiles to go, that is almost syntactically identical to go, but just makes clear distinction between nillable. and never-nillable pointers, and forced check before use of any potentially nil ptr.

I'm glad Borgo now exists. I really am not motivated enough to create one myself. I just want to use one. Super happy to see I am not the only person frustrated enough by this. I'm almost at the point of throwing away my super efficient go-server code and redoing it in dart, knowing it will be far less performant, just so I can have less crashy code.

Borgo or something like Borgo could be the perfect solution. Go's toolchain is incredibly fast in build time and super efficient at run time, very few things beat it for the level of programmer productivity. Just a pitty about those damn nil pointer crashes. Would have been an almost perfect language then. Even the error by value ans dual return value stuff one can live with.

But nil pointer crashes in a high-level language in current year is too much for me. Literally a game changer in modern nil safe languages. Have pointers, but know which ones can be nil, and disallow code that can lead to nil pointer exceptions. Is this really such a strange preference to have?

Re: The Borgo Programming Language

#202
post #134

Earlier quoted context omitted.

Googlers used to think about themselves as of elite engineers, having passed a very stringent and demanding interview process. Mr. Pike's quotation assumes that the Googlers should not be expected to be too intellectually capable. That's the damning part for me.

Intellectually capable to do what? Orchestrate some of the largest distributed network systems in the world? I bet you all the best functional programmers wouldn't be able to create something as big as Google if you got them in a room together. Nor would they be able to create anything as important as UNIX, like one of Go's creators did. Nor UTF-8. Nor the JVM HotSpot machine. I could go on. What have you done that K…

> The fact that none of these highly accomplished individuals want anything FP-related in Go says far more than what typical Go-haters want to think it does.

Does it?

I'm not a Go hater but just because they were involved in making the things you listed doesn't mean they would do it again with Go. It just means they don't trust others with different languages.

I don't think what you said refutes people's perception of Go, which is its a fairly limited language that is good for keeping people on rails (like fresh grads). That might make sense for a large business hiring lots of people but maybe not for small companies.

Also there is a world of difference between FP features and the basic features people asked for in Go (like generics).

Re: The Borgo Programming Language

#203
post #173

Earlier quoted context omitted.

Kotlin so crazy with its default-closed, default-final method approach. Do these people even ship software? Or do they ship textbooks? People are acting likely they are writing chapters of Biblical verse with their code—they knew everything better than the user, including knowing what to hide. It’s OK/good to have extensible code, even if the original did not intend it. To have every class be final by default and hid…

Yes, many of us don't believe on monkey patching. JetBrains and Android manage to ship Kotlin software. Unfortunately software architecture isn't part of most bookcamps, or many devs that rather code away.

You are deluded or trolling calling it monkey patching. Dynamically overriding a public method definition is monkey patching. Extending a public class and overriding some public or protected method is not monkey patching, you are crazy if you think it is.

You think you thought of the proper public API that your software modules should have? Especially your internal software? Of course you didn’t think of it all ahead of time. It’s a software architecture concept called “open for extension”, look it up.

JetBrains doesn’t ship anything with deadlines or that must always stay on. Users can always downgrade the IDE. The number of times I’ve been to turn off the latest feature and try again (to see if the IDE still crashes) is ridiculous. Number of times my build stayed stable after a major IntelliJ Idea upgrade? 50% success rate. I’m rolling the dice on every upgrade. Please let’s talk about shipping software with consequences.

Re: The Borgo Programming Language

#204
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'll use it... for a hobby project! :-D
Post reply on HN