From: "NAKAMURA, Hiroshi" Date: 2005-10-06T10:31:13+09:00 Subject: Re: Ruby 1.8.3 breaks Needle's logger? Hi, Jamis Buck wrote: > Well, to be fair, it was a private API that changed. The problem was What is the concept 'private API' here? In general library development, there are 2 APIs for users and developers. For users it can be called 'public API' as you wrote. Is 'private API' you wrote an API for developers who extend a class for implementation inheritance? Unfortunately Ruby has its small weakness about representing the latter API. Only we can do is writing a document about it. Logger has an inline document (by gsinclair: Thanks) but there's no mention about it because it's a 'final' (Java term) class. As a library developer, I wish if I were able to write some 'protect'-ness and 'final'-ness explicitly (without writing any document) in Ruby. IIRC Java uses 'final', 'protected' and "This implementation ..." in Javadoc comments though. Anyway, at this time, developers should not do both removing constants for redefinition and overwriting private methods without explicit permission by documents if they can. Regards, // NaHi