On Thursday, August 27, 2015 at 1:15:14 AM UTC+2, red...@gmail.com wrote: > > I have found the access control stuff in Java to be an incredible pain. > When attempting to compose a larger system from the parts. Generally > everything is compulsively private, so if an api doesn't exactly expose > what you want, you either have to write what you want completely from > scratch, or use reflection to get a the bits you want to compose in to > what you want. >
Do you want to program against an API or against a Big Ball of Mud? There is no such thing as an open API; either you accept the constraints imposed by the API (and thus can rely on the contractually guaranteed behavior) or you are effectively creating a runtime fork of the library exposed by the API with undefined semantics. In practice, you are of course right that more often than not, Java APIs are badly designed. For a really, really nice book about the issues of balancing usability, extensibility and maintainability of Java APIs (including a discussion of some intricate issues of source compatibility vs. binary compatibility that I have not seen discussed anywhere else) is "Practical API Design" by Jaroslav Tulach. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.