I disagree on the defaults issue. It's better to have an error of some kind that points you directly at the source of a problem than simply a missing word or a nonsensical one.
Dear unknown, Your bank account null has a $NaN balance. Thank you, $DEPT On Jun 4, 2012 11:25 AM, "clay" <[email protected]> wrote: > The null coalescing operator aka the Elvis operator is a simple shorthand > for the traditional approach seen in C-derived languages: > > String something = something ? something : "default value"; // Ternary > operator in C, Java, JavaScript, C#, an many others > val something = something ?: "default value" // Groovy coalescing operator > (Elvis Operator) > String something = something ?? "default value"; // C# coalescing operator > > The advantage of Scala's Option is that it works properly with map and > fold type functions without any special null checking/coalescing syntax. > > Fantom and Kotlin (and Haskell) take this much further. By default, > references are non-nullable, and the compiler guarantees that they can > never contain null values at runtime. When nulls make sense, you can choose > to use a nullable reference. > > IMO, the best is the Fantom/Kotlin/Haskell route. Scala has the second > best option that is based on an intentional trade off with better Java > interop. A simple null coalescing operator is the weaker solution and that > is only slightly better than Java which requires slightly more syntax. > > On Sunday, June 3, 2012 9:43:48 PM UTC-5, Cédric Beust ♔ wrote: >> >> From a practical standpoint, I think that the "Elvis" approach which I >> first saw in Groovy and which is also available in Fantom and Kotlin is the >> best of both worlds. It doesn't offer the nice monadic properties that >> Option gives you, but it comes at a much cheaper price and less boiler >> plate. >> >> -- > You received this message because you are subscribed to the Google Groups > "Java Posse" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/javaposse/-/2IMakRSvHSoJ. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > -- You received this message because you are subscribed to the Google Groups "Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
