Ten Essential Development Practices

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Paolino

    #16
    Re: Ten Essential Development Practices

    gyromagnetic@gm ail.com wrote:[color=blue]
    > The following url points to an article written by Damian Conway
    > entitled "Ten Essential Development Practices":
    > http://www.perl.com/pub/a/2005/07/14/bestpractices.html
    >
    > Althought the article has Perl as a focus, I thought that some of the
    > general points made might be of interest to the Python community. It
    > would certainly be interesting to put together an analogous version of
    > this article that centers on Python.
    >[/color]
    Hmm, Perl is called a write once language, but it has thousands of
    libraries.Any comment appreciated.

    That said,those points are mixing different responsabilitie s in writing
    code.I keep on mixing for fun:

    -Writing libraries is not writing scripts.
    -Writing readable,well structured,non redundant code is somewhat
    perpendicular to tests.
    -Writing tests is a must for more people to work on the same code.
    -Deciding the interface and writing docs before coding can be bad for
    experimental coding.
    -Logic optimization can influence interfaces.
    -Time optimization is a leverage to get paid in open source
    software.Never think about that for free.

    Paolino





    _______________ _______________ _____
    Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB

    Comment

    • Tim Peters

      #17
      Re: Ten Essential Development Practices

      [Steve Holden][color=blue][color=green]
      >> If I canpoint out the obvious, the output from "import this" *is*
      >> headed "The Zen of Python", so clearly it isn;t intended to be
      >> universal in its applicability.[/color][/color]

      [Michael Hudson][color=blue]
      > It's also mistitled there, given that it was originally posted as '19
      > Pythonic Theses' and nailed to, erm, something.[/color]

      'Twas actually posted as "20 Pythonic Theses", although most times I
      count them I find19. Nevertheless, that there are in fact 20 was
      channeled directly from Guido's perfectly Pythonic mind, so 20 there
      must be. I suspect he withheld one -- although, as some argue, it's
      possible he thinks in base 9.5, that just doesn't seem Pythonic to me.

      Comment

      • Tim Peters

        #18
        Re: Ten Essential Development Practices

        [Dan Sommers][color=blue]
        > Ok, not universal. But as usual, Zen is not easily nailed to a tree.
        >
        > Was Tim writing about developing Python itself, or about developing
        > other programs with Python?[/color]

        Tim was channeling Guido, and that's as far as our certain knowledge
        can go. It _seems_ reasonable to believe that since Guido's mind is,
        by definition, perfectly Pythonic, any truth channeled from it
        necessarily applies to all things Pythonic.

        nevertheless-we-interpret-the-gods-at-our-peril-ly y'rs - tim

        Comment

        • Aahz

          #19
          Re: Ten Essential Development Practices

          In article <m2mzo56gxn.fsf @unique.fully.q ualified.domain .name.yeah.righ t>,
          Dan Sommers <me@privacy.net > wrote:[color=blue]
          >
          >Was Tim writing about developing Python itself, or about developing
          >other programs with Python?[/color]

          Yes.

          (C'mon, didja really expect any other answer?)
          --
          Aahz (aahz@pythoncra ft.com) <*> http://www.pythoncraft.com/

          The way to build large Python applications is to componentize and
          loosely-couple the hell out of everything.

          Comment

          • Bill Mill

            #20
            Re: Ten Essential Development Practices

            <snip>[color=blue]
            > although, as some argue, it's
            > possible [GvR] thinks in base 9.5, that just doesn't seem Pythonic to me.[/color]

            +1 QOTW

            Peace
            Bill Mill
            bill.mill@gmail .com

            Comment

            • Dark Cowherd

              #21
              Re: Ten Essential Development Practices

              I am new to Python. I tried it out and think it is fantastic.

              I really loved this from import this statements:

              There should be one-- and preferably only one --obvious way to do it.

              But this not true of Python.
              GUI, Web development, Application Framework - it is shambles. It is so
              frustrating for a person who comes from a well designed environment /
              framework like Delphi.


              -Quote - Phillip J. Eby from dirtsimple.org
              Python as a community is plagued by massive amounts of
              wheel-reinvention. The infamous web framework proliferation problem is
              just the most egregious example.

              Why is Python "blessed" with so much reinvention? Because it's often
              cheaper to rewrite than to reuse. Python code is easy to write, but
              hard to depend on. You pretty much have to:

              1. limit yourself to platforms with a suitable packaging system,
              2. bundle all your dependencies into your distribution, or
              3. make your users do all the work themselves

              Ouch. No wonder rewriting looks easier. The only way to stop this
              trend is to make it easier to reuse than to rewrite, which has been my
              mission with setuptools and EasyInstall
              -UnQuote

              My organisation writes products for Small and Medium Enterprises. We
              are using Delphi, we want to do more web based and Linux solutions, so
              I was evaluating Python, but even though I love the language and will
              probably do hobby programming using the language, I wouldnt really
              recommend our organisation to plan and execute a tranisition.

              We have been around a while and we have planned and done transitions
              from Clipper to FoxproW to VB to Delphi.
              [color=blue]
              >From what I understand Database access was in similar shambles in[/color]
              Python but a SIG took up the task and made some decisions which has
              now streamlined database access in Python.

              I really would love to have a Python where TOOWTDI

              Is there some place to discuss topics like this? Is this the right place?
              --
              DarkCowherd

              Comment

              • Michael Hoffman

                #22
                Re: Ten Essential Development Practices

                Dark Cowherd wrote:
                [color=blue]
                > GUI, Web development, Application Framework - it is shambles.[/color]

                Yeah, I agree. When I finally make that GUI application I still don't
                know whether I am going to use wx or PyGTK.
                [color=blue]
                > Is there some place to discuss topics like this? Is this the right place?[/color]

                Sure, although you might want to start a new thread. ;)
                --
                Michael Hoffman

                Comment

                • Daniel Dittmar

                  #23
                  Re: Ten Essential Development Practices

                  Dark Cowherd wrote:[color=blue]
                  > There should be one-- and preferably only one --obvious way to do it.
                  >
                  > But this not true of Python.
                  > GUI, Web development, Application Framework - it is shambles. It is so[/color]

                  That's because there is no *obvious* way to do these.
                  [color=blue]
                  > -Quote - Phillip J. Eby from dirtsimple.org
                  > Python as a community is plagued by massive amounts of
                  > wheel-reinvention. The infamous web framework proliferation problem is
                  > just the most egregious example.[/color]

                  In stark contrast to Java, where everybody uses standard components like
                  JSP, Struts, Tapestry, JSF, Spring, ...

                  Daniel

                  Comment

                  • Torsten Bronger

                    #24
                    Wheel-reinvention with Python (was: Ten Essential Development Practices)

                    Hallöchen!

                    Michael Hoffman <cam.ac.uk@mh39 1.invalid> writes:
                    [color=blue]
                    > Dark Cowherd wrote:
                    >[color=green]
                    >> GUI, Web development, Application Framework - it is shambles.[/color]
                    >
                    > Yeah, I agree. When I finally make that GUI application I still
                    > don't know whether I am going to use wx or PyGTK.[/color]

                    I agree, too, although I can only talk about GUI toolkits. At first
                    one thinks "well, perfect, I have the choice between four great GUI
                    systems". However, except for very special demands, there is no
                    clear winner. You start learning one, and immediately wonder
                    whether the other might be better. Although it sounds paradoxical,
                    this can be quite frustrating. After all, most of us don't have the
                    energy or motivation to test all candidates thoroughly.

                    Besides, development resources are shared between all projects.
                    This is especially sad with regard to IDEs. There are even more
                    IDEs/dialog editors/widget builders than Toolkits, none of them
                    being mature.
                    [color=blue][color=green]
                    >> Is there some place to discuss topics like this? Is this the right place?[/color]
                    >
                    > Sure, although you might want to start a new thread. ;)[/color]

                    At least a new subject ...

                    Tschö,
                    Torsten.

                    --
                    Torsten Bronger, aquisgrana, europa vetus

                    Comment

                    • Michael Hoffman

                      #25
                      Re: Wheel-reinvention with Python

                      Torsten Bronger wrote:[color=blue]
                      > Hallöchen!
                      >
                      > Michael Hoffman <cam.ac.uk@mh39 1.invalid> writes:
                      >
                      >[color=green]
                      >>Dark Cowherd wrote:
                      >>
                      >>[color=darkred]
                      >>>GUI, Web development, Application Framework - it is shambles.[/color]
                      >>
                      >>Yeah, I agree. When I finally make that GUI application I still
                      >>don't know whether I am going to use wx or PyGTK.[/color]
                      >
                      > I agree, too, although I can only talk about GUI toolkits. At first
                      > one thinks "well, perfect, I have the choice between four great GUI
                      > systems". However, except for very special demands, there is no
                      > clear winner. You start learning one, and immediately wonder
                      > whether the other might be better. Although it sounds paradoxical,
                      > this can be quite frustrating. After all, most of us don't have the
                      > energy or motivation to test all candidates thoroughly.[/color]

                      The PEP process can be quite good for whittling this down and getting
                      the best of all worlds. For example, the current stdlib csv module was
                      based on three previous modules[1]. We only really need one.

                      However, since GUI toolkits are so complicated, I wonder if they will
                      ever be subject to this process.

                      [1] http://www.python.org/peps/pep-0305....isting-modules
                      --
                      Michael Hoffman

                      Comment

                      • Calvin Spealman

                        #26
                        Re: Wheel-reinvention with Python (was: Ten Essential DevelopmentPrac tices)

                        The choice is GUI toolkits is largely seperate from Python. Consider
                        that they are just bindings to libraries that are developed completely
                        seperate of the language. GUI is should be seperate from the language,
                        and thus not bound to same expectations and desires as elements of the
                        language itself. Unless, of course, you're VB or Java..

                        On 7/29/05, Torsten Bronger <bronger@physik .rwth-aachen.de> wrote:[color=blue]
                        > Hallöchen!
                        >
                        > Michael Hoffman <cam.ac.uk@mh39 1.invalid> writes:
                        > [color=green]
                        > > Dark Cowherd wrote:
                        > >[color=darkred]
                        > >> GUI, Web development, Application Framework - it is shambles.[/color]
                        > >
                        > > Yeah, I agree. When I finally make that GUI application I still
                        > > don't know whether I am going to use wx or PyGTK.[/color]
                        >
                        > I agree, too, although I can only talk about GUI toolkits. At first
                        > one thinks "well, perfect, I have the choice between four great GUI
                        > systems". However, except for very special demands, there is no
                        > clear winner. You start learning one, and immediately wonder
                        > whether the other might be better. Although it sounds paradoxical,
                        > this can be quite frustrating. After all, most of us don't have the
                        > energy or motivation to test all candidates thoroughly.
                        >
                        > Besides, development resources are shared between all projects.
                        > This is especially sad with regard to IDEs. There are even more
                        > IDEs/dialog editors/widget builders than Toolkits, none of them
                        > being mature.
                        > [color=green][color=darkred]
                        > >> Is there some place to discuss topics like this? Is this the right place?[/color]
                        > >
                        > > Sure, although you might want to start a new thread. ;)[/color]
                        >
                        > At least a new subject ...
                        >
                        > Tschö,
                        > Torsten.
                        >
                        > --
                        > Torsten Bronger, aquisgrana, europa vetus
                        > --
                        > http://mail.python.org/mailman/listinfo/python-list[/color]

                        Comment

                        • Calvin Spealman

                          #27
                          Re: Ten Essential Development Practices

                          On 7/29/05, Dark Cowherd <darkcowherd@gm ail.com> wrote:[color=blue]
                          > I am new to Python. I tried it out and think it is fantastic.[/color]

                          Congrats and have fun learning all there is to learn.
                          [color=blue]
                          > I really loved this from import this statements:
                          >
                          > There should be one-- and preferably only one --obvious way to do it.
                          >
                          > But this not true of Python.
                          > GUI, Web development, Application Framework - it is shambles. It is so
                          > frustrating for a person who comes from a well designed environment /
                          > framework like Delphi.[/color]

                          Well, consider also that all these frameworks and similar such
                          projects are not Python the Language, and as such are allowed to have
                          a few more ways to do it. There is movement toward convergence on many
                          fronts, with efforts such as WSGI and the anygui package. I don't
                          believe there should be only one way to do a thing at the beginning,
                          and in many ways we are still at the beginning of many areas, but we
                          need to spread our collective tentacles into many ideas and try what
                          works.

                          What is great about Python is that after some time with works being
                          quite seperate, such as the many implementations of interfaces and
                          adaptation systems, we are able to converge them, as is currently
                          proposed and likely to occure soon. We need to test out many things
                          and get a feel for the use of something before we can decide what the
                          one way to do it should be. Python makes it easy to test all the
                          different waters, and then to combine them into the best solution,
                          when the community is ready to do so.
                          [color=blue]
                          > My organisation writes products for Small and Medium Enterprises. We
                          > are using Delphi, we want to do more web based and Linux solutions, so
                          > I was evaluating Python, but even though I love the language and will
                          > probably do hobby programming using the language, I wouldnt really
                          > recommend our organisation to plan and execute a tranisition.[/color]

                          Thats a shame, really.
                          [color=blue]
                          > We have been around a while and we have planned and done transitions
                          > from Clipper to FoxproW to VB to Delphi.
                          >[color=green]
                          > >From what I understand Database access was in similar shambles in[/color]
                          > Python but a SIG took up the task and made some decisions which has
                          > now streamlined database access in Python.
                          >
                          > I really would love to have a Python where TOOWTDI
                          >
                          > Is there some place to discuss topics like this? Is this the right place?
                          > --
                          > DarkCowherd
                          > --
                          > http://mail.python.org/mailman/listinfo/python-list
                          >[/color]

                          Comment

                          • Jeremy Moles

                            #28
                            Re: Wheel-reinvention with Python (was: Ten Essential DevelopmentPrac tices)

                            On Fri, 2005-07-29 at 17:59 +0200, Torsten Bronger wrote:[color=blue]
                            > Hallöchen!
                            >
                            > Michael Hoffman <cam.ac.uk@mh39 1.invalid> writes:
                            >[color=green]
                            > > Dark Cowherd wrote:
                            > >[color=darkred]
                            > >> GUI, Web development, Application Framework - it is shambles.[/color]
                            > >
                            > > Yeah, I agree. When I finally make that GUI application I still
                            > > don't know whether I am going to use wx or PyGTK.[/color]
                            >
                            > I agree, too, although I can only talk about GUI toolkits. At first
                            > one thinks "well, perfect, I have the choice between four[/color]

                            Four?

                            1. wx
                            2. PyGTK
                            3. Tk (Are you including this one even?)
                            4. ???

                            Of the few I can think of, only one would qualify as great. :)
                            [color=blue][color=green]
                            >>wink<<[/color][/color]
                            [color=blue]
                            > great GUI
                            > systems". However, except for very special demands, there is no
                            > clear winner. You start learning one, and immediately wonder
                            > whether the other might be better. Although it sounds paradoxical,
                            > this can be quite frustrating. After all, most of us don't have the
                            > energy or motivation to test all candidates thoroughly.
                            >
                            > Besides, development resources are shared between all projects.
                            > This is especially sad with regard to IDEs. There are even more
                            > IDEs/dialog editors/widget builders than Toolkits, none of them
                            > being mature.
                            >[color=green][color=darkred]
                            > >> Is there some place to discuss topics like this? Is this the right place?[/color]
                            > >
                            > > Sure, although you might want to start a new thread. ;)[/color]
                            >
                            > At least a new subject ...
                            >
                            > Tschö,
                            > Torsten.
                            >
                            > --
                            > Torsten Bronger, aquisgrana, europa vetus
                            > --
                            > http://mail.python.org/mailman/listinfo/python-list[/color]

                            Comment

                            • Jorge Godoy

                              #29
                              Re: Ten Essential Development Practices

                              Michael Hoffman wrote:
                              [color=blue]
                              > He spends so much space on "Create Consistent Command-Line Interfaces,"
                              > a section that, in Python, could be replaced with a simple "Use optparse."[/color]

                              In Perl there's also the equivalent of optparse, but where does it guarantee
                              that you'll use consistent name options and design a good interface? I
                              think he's point is much broader than parsing input from the command line.

                              --
                              Jorge Godoy <godoy@ieee.org >

                              Comment

                              • Jorge Godoy

                                #30
                                Re: Wheel-reinvention with Python (was: Ten Essential Development Practices)

                                Jeremy Moles wrote:
                                [color=blue]
                                > Four?
                                >
                                > 1. wx
                                > 2. PyGTK
                                > 3. Tk (Are you including this one even?)
                                > 4. ???[/color]

                                PyQt / PyKDE.
                                [color=blue]
                                > Of the few I can think of, only one would qualify as great. :)[/color]

                                The fourth one? ;-)

                                --
                                Jorge Godoy <godoy@ieee.org >

                                Comment

                                Working...