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