4 ms·
> there hasn't been a demonstrative reason to pull it" is not the reason it's not "been pulled Languages are hard to change and backwards compatibility is para
by zeendo 7y ago
> there hasn't been a demonstrative reason to pull it" is not the reason it's not "been pulled
Languages are hard to change and backwards compatibility is paramount. Hell, some languages support null just for interoperability (i.e. Scala) when they would have otherwise not allowed it when they were created.
Null isn't expressive and is historical baggage. At this point "billion dollar" is probably an understatement.
I wonder how many people that have spent significant time writing in languages that allow null and those that don't prefer having null?
I, for one, wouldn't willingly go back to a language that allows null.
- perl4ever 7y agoLots of languages have several ways to indicate an invalid value. With SQL, I generally prefer dialects where an empty string and null are considered the same, although that may be just due to what I learned first. Various Microsoft technologies seem to tend towards multiple ways of expressing null/missing/empty. An interesting thing about null in SQL is that the rule that any operation on a null returns null, only applies sometimes in some contexts. For instance in Oracle SQL: select max(case when x = 'ABC' then 'ABC' end) as y from ... ...is taking the maximum of an expression which is null whenever x <> 'ABC', yet it doesn't return null if there are rows where it does = 'ABC'. (sorry for any errors)