From: Emiliano Date: 2001-10-25T15:38:31+09:00 Subject: [ruby-talk:23264] Re: Bruce Eckel's opinion of Ruby Sean Russell wrote: > >> Really, using global variables is such a poor programming habit that I > >> believe that if you have someone on your team using them, you have more > >> problems than just global variables. > > > > So why not make them impossible? > > Why not hire decent programmers ;-) No, really. If someone doesn't know > how to use the tool properly, don't hire them for the job. Not everyone who programs is necesarily trained to be a programmer. And under time pressure, even excellent programmers will occacionally take short-cuts they'll regret later. > If you're > already employing them, they either need training, or a pink slip. Ah, you American you :) Firing people is not so easy here :) Even so, there's the bureaucracy to deal with. Even if I could let some people go (hypothetically! In case anyone of my team is reading this, it's hypothetically! :) there'd be no way to replace these people before Q3 2002. > > years and people coming and leaving, it was well worth the grumbling > > people would do about the anal/ugly/unreadable/ we > > took in the beginning. > > Aaah. This sounds like the infamous "Yeah it sucks, but we have to > maintain backward compatibility" argument. :-) It may sound like it, but what it actually says is "You got used to driving a car, which is unintuitive and takes practice, yet you found it to be worth the hassle. You got used to behaving properly at home and listen to the missus, which is unintuitive and takes practice, yet you found it to be worth the hassle (presumably :). If you can handle those, I don't see why you can't handle this." > Aside from the fact that nobody but Guido has any choice in the matter. *shrug*. Somebody has to make the decision. What I'm saying is that - even though I'll not likely use Python soon myself - I can accept the premise that setting an enforceable standard can be a Good Thing. > Do you use Linux? It's the OS I most frequently use, yes. > Here's the point of divergence. I feel towards Python's formatting > restrictions as you do about (hypothetical) naming restrictions. Every > argument you've made so far in support of Python's enforced style could be > made by someone in support of compiler-enforced naming conventions. On the > other hand, you *could* make the argument that any language that you didn't > write yourself imposes some stylistic restrictions. Specifically, however, > for whatever reason, you accept Python's style restrictions but wouldn't > accept further restrictions, while I reject style restrictions imposed by > the language author. Interestingly, Ruby's naming restrictions (the whole > case thing) caused me some heartburn when I first got started with it. > Every language suffers from this to some extent; although I chafe at the > restriction, it does coincide with my normal naming scheme, so I turned a > blind eye. So it's all a matter of what restriction clashes least with a personal idea of what's 'right' in a language. I can accept that for a large group of people, that means Python. Between Ruby and Python, I'm slightly in favor of the Ruby syntax. Slightly. I hate the enforced whitespacing of Pyhton as much as you appearantly do. OTOH, I don't like the 'typical Perl' dense coding and invisible operands that Ruby seems to encourage. There was a thread the other day about some script to pick out text between two tags in a file the revolved around code density instead of code clarity, which for me exemplified how not to approach a problem (first get it right, then get it fast vs. first get it right, then get it dense), and most of the ruby code I've seen takes that tack to a smaller or larger extent. I'll note here that I haven't done much ruby programming beyond quicky scripts that I could easily have used perl for. > Well, we certainly agree there. I wasn't advocating democracy, however, > but local control. I maintain that this is a difference between a remote > dictator whom you'll never talk to, vs. a local dictator whom you interact > with daily. I'd rather have the local dictator. That too depends on the situation. Even though I do use Linux, I see my chances of getting in contact with Linus and getting him to change bits to suit me personally as very slim indeed. Nor would I care to. I'd rather have a system that works like my cow-orkers for consistencies sake. I see the same reasoning from Python users. Emile