I found one interesting data point in the Optional-debate concerning Optional's predecessor in Guava. It looks like Atlassian has built their own Guava-addon/fork, adding pretty much all the things discussed in this thread. The description <https://bitbucket.org/atlassian/fugue/> reads:
Google's guava project is a solid utility library providing many useful > interfaces and utilities, and it is a very commonly added dependency for > most projects. Unfortunately, they have a strong NIH syndrome and are > somewhat half-pregnant when it comes to functional-programming. This > library attempts round out some of the deficiencies that a functional > programmer finds when using Guava. > It will be really interesting to watch how the whole ecosystem of standard library addons will react when Java 8 starts to gain traction and substantial use. On the one side, lambda's allow a lot more abstraction which would have been considered over the top when Java only had AICIs (making addon libraries more likely), but on the other side, default methods allow Oracle to evolve standard library interfaces continually (decreasing the potential traction of addon libraries). Considering Optional's scope, it seems like it is restricted to only support ending some chained collection transformations, not to start or participate during those operations. Considering how long it took until most popular libraries and frameworks abandoned checked exceptions, I can understand that Oracle wants to avoid putting the whole library ecosystem into a much more severe limbo with a general-purpose Optional, in which parts of the libraries (including the JDK) would keep handling optional values at the value level (null), while other parts might decide to handle optional values at the type level (Optional). -- 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/-/xvDkuRC1V5wJ. 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.
