3 ms·
Substituting null with optional helps with getting a stack trace of what's going on. However, it doesn't get rid of programming errors. What does get rid of er
by nurettin 6y ago
Substituting null with optional helps with getting a stack trace of what's going on. However, it doesn't get rid of programming errors.
What does get rid of errors is IDE support for nullable types which warns the programmer that they have accessed a property without checking for nulls. Take kotlin and Intellij/IDEA for instance.
- nemothekid 6y agoAn optional is the compiler telling me to check for nulls. My program won't compile if I don't check for nulls. IDE support is half baked, someone can always turn it off.
- nurettin 6y agoThis doesn't sound right. Could you paste an example of a misuse of optional (for example: an unchecked unwrap) causing a compilation failure instead of a panic?
- jpttsn 6y agoIn Swift `let x = things.first` won't compile but `let x = things.first ?? "empty"` and `let x = things.first!` will. Does that count? (Probably mangled the Swift, doing this from memory)
- nurettin 6y agoMy swift isn't good, but since you didn't specify a type for x, I think it should compile anyway. But if things is an empty array of T, first may return nil and x will be of type T?. If things is an array of optional, x will be of type T??