What's better about Ruby than Python?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Brandon J. Van Every

    #46
    Re: What's better about Ruby than Python?

    Lulu of the Lotus-Eaters wrote:[color=blue]
    > The second surest sign that a post is a troll is if the author
    > includes:
    >[color=green][color=darkred]
    >>> This is not a troll.[/color][/color]
    >
    > The first surest sign that a post is a troll is if the author is:
    >[color=green]
    >> "Brandon J. Van Every" <vanevery@3DPro grammer.com>[/color][/color]

    Man, it's clear that I've got an entire hate group around here to
    exterminate! I wonder how long it's going to take? Maybe this is a
    positive sign of Python's growth: it's got enough critical mass to attract
    just about anybody, not just people who want to get things done. At any
    rate, welcome to my killfile.

    --
    Cheers, www.3DProgrammer.com
    Brandon Van Every Seattle, WA

    20% of the world is real.
    80% is gobbledygook we make up inside our own heads.

    Comment

    • Brandon J. Van Every

      #47
      Re: What's better about Ruby than Python?

      John Roth wrote:[color=blue]
      > "Andrew Dalke" <adalke@mindspr ing.com> wrote in message
      > news:bhq501$a98 $1@slb6.atl.min dspring.net...
      >[color=green]
      >> How many Ruby programmers (per capita) do you know talking about
      >> Python? Perhaps Python "has the potential to ...display Ruby"[/color]
      >
      > You might try getting onto some other newsgroups and mailing
      > lists that deal with more general (not language specific) issues and
      > find out exactly what people are saying. On the XP mailing lists
      > my general impression is that the Ruby programmers outnumber
      > the Python programmers, and a fair number of them came from
      > a Python background.[/color]

      Interesting anecdote and exercise suggestion. I will undertake it. For
      instance, what if Windows tools support is better under Ruby than Python?
      That's a hypothetical, I have no idea.

      --
      Cheers, www.3DProgrammer.com
      Brandon Van Every Seattle, WA

      20% of the world is real.
      80% is gobbledygook we make up inside our own heads.

      Comment

      • Doug Tolton

        #48
        Re: What's better about Ruby than Python?

        On Mon, 18 Aug 2003 16:09:47 -0400, Roy Smith <roy@panix.co m> wrote:
        [color=blue]
        >Why do you need macros? There's a few things people do with them:
        >
        >1) Define constants. In Python, you just define symbols in your module,
        >and get over the fact that there really is no such thing as a constant
        >in Python.
        >
        >2) Define efficient pseudo-functions. In Python, you just define a
        >function (or method) and get over the fact that it's not as efficient as
        >a macro. If I cared about microseconds, I wouldn't be writing in Python.
        >
        >3) File inclusion. In Python, you don't include files, you import
        >modules.
        >
        >4) Conditional compilation. In Python, you can conditionally define
        >anything you want at import time.
        >
        >5) Inventing your own language constructs. In Python, you just don't do
        >this.[/color]


        I don't agree at all. Yes when you are defining a macro you are in
        essence defining a new mini-language. This is perhaps one of the most
        powerful features of Lisp. Programming closer to the application
        domain, *greatly* enhances both the readability and the reusability of
        code.

        Good Lisp programmers use Macros all the time. They are incredibly
        useful and powerful. The reason you don't do this in python is
        because the feature isn't available. That doesn't mean it *shouldn't*
        be available. Python is Open Source, how would someone writing a
        Macro lock you in? Just don't use the macro.

        Just like anything else, Macro's can be over used and abused. However
        I maintain that if you don't see the usefulness of macros, you don't
        really understand them. Essentially using Python over Machine
        language is just using one big ass macro language. They are there to
        allow you to create higher level abstractions, and tools that are more
        specifically useful to your application domain than a general purpose
        tool.

        Python is a Macro Language of Machine Language. Why don't you just
        program everything in Machine Language? Macros are to Python as
        Python is to C as C is to Machine Language.

        Python is great, as the trend shows, working at higher levels of
        abstraction though is the ultimate goal.



        Doug Tolton
        (format t "~a@~a~a.~a " "dtolton" "ya" "hoo" "com")

        Comment

        • Erik Max Francis

          #49
          Re: What's better about Ruby than Python?

          Roy Smith wrote:
          [color=blue]
          > 5) Inventing your own language constructs. In Python, you just don't
          > do
          > this.[/color]

          My view of this is that if you really want to do this, you're better off
          inventing a separate language -- however similar to Python -- and using
          a processor to turn that language into real Python, which can then be
          interpreted. In an interpreted language, especially one as dynamic as
          Python, translation often strikes me as superior to incorporating
          macros.

          --
          Erik Max Francis && max@alcyone.com && http://www.alcyone.com/max/
          __ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
          / \ I want a martini that could be declared a disaster area.
          \__/ Capt. Benjamin "Hawkeye" Pierce

          Comment

          • Erik Max Francis

            #50
            Re: What's better about Ruby than Python?

            "Brandon J. Van Every" wrote:
            [color=blue]
            > You know, people would get along a lot better if they didn't have the
            > intellectually lazy habit of "troll hunting." When people express
            > their
            > opinions about pros and cons, they are not trolling.[/color]

            But don't you find it interesting that an anomalously large percentage
            of people you encounter on Usenet -- the reaction of comp.lang.pytho n is
            not at all atypical -- conclude that you're trolling? Since this has
            happened over and over again, ad infintum and ad nauseum, across all of
            Usenet, everywhere you go, and doesn't happen with nearly that much
            frequency to others, wouldn't it be reasonable to conclude there _might_
            just possibly be something bad about your approach, particularly if you
            sincerely don't intend to troll?

            Aren't you just a little bit curious about why this keeps happening to
            you?

            --
            Erik Max Francis && max@alcyone.com && http://www.alcyone.com/max/
            __ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
            / \ I want a martini that could be declared a disaster area.
            \__/ Capt. Benjamin "Hawkeye" Pierce

            Comment

            • Alexander Schmolck

              #51
              Re: What's better about Ruby than Python?

              Harry George <harry.g.george @boeing.com> writes:[color=blue]
              > In the Lisp world, you use the hundreds of macros in CL becuase they
              > *are* the language. But home-grown (or vendor supplied) macros are
              > basically a lockin mechanism. New syntax, new behavior to learn, and
              > very little improvement in readability or efficiency of expresison
              > (the commmon rationales for macros).[/color]

              How can you claim with a straight face that the sophisticated object, logic
              programming, constraint programming, lazy evaluation etc systems people have
              developed in scheme and CL over the years have brought "very little
              improvement in readability or efficiency"?
              [color=blue]
              > The python language is just fine as is.[/color]

              No it isn't. Like every other language I know python sucks in a variety of
              ways (only on the whole, much less so), but I don't claim I know how to fix
              this with a macro system. I'm just not sure I buy Alex's argument that an
              introduction of something equivalent in expressive power to say CL's macro
              system would immediately wreck the language.

              The trick with adding expressiveness is doing it in a manner that doesn't
              invite abuse. Python is doing pretty well in this department so far; I think
              it is easily more expressive than Java, C++ and Perl and still causes less
              headache (Perl comes closest, but at the price of causing even greater
              headache than C++, if that's possible).
              [color=blue]
              > If you really, really need something like a macro, consider a template body
              > which is filled in and exec'd or eval'd at run time.[/color]

              I've actually written a library where most of the code is generated like this
              (and it works fine, because only trivial code transformation are needed that
              can be easily accomodated by simple templating (no parsing/syntax tree
              manipulations necessary)).

              But show me how to write something like CL's series package that way (or
              better yet, something similar for transforming array and matrix manipulations
              from some reader-friendly representation into something efficient).


              'as

              Comment

              • John J. Lee

                #52
                Re: What's better about Ruby than Python?

                Alex Martelli <aleaxit@yahoo. com> writes:
                [...][color=blue]
                > of each block (rather than just unindenting) -- but then I do get
                > to avoid typing the equally-silly ':' which Python requires at the
                > _start_ of each block, so that's almost a wash:-). Other syntax[/color]
                [...]

                I'd never noticed that. Greg Ewing has pointed out a similar trivial
                wart: brackets and backslashes to get multiple-line statements are
                superfluous in Python -- you could just as well have had:

                for thing in things:
                some_incredibly _long_name_so_t hat_i_can_reach _the_end_of_thi s =
                line

                where the indentation of 'line' indicates line continuation.

                [color=blue]
                > Others no doubt base their choice of programming languages on just
                > such issues, and they generate the hottest debates -- but to me that's
                > just an example of one of Parkinson's Laws in action (the amount on
                > debate on an issue is inversely proportional to the issue's actual
                > importance).[/color]

                The differences between Ruby and Python are, in the end, about as far
                from significant as it's possible to be (near as I can tell from
                everybody's comments, that is). Which is why Ruby's very existence is
                a bit sad -- you could almost regard it as a code fork, except that
                the author forgot to start with Python's source code ;-)


                [...][color=blue]
                > I do understand why others would thing otherwise, even though
                > I could hardly disagree more vehemently with them:-).[/color]

                Thus proving your own point about the inverse importance / volume
                relationship ;-)


                [...][color=blue]
                > Ruby does have some advantages in elementary semantics -- for
                > example, the removal of Python's "lists vs tuples" exceedingly
                > subtle distinction.[/color]

                You may be right there. Guido's comment that tuples are mostly
                mini-objects did clarify this for me, though.

                [color=blue]
                > But mostly the score (as I keep it, with
                > simplicity a big plus and subtle, clever distinctions a notable
                > minus) is against Ruby (e.g., having both closed and half-open[/color]

                In the end, though, don't you agree that any such judgement is, from
                the pragmatic point of view, pointless once you realise how similar
                the two languages are? If somebody sneakily switched Python and Ruby
                in the middle of the night (so that suddenly many more people use
                Ruby, and much more code was written in Ruby than in Python), you'd
                stick with Ruby, wouldn't you?

                [...][color=blue]
                > about undistinguishab le to anybody and interchangeable in any[/color]

                *in*distinguish able. Ha! I found a bug.

                [...][color=blue]
                > If I had to use Ruby for such a large application, I would
                > try to rely on coding-style restrictions, lots of tests (to
                > be rerun whenever ANYTHING changes -- even what should be
                > totally unrelated...), and the like, to prohibit use of this
                > language feature. But NOT having the feature in the first
                > place is even better, in my opinion -- just as Python itself[/color]
                [...]

                I mostly agree, but I think you could be accused of spreading FUD
                about this. Does anybody *really* choose to alter string-comparison
                semantics under everybody else's nose in Ruby?? That would be like
                doing

                import some_module

                def evil_replacemen t_function(): return blah()

                some_module.imp ortant_function = evil_replacemen t_function


                in Python, wouldn't it?


                John

                Comment

                • Jack Diederich

                  #53
                  Re: What's better about Ruby than Python?

                  On Mon, Aug 18, 2003 at 03:14:52PM -0700, Brandon J. Van Every wrote:[color=blue]
                  > Lulu of the Lotus-Eaters wrote:[color=green]
                  > > The second surest sign that a post is a troll is if the author
                  > > includes:
                  > >[color=darkred]
                  > >>> This is not a troll.[/color]
                  > >
                  > > The first surest sign that a post is a troll is if the author is:
                  > >[color=darkred]
                  > >> "Brandon J. Van Every" <vanevery@3DPro grammer.com>[/color][/color]
                  >
                  > Man, it's clear that I've got an entire hate group around here to
                  > exterminate! I wonder how long it's going to take? Maybe this is a
                  > positive sign of Python's growth: it's got enough critical mass to attract
                  > just about anybody, not just people who want to get things done. At any
                  > rate, welcome to my killfile.[/color]

                  Never blame on malice what can be explained by stupidity.

                  I don't care if you write troll posts maliciously or not, I do care that you
                  keep sending them.

                  So how big is that RAID that holds your killfile?

                  -jack

                  Comment

                  • John J. Lee

                    #54
                    Re: What's better about Ruby than Python?

                    "Brandon J. Van Every" <vanevery@3DPro grammer.com> writes:
                    [color=blue]
                    > Alex Martelli wrote:[color=green]
                    > >
                    > > Don't be misled by these comparisons into thinking the two[/color][/color]
                    [...][color=blue][color=green]
                    > > spaghettini as the pastasciutta to go with suitable sauces for
                    > > such long thin pasta forms (olive oil, minced garlic, minced[/color][/color]
                    [...][color=blue][color=green]
                    > > [or even -- I'm a heretic...! -- light mint...] leaves -- at
                    > > the very last moment before serving the dish).[/color]
                    >
                    > What a wonderful runon sentence. You must be an A. A. Milne fan.[/color]
                    [...]

                    Well, art is art, isn't it? Still, on the other hand, water is water!
                    And east is east and west is west and if you take cranberries and stew
                    them like applesauce they taste much more like prunes than rhubarb
                    does.

                    Groucho Marx.


                    John

                    Comment

                    • Doug Tolton

                      #55
                      Re: What's better about Ruby than Python?

                      On Mon, 18 Aug 2003 15:09:44 -0700, "Brandon J. Van Every"
                      <vanevery@3DPro grammer.com> wrote:
                      [color=blue]
                      >Doug Tolton wrote:[color=green]
                      >>
                      >> Clearly you are interested in people's philosophical take on why you
                      >> should've posted to the Ruby boards, because you take the time to
                      >> respond to each and every criticism.[/color]
                      >
                      >I actually can't remember that I've deliberately done that. I expect I
                      >probably haven't. At any rate, I do always take the time to let people know
                      >that I'm putting them in my killfile. Such as yourself. You haven't said
                      >anything awful, but you also went out of your way to make an otherwise
                      >content-free post at my expense. Of what use is that to me? Eventually,
                      >I'll whittle this group down to people who can take a simple, rational
                      >question at face value, provide the needed info, and be done with it.[/color]

                      Yes!!

                      I wonder why he takes the time to continue posting to this group if we
                      are all such idiots?


                      Doug Tolton
                      (format t "~a@~a~a.~a " "dtolton" "ya" "hoo" "com")

                      Comment

                      • Gonçalo Rodrigues

                        #56
                        Re: What's better about Ruby than Python?

                        On 18 Aug 2003 23:40:58 +0100, Alexander Schmolck <a.schmolck@gmx .net>
                        wrote:
                        [color=blue]
                        >Alex Martelli <aleaxit@yahoo. com> writes:
                        >[color=green]
                        >> Alexander Schmolck wrote:
                        >> ...[color=darkred]
                        >> > I recall the following, roughly in order of importance (treat with
                        >> > caution, it's some time that I looked at Ruby):
                        >> >
                        >> > 0. I it's possible to redefine classes at runtime without going bonkers
                        >> > (instances automatically get updated to the new class definitions).[/color]
                        >>
                        >> This is generally feasible in Python, too -- but not with built-in types
                        >> (e.g., you can't redefine what "+" means on integers, while in Ruby you
                        >> could).[/color]
                        >
                        >I don't care about redefining built-in types, I *do* care about redefining the
                        >behavior of all instances of a class automatically, rather than by hand and
                        >only for some cases (like classes without those damned __slots__).
                        >[color=green][color=darkred]
                        >> > This, I think is by far python's greatest flaw, amongst other things it
                        >> > greatly compromises its interactiveness , which is a key virtue. If
                        >> > someone can explain to me how I'm wrong on this and python's behavior
                        >> > really is sane, I'll be eternally grateful.[/color]
                        >>
                        >> I don't think I understand what you're saying. For example:
                        >>[color=darkred]
                        >> >>> class X:[/color]
                        >> ... def amethod(self): return 'just a method'
                        >> ...[color=darkred]
                        >> >>> x=X()
                        >> >>> x.amethod()[/color]
                        >> 'just a method'[color=darkred]
                        >> >>> def abettermethod(s elf): return 'ah, now THIS is better!'[/color]
                        >> ...[color=darkred]
                        >> >>> X.amethod = abettermethod
                        >> >>> x.amethod()[/color]
                        >> 'ah, now THIS is better!'[color=darkred]
                        >> >>>[/color][/color]
                        >
                        >I want something like:
                        >[color=green][color=darkred]
                        >>>> class X:[/color][/color]
                        >... def amethod(self): return 'just a method'
                        >...[color=green][color=darkred]
                        >>>> x=X()
                        >>>> class X:[/color][/color]
                        >... def amethod(self): return 'ah, now THIS is better!'
                        >...[color=green][color=darkred]
                        >>>> x.amethod()[/color][/color]
                        >'ah, now THIS is better!'
                        >
                        >But of course what currently happens is:
                        >
                        >'just a method'
                        >[/color]

                        And rightly so, you have just rebinded a name. If you type

                        x.__class__

                        you get the older X. Or are you proposing that rebinding X to
                        automagically rebind the __class__ of all the X instances?

                        But why can't you just

                        X.amethod = lambda self: "ah, now THIS is better!"

                        that is, mutate the class referenced by X instead of rebinding X to
                        some other class?

                        With my best regards,
                        G. Rodrigues

                        Comment

                        • Michele Simionato

                          #57
                          Re: What's better about Ruby than Python?

                          I gave a look at Ruby some months ago, due to various favorable
                          opinions
                          I saw on c.l.py. Whereas there are few interesting things, there are
                          at
                          least two things I didn't like:

                          1. The syntax: too perlish for my taste;
                          2. Mixins: a poor man solution compared to multiple inheritance in
                          Python.

                          I also got the impression that they make a big deal about object
                          orientation but that in practice Python has a better support for
                          object orientation (I mean multiple inheritance, metaclasses,
                          descriptors, properties,
                          etc.) even if nobody is interested in stressing this point
                          particularly
                          in this community, since Python is multi-paradigm. Also, functional
                          programming seems to be easier in Python than in Ruby.

                          I got these impressions from an evening reading the tutorial, so
                          I reserve myself the right to change my opinion if I find the time
                          of looking at Ruby better ;)
                          Anyway, no doubt that I will choose Ruby over perl, tcl, c#, c++,
                          java,
                          etc. (I mean, as a language; the situation is different if
                          avalaibility
                          of libraries or performances are taken in account). If Perl is
                          Python's
                          uncle, Ruby is Python's brother. As other have said, there are more
                          similarities than differences and I expect the productivity to be more
                          or less the same (modulo possible issues with the lack of librairies
                          or english documentation, issues that probably will disappear soon,
                          I think).



                          Michele

                          Comment

                          • Andrew Dalke

                            #58
                            Re: What's better about Ruby than Python?

                            Doug Tolton[color=blue]
                            > I don't agree at all. Yes when you are defining a macro you are in
                            > essence defining a new mini-language. This is perhaps one of the most
                            > powerful features of Lisp. Programming closer to the application
                            > domain, *greatly* enhances both the readability and the reusability of
                            > code.[/color]

                            For that domain. And rarely does the author of a package,
                            much less a macro, understand "the domain as understood by other
                            people" vs. personal understanding.

                            This topic has come up before. Laura Creighton made several
                            comments on macros, the most notable of which is:

                            lac:
                            ] Writing your own Lisp Macro System is better than sex. I
                            ] _know_ -- 18 year old me turned down _lots_ of opportunities
                            ] for sex to go hack on her macro system. Thus if we introduce
                            ] this to the language, I think that it is _inevitable_ that we will
                            ] fragment the Python community into a plethora of mutually
                            ] unintelligble dialects. I don't want this. Thus I don't want a
                            ] macro facility in the language _because_ it would be so cool.
                            [color=blue]
                            > That doesn't mean it *shouldn't* be available [in Python].
                            > Python is Open Source, how would someone writing a
                            > Macro lock you in? Just don't use the macro.[/color]

                            Another writing from Laura seems relevant:


                            My interepretation - I don't customize my apps, nor even
                            my .cshrc (except for one alias (alias ls 'ls -l \!* | grep ^d')
                            an 'unset noclobber', 'set ignoreeof', and the PATH and
                            LD_LIBRARY_PATH - and I wish I didn't need those)
                            I don't, because I don't like to think. At least not spend my
                            time puzzling out slight changes. I like my changes either
                            none or a lot, that is, use Python as-is or write a converter
                            (or use another language).
                            [color=blue]
                            > Just like anything else, Macro's can be over used and abused. However
                            > I maintain that if you don't see the usefulness of macros, you don't
                            > really understand them.[/color]

                            That's not the argument against them. It's that they are too useful,
                            each person makes their own dialect, the community breaks down
                            as the different branches do their own thing, and one person's so-
                            called "Python" code looks different than another's.

                            I know I am nowhere near as good a language designer as Guido,
                            Larry Wall, Matz, and the others, though I think I'm pretty decent.
                            I don't have the essential hubris to say that I know better how
                            to tweak Python-the-language to fit my own domain.
                            [color=blue]
                            > Essentially using Python over Machine
                            > language is just using one big ass macro language.[/color]

                            You confuse two meanings of the word 'macro' here.
                            Any assembly language worth its salt has "macros", which
                            are pre-assembled sets of code. Use the macro and it
                            generates the code. But you can't use those macros to
                            rewrite the actual language like you can with hygenic
                            macros. It doesn't have the proper tail-biting recursive nature.

                            Andrew
                            dalke@dalkescie ntific.com


                            Comment

                            • Alexander Schmolck

                              #59
                              Re: What's better about Ruby than Python?

                              Gonçalo Rodrigues <op73418@mail.t elepac.pt> writes:
                              [color=blue]
                              > On 18 Aug 2003 23:40:58 +0100, Alexander Schmolck <a.schmolck@gmx .net>
                              > wrote:[/color]
                              [color=blue][color=green]
                              > >But of course what currently happens is:
                              > >
                              > >'just a method'
                              > >[/color]
                              >
                              > And rightly so, you have just rebinded a name. If you type
                              >
                              > x.__class__
                              >
                              > you get the older X. Or are you proposing that rebinding X to
                              > automagically rebind the __class__ of all the X instances?[/color]

                              Well, yes, I propose that x.__class__ return the *new* definition of X (like
                              in ruby, for example). I don't think that necessarily involves rebinding
                              anything "automagica l", depending on how the lookup of x.__class__ works.

                              Can you give my any reason why you would *not* want all instances to be
                              updated on class redefinition?

                              [color=blue]
                              >
                              > But why can't you just
                              >
                              > X.amethod = lambda self: "ah, now THIS is better!"
                              >
                              > that is, mutate the class referenced by X instead of rebinding X to
                              > some other class?[/color]

                              Um, didn't you read what I wrote or was I just unclear?

                              To recap: usually, if I change a class I'd like all pre-existing instances to
                              become updated (Let's say you develop your program with a running python
                              session; you notice a mistake in a method-definition but don't want to start
                              over from scratch; you just want to update the class definition and have this
                              update percolate to all the currently existing instances. This is an *very*
                              reasonable wish if it doesn't just take seconds to get to the current state by
                              rerunning everything, but possibly hours or days). AFAIK doing this in a
                              general and painfree fashion is pretty much impossible in python (you have to
                              first track down all instances -- not an easy task, as far as I can see and
                              then updating their .__class__ might not quite work as expected either as I've
                              already mentioned).

                              I think this sucks big time, because it greatly devalues the interactive
                              programming experience for certain tasks, IMHO, but maybe I'm just missing
                              something since typically nobody complains.

                              'as

                              Comment

                              • Asun Friere

                                #60
                                Re: What's better about Ruby than Python?

                                "Brandon J. Van Every" <vanevery@3DPro grammer.com> wrote in message news:<bhrijh$2c n0j$1@ID-203719.news.uni-berlin.de>...[color=blue]
                                > Lulu of the Lotus-Eaters wrote:[color=green]
                                > > The second surest sign that a post is a troll is if the author
                                > > includes:
                                > >[color=darkred]
                                > >>> This is not a troll.[/color]
                                > >
                                > > The first surest sign that a post is a troll is if the author is:
                                > >[color=darkred]
                                > >> "Brandon J. Van Every" <vanevery@3DPro grammer.com>[/color][/color]
                                >
                                > Man, it's clear that I've got an entire hate group around here to
                                > exterminate![/color]

                                Doesn't that just mean a lot of people will be able to talk about you
                                behind your back without your ever realising? I was wondering why all
                                those people were making allegations about small children, and you
                                didn't defend yourself. I thought it was all true!
                                [color=blue]
                                > At any rate, welcome to my killfile.[/color]

                                Like he cares?

                                Congratulations , you've just managed to deprive yourself of the often
                                insightful contributions of a regular poster to this newsgroup.

                                I wonder if you wouldn't be better off simply not participating in
                                Usenet groups at all. You'll save significant amounts of diskspace
                                without that killfile of yours, not to mention keystrokes. But please
                                feel free to add me to your much vaunted killfile as well, that way
                                you don't have to listen one of the few people who, in this thread,
                                actually took your question seriously and gave a substantive answer.

                                Ah yes, back to substance. I forgot to mention that Ruby ranges seem
                                much more intuitive than Python slicing. But I think the confusion,
                                to the extent that confusion does exist, is because Python has one
                                foot in the C-like 'n-1 indexed array' camp (in relation to ordinary
                                indexing of elements), and one in the '0 is not an ordinal, but a
                                point of origin,' camp (in relation to splitting). :ducks.

                                Comment

                                Working...