From: Massimiliano Mirra Date: 2002-01-02T02:33:20+09:00 Subject: [ruby-talk:29971] Re: Ruby/Python: Software Engineering On Tue, Jan 01, 2002 at 05:03:35AM +0900, noone wrote: > Software Engineering Practices/Methodologies include: *Whose* Software Engineering Practices/Methodologies? > Designed from the "ground up" for readability > Enforced indention (you indent your own code I bet) Readability lives in the tastes' department. Enforce, and you are not designing for readability. You are designing for *some* people's readability. > { @No #line $noise } Noise doesn't convey meaning at a glance, clearly and unequivocally. Ruby's `@' does. It works like an icon: it is a quick visual cue, whereas something like `self.' still must pass through your mind's language parsing. > No short cuts ($!, $%, etc) The natural language equivalent of this would be that a sentence like ``Move your right hand toward me, opening it in the meanwhile, and stop it at thirty centimeters from me, wait until you feel the pressure of an object in your hand and then close your fingers and mvoe your hand away'' is preferable to ``Hold this''. It isn't. It is preferable to ``Get da dam' thing, dude'', though, which shows how shortcuts are not good or bad per se but depending on the wisdom with which they are chosen. There is no point in striving for languages that are easily readable to a passer by, who could care less. IMHO they should be easily readable to those who use them. Yes, it sounds so obvious said that way. > Documentation a priority from the beginning > docstrings (at all) > docstrings (as properties) When I picked up Ruby after a week or so of Python, I told myself: ``What, no doc strings?'' They were such a cool idea... Then I realized that I only used them at the language prompt. Well, it's nice to just type a command at the prompt and get the docs, but not so incredibly nicer than switching consoles and just type a command at the prompt. This already exists for the built-in stuff through `ri' thanks to Dave Thomas, and looks like we'll get the same very soon for developed stuff soon through `rdoc' thanks to, guess who, Dave Thomas. And, of course, I no longer see the point of loading all that extra data together with the program, when they are mostly used through development only. > Many of you are probably tired of this type of thread, but these are > the types of things that keep me using Python and I am wondering > if/when/where Ruby addresses them. Are these simply topics of > opinion, or do they actually matter? I think you'd do yourself a favour by checking whether it is just *taste* that keeps you using Python rather than ``Software Engineering Practices/Methodologies''. And whether it is just made-up reasons for your taste that have you make up other reasons for not trying other languages. Ruby is no assembly: you get the hang of it in an afternoon, there is no excuse for long discussions. Why brood for days when you can be sure in hours? Massimiliano