>> Yes, of course those capabilities could be added simply with factoring >> work and little disruption to the API. That's the promise object >> technology, encapsulation. > > The main problem with FileDirectory that there's no API. > I can hardly call a single class as API... > as to me, it is clear that file system domain is a bit more complex > and in order to reflect it properly in a language you will need more > that a single role (FileDirectory).
FileDirectory is actually made up of 10 classes providing a rich but utilitarian API for traversal, navigation, stream creation, copying and renaming, filename parsing utilities. Platform-specific implementations all share the same API, including one for remote FTP access. For you to say "no API" is silly. > So, i really doubt that you end up with 'little disruption to API'. It > will be substantial. > > To me, design comes first. ALWAYS. > All of the rest is secondary. Design should be a means to some end, not an end in itself. You can design for 20 years but if real-world results are never harvested then it was only ever just playing around with a cool toy. My goal is to get as far along my software journey as my limited lifespan will allow.. > FileSystem establishing a clear > separation between conceptual model > ... snip ... > won't require serious changes and will serve you much much longer > without need to change anything in userland code. (Take a Collection > protocols for example). .. and so when I become faced with having to make "serious changes" in my "userland code," (e.g., a complex ODBMS system) just to hold position along my journey; naturally I'm resistant. You can try to justify it with design theory but, at the end of the day, the two frameworks do basically the same thing, converting to it is mostly pure cost. > Also, once you have such set of rules, it is much easier for people to > maintain implementation code, > as well as adding extra functionality if needed. > > Clearly, VM interfaces (such as primitives) should be not exposed to > ... Igor, a very good explanation for our individual views here is that your journey is building a great new Smalltalk, mine is something else. Cheers, Chris