And here it is!!! My new programming language Osprey! This has been a 20 year long dream, finally made possible with AI assistance. So stoked this is finally possible! 🎉
Stars and shares appreciated! ✨
https://t.co/j7Ptksje4v
@Mike_Preston17 “There's no magic language that solves null completely or has enough knowledge about itself to prevent it.”
That’s just bullshit. You pointed out that the Option<T> pattern is a good option. When implemented properly with exhaustiveness checking. NREs are gone
@Mike_Preston17 You’re talking like I haven’t spent years combing over this exact problem, and in many languages. I have. I understand everything you’re saying. I’ve written about it quite a lot. Here is an old article that mentions the billion dollar problem
https://t.co/zec2nZdWqT
@Mike_Preston17 Grok is roughly right on most things but still just mixing up a bunch of different issues into one thing. There is not billion dollar null problem. That was a description of what null pointers were when they originally landed. Most languages have dealt with this stuff
.NET dev: I prefer C# over Python because it’s strongly typed
Me: Python has a better type system than C#. It has unions
.NET dev: I have no idea what you’re talking about but at least .net has runtime safety
Me: no it doesn’t. Nullability is not enforced
Try Basilisk 🐍
@EchoOfPixels .NET still has its place. F# is an amazing language. Python is not more strongly typed, but the type system is better because it doesn’t have all the baggage of the C# ecosystem
@cherepets@NeutraleNull Because result monads completely erase classes of mistakes that are possible with other kinds of error handling like exceptions. C# is just one of the last major languages left standing that doesn’t support it properly
@EchoOfPixels The term “strongly typed” is very imprecise and conveys very little information. Most languages are way more similar than people think. C# only has null safety at the analyzer level and you have to opt-in to use it. No safety at runtime so it’s similar to Python like this