logoalt Hacker News

mrsmrtssyesterday at 12:40 PM1 replyview on HN

And Linux kernel is written in C etc, so by this logic you don't even need memory safety. There is no good excuse for designing a language in modern times (this century) with every object nullable by default. C# at least mostly has solved this design mistake later by introducing nullable reference types (https://learn.microsoft.com/en-us/dotnet/csharp/nullable-ref...). Then again, Go designers insisted that generics were also unnecessary, until they changed their mind.


Replies

pjmlpyesterday at 2:42 PM

On the contrary, because there we have 40 years of security exploits to prove otherwise, and Linux kernel has plenty of CVEs.

C# solution doesn't work, most projects never adopted it, because it is a mess to use with third party libraries that never bothered to add the required annotations, hence why it is still a warning and optional to this day.

show 2 replies