programming in Java 8 is like introducing the nail gun into a world of claw hammers: for a lot of tasks,
post-functional will be more efficient and do a better job. There are, however, still times when you want
to use object-oriented programming: in our analogy, there are still times when you want to use the
You will have your own style, your own preferences, and your own sense of what is the “natural
solution.” Other people have their own style, preferences, and sense, too. This realization is why post-
modern programming languages came into existence. Unfortunately, trying to have a single language that
is everything to everyone ends up being a mess. However, there is still a lot of freedom within the context
of any team's shared understanding and the boundaries of the programming language. That freedom is
valuable: it is how each programmer on the team delivers their own maximal efficiency. So cherish the
freedom to have a distinct style, and for others to have the same freedom.
This also opens up opportunities for experiencing new things. You should never, ever turn down the
opportunity to be deeply exposed to a new way of doing things. Keep exposing yourself to it until it stops
seeming freakishly strange, unnecessarily hard, or incomprehensibly silly. That is the point when you will
have become a better programmer: you become better when you become broader.