The Future
From APIDesign
Have You Ever Wondered...?
Do we need some changes to our programming languages, tools to build APIs more easily? Some changes would be nice, however they are not necessary. It is possible to write good APIs in C, in Java even now. It is just not very clueless right now. One needs to thing about the evolution issues related to API too much. As the Epilogue suggests, it would be really more simpler for all of us, if our systems were designed with evolution in mind. I hope this book will provoke discussion of how to do it.
Good Tools Help
The epilogue also mentions one parallel between programming and winter skiing.
In 1997, when I first took off my skis and jumped on snowboard, it was really hard to really enjoy effect of centrifugal force (one of the most significant reasons why people love to ride motorbikes, enjoy carousels, skiing or snowboarding) while downhill ride. At that pre-carving age, just few people managed to turn without sliding. The skis were too poor. At that time, it was much easier to practise that style while snowboarding:
However ski produces have caught up and modern carving skis make the centrifugal force available for almost everyone. Good tools help wider audience to do the right job.
The same parable applies to programming. Better languages, better coding practices, better libraries and better API Design Patterns make tough tasks, originally available to few chosen individuals, approachable by masses. Only if things are easy, we can use them in cluelessness mode. Often that does not mean we change the principles, we can just create better tools. Good tools help.