Oops! Brad Cox <bcox / virtualschool.edu> was seen spray-painting on a wall: > Still, its a shame ruby adopts the same shortcoming as java. > > Its not a language's business to prevent users from writing "smelly" code. > > Long argument lists are common in data initialization contexts, and > misplaced commas a extremely common problem, that's actively > manufactured by this rule. > > @@instance = SomeClass.new( > "127.0.0.1", > 8083, > "hostname.com", > blah, > blah, > whoops, > ); If you have a procedure with ten parameters, you probably missed some. -- Alan J. Perlis Common Lisp's :key parameters (that can have defaults) are an interesting approach to the problem. I seem to recall Objective C having a pretty nice approach to it, too. (Somehow your name tickles some memories concerning ObjC... You didn't have some involvement with it, did you?) If there are THAT many parameters, I think it's _critical_ for them to be named otherwise it starts being a bit like programming in Morse Code, Dit-Dah-Dah-Dah Dit Dah-Dit, with lots of risk of pieces getting out of sorts. And at that point, Perlis isn't just right, he's ferociously right... -- (concatenate 'string "cbbrowne" "@ntlug.org") http://www3.sympatico.ca/cbbrowne/languages.html Rules of the Evil Overlord #44. "I will only employ bounty hunters who work for money. Those who work for the pleasure of the hunt tend to do dumb things like even the odds to give the other guy a sporting chance." <http://www.eviloverlord.com/>