From: Robert Feldt Date: 2001-10-24T05:30:35+09:00 Subject: [ruby-talk:23085] Re: Bruce Eckel's opinion of Ruby Hi Eric and thanks for your detailed comments, I'm trying to understand them fully and have some questions. Would be great if you have the time to answer them. > 1. Python's namespace conventions (i.e., no "global" global variables, only > module-global variables) make it easier to partition a large project amongst > various programmers, especially projects that require configuration variables > of some sort (which are "global""), where you can divide them amongst several > programmers/several modules without worrying about conflicts. > Do you mean that if there is a (in some aspect) "bad" language construct it will be used? Or is there something that can be done in Python here that is not possible with Ruby (here: class vars in module)? > 4. I like being able to pass around a method in Python. This makes many > things much easier. > You know of Object#method? But I've heard Python has syntactic support here? Are you after something like [1,2].map(:succ) # => [2,3] which I'd like (and can have by redefining map etc). But there is a deeper difference here? > 7. Access to object namespace in Python allows very easy self-referential > classes. > Hmm, sounds interesting. Can you show example or point me to one? > 15. Python has a much better Emacs mode than Ruby. I especially like the > class browser. > Any one feel like extending Ruby mode by looking at Python's? > Final conclusions: I must agree with Bruce Eckel that I could not recommend > that a Python programmer move to Ruby except in very special circumstances, > because the two languages are so similar that there's no real advantage to > doing so. > Sounds reasonable if they are very similar. > My preliminary conclusion is that Python is a superior language for large > projects. It is virtually impossible to make a difficult-to-read Python > program due to its indentation-based syntax, > IMHO, Python is hard to read. And passing self along hides the essence... > the namespace partitioning makes > large projects easier to partition amongst multiple programmers or multiple > programming groups, > Could you give a concrete example of this? > and there is a large number of enterprise-oriented > libraries for access to various proprietary and non-proprietary external > systems. > Ok. > It is also portable to more architectures than Ruby, which is > important for some large multi-platform applications. > Ok. > Python's syntax is also > more regular and consistent than Ruby's, which again is important for large > multi-programmer projects. > Why is it more important? To enforce a certain coding format? Example? > I > would not, however, relish attempting to manage 100K+ lines of Ruby code for > a project, while Python proved to be quite usable for 100K+ lines of code. > I don't agree with this but I haven't developed any 100K+ lines of Ruby programs. Why will Ruby "break down"? My feeling has been quite the opposite even though the difference to other languages might not be revolutionary. I use Ruby more as a general programming language than as a scripting language. NOTE: I'm not into any language flaming here; just trying to understand your points better. Regards, Robert