From: Mathieu Bouchard Date: 2002-01-01T06:42:10+09:00 Subject: [ruby-talk:29896] Re: Ruby/Python: Software Engineering On Tue, 1 Jan 2002, noone wrote: > [...] commitment to "software engineering practices/methodologies". > [...] Software Engineering Practices/Methodologies include: > Designed from the "ground up" for readability The most readability comes from people who understand what they write, and the language in which they're writing it, and use appropriate abstractions. Bad readability comes from sweating the little stuff, and forgetting the big picture. > Enforced indention (you indent your own code I bet) That's a nice feature to save writing "end" all the time. But not having to write "self" all the time is much more important to me. > { @No #line $noise } > No short cuts ($!, $%, etc) Ruby's sigils convey meaning, therefore they are not noise. Perl's sigils are closer to useless because "$" occurs way too often in situations where you couldn't write anything else than "$". Programming is essentially made of shortcuts. I think the art of concise expression is something that should be understood and mastered, not feared. But I think half of the Perl-inspired shortcuts are no good. Example of good Perlish "shortcuts" would be && || &&= ||= operators. > Documentation a priority from the beginning > docstrings (at all) > docstrings (as properties) Docstrings are nice, and Ruby doesn't have them. I'd like them to be there, but this is far from being a priority to me. Meaningful, structured code is still more important to me, which is why I'd vote Lisp-style method-combinations as much higher priority on the list of things I'd add to Ruby. ________________________________________________________________ Mathieu Bouchard http://hostname.2y.net/~matju