I posted twice before about some of the things in Scala which I think help and hinder legibility – all from my personal perspective of course. Well, here’s the third instalment. It’s dedicated to the Option. #winning:
Wins
- Option types
- just the concept in general – I think it’ll be a long time before I fully grok how great these really are
- not to mention they’re biased (c.f. Atomic Scala, Atom: “Handling Non-Values with Option”, pp 352)
- but also their being handled seamlessly in for comprehensions
- as well as their having foreach and map functions on them
- and the Option names: Some and None
- null (even from Java code) being wrapped as a None
Losses
- None – not that I can think of anyway…
Undecided
- The name “Option” – Bruce and Dianne aren’t convinced. I don’t hate it. (c.f. Atomic Scala, Atom: “Handling Non-Values with Option”, pp 355)
Post-script
Excitingly, the same idiomatic concept makes it into the Scala equivalent of Java’s try/catch: Try(…) which produces either a Success or a Failure. Far more on that to come in the next post (and much more), this time from a special guest: Colorado-resident, CodingFrog.
No comments:
Post a Comment