On Wed, 26 Jan 2005, Nicholas Van Weerdenburg wrote: > On Tue, 25 Jan 2005 15:57:32 +0900, Mathieu Bouchard <matju / sympatico.ca> wrote: > > Ruby allows you to play in the swamp, but it doesn't mean it's better to > > play in the swamp: rather see it as an opportunity to build your own raft, > > hopefully better than the one-size-fits-all raft provided with your > > standard static-language. > > [...] > My recent thought was that this should emerge as the result of good > programming practice. If you have complexity that requires a protocol, > then there is probably a module that already emerged and fills the > need- e.g. Enumerable, Comparable, IO, etc. There are indeed protocols that emerge rather often when you program, but there are also many protocols that you have to cook up yourself... and possibly make modules for. > I'm now thinking that explicitly thinking about protocols and > implementing them in a top-down manner is often not so necessary for > this reason. [...] > Finally, this implies a bottom-up style of programming, and that is > something of a personal style. So explicity protocols may help people > decompose and think about there program while writing it. I don't get the top-down style and bottom-up style anymore. I don't know why there should be an opposition between two so-called approaches, when clearly to me, they are complementary processes. Both should be used all of the time; that's how you build a healthy network of relationships in your programs. Maybe we really don't think of the same top-down (breaking down problems) and same bottom-up (merging up solutions). To me, any of the two can lead to any structure of code. Bottom-up can grow methods, protocols, classes, whatever, as they are just tools to fulfill the goal of bottom-up, which is to merge. > Of course, this implies well written programs, which is not the norm > in the world. Which again makes me think of the possible distinction > between pack-programming languages and hacker languages. You've been reading Reciprocality Theory or what ?? > And like extreme programming, most early large Ruby programs will be > probably be done by smaller groups of the leading lights of the Ruby > community. That might not generalize well to the world-at-large. I'm not discussing those things for the world-at-large. Who knows how the world-at-large works anyway? _____________________________________________________________________ Mathieu Bouchard -=- MontrñÂl QC Canada -=- http://artengine.ca/matju