Python does not play well with others

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

    #61
    Re: Python does not play well with others

    "Diez B. Roggisch" <deets@nospam.w eb.dewrites:
    This is simply not true. J2SE doesn't include a web-framework. J2EE
    does, but it's a separate multi-megabyte-download.
    I thought J2SE comes with JSP. Maybe that's not a "framework" in the
    fancy sense though.
    PHP _is_ a web centered language, so to say it "includes" a
    And _both_ of them don't contain DB connectivity modules! J2SE has
    JDBC - which is just a bunch of interfaces. You need to download each
    and every driver.
    Hmm, I thought it came with drivers. Maybe those come with the db
    instead?

    Comment

    • Paul Rubin

      #62
      Re: Python does not play well with others

      skip@pobox.com writes:
      I can't speak authoritatively for either PHP or J2SE, but I suspect the
      latter at least has some signifiant monetary support (if not outright gobs
      of human resources) from Sun. PHP seems to have a more limited application
      domain (web apps) from which it has expanded a bit. Can I build a PHP site
      out of the box with a PostgreSQL or Oracle backend?
      I believe so, from having looked at the docs a while back, but I
      haven't tried it.
      Does J2SE have something comparable to Numpy or scipy?
      I don't think so, but Python doesn't either.
      While might do the occasional bit of Python hacking for free, I still need
      to put food on the table. My employer doesn't care if MySQLdb (to use one
      of your examples) is delivered with Python or not. They aren't likely to
      want to support me to solve your problems.
      The same could be said of Tkinter (a large and complex library module)
      or IDLE (a full blown mid-sized application shipped with Python). The
      answer is the same for both: if you don't need to use a given module,
      then don't. Why would I expect your employer to solve my problems
      anyway, even if they relate to some module that you actually use?

      Comment

      • Paul Rubin

        #63
        Re: Python does not play well with others

        skip@pobox.com writes:
        iceberg.) The Pylons, web.py, Karrigell, Webware and TurboGears people
        might (rightly) feel slighted if you include Django but not their
        frameworks.
        Yeah well, the Wxpython, PyQt, PyGTK etc. people may feel slighted
        that Tkinter got included and their stuff didn't, and the Eric,
        Eclipse, Komodo etc. people may feel slighted that IDLE got included,
        but that doesn't stop Tkinter and IDLE from being useful and worth
        shipping in Python. We were talking about db connectivity modules
        which are quite a bit simpler than tkinter. We were also talking
        about an SSL wrapper, which *is* included with Python, but is broken
        (doesn't examine certificates) so people use external modules instead,
        which is just lame.
        Where would you stop? At the boundaries of your particular application
        interests?
        Basic competitive analysis. People ask here all the time "I'm trying
        to write application XYZ, should I use language L or should I use
        Python" (L is usually Java or PHP but can be other things). There's
        always immediately a flood of responses about why Python is better
        than language L for application XYZ. If the Pythonistas are serious
        about such a claim, competitive analysis says they should be willing
        to look at what language L does to support application XYZ (example:
        PHP includes database connectivity), make a checklist of L's features,
        and see to it that Python achieves (at least) parity in those areas.

        Comment

        • Kirk  Sluder

          #64
          Re: Python does not play well with others

          In article <7xirek9pdt.fsf @ruckus.brouhah a.com>,
          Paul Rubin <http://phr.cx@NOSPAM.i nvalidwrote:
          I do think the core should have more stuff than it does, so that its
          functionality can be on a par with competing language distros like
          J2SE and PHP. Both of those distros include database connectvity
          modules and web frameworks.
          Can't speak for PHP, but J2SE requires the additional installation
          of the Mysql Connector/J JDBC driver. Java also does not include a
          web framework as far as I can tell, with many people bolting on
          struts and Tomcat for this purpose.

          Now granted, it may or may not be a good idea for python to copy the
          java way of doing things by including the generic database API into
          the core libraries rather than expect database module developers to
          use the API. But that doesn't solve the core problem that you can't
          get database connectivity just through the core language.

          And for that matter, perl doesn't include the database drivers or a
          web framework either.

          php does, but I've always considered php to be a web framework with
          an embedded programming language. Comparing python to php here
          strikes me as comparing apples and oranges.

          Comment

          • Diez B. Roggisch

            #65
            Re: Python does not play well with others

            Paul Rubin schrieb:
            "Diez B. Roggisch" <deets@nospam.w eb.dewrites:
            >This is simply not true. J2SE doesn't include a web-framework. J2EE
            >does, but it's a separate multi-megabyte-download.
            >
            I thought J2SE comes with JSP. Maybe that's not a "framework" in the
            fancy sense though.
            JSP is also part of J2EE.

            http://java.sun.com/products/jsp/

            """
            Another key concern of the Java EE 5 specification has been the
            alignment of its webtier technologies, namely JavaServer Pages (JSP),
            JavaServer Faces (JSF), and JavaServer Pages Standard Tag Library (JSTL).
            """
            >PHP _is_ a web centered language, so to say it "includes" a
            >
            >And _both_ of them don't contain DB connectivity modules! J2SE has
            >JDBC - which is just a bunch of interfaces. You need to download each
            >and every driver.
            >
            Hmm, I thought it came with drivers. Maybe those come with the db
            instead?
            Might be, for some. For others where the vendor doesn't care about Java,
            they aren't.

            And they certainly require special treatment like putting them in the
            classpath, setting up the project directory and the like - no simple
            import will work out of the box, as it would witch python standard lib
            drivers.

            diez

            Comment

            • Diez B. Roggisch

              #66
              Re: Python does not play well with others

              Paul Rubin schrieb:
              skip@pobox.com writes:
              >I can't speak authoritatively for either PHP or J2SE, but I suspect the
              >latter at least has some signifiant monetary support (if not outright gobs
              >of human resources) from Sun. PHP seems to have a more limited application
              >domain (web apps) from which it has expanded a bit. Can I build a PHP site
              >out of the box with a PostgreSQL or Oracle backend?
              >
              I believe so, from having looked at the docs a while back, but I
              haven't tried it.
              The docs cover all the available drivers, as they are hard-coded in the
              source. Yet you need to specify inclusion of them at compile-time, and
              as I said: some distros don't ship with non-OS-drivers.
              >Does J2SE have something comparable to Numpy or scipy?
              >
              I don't think so, but Python doesn't either.
              >
              >While might do the occasional bit of Python hacking for free, I still need
              >to put food on the table. My employer doesn't care if MySQLdb (to use one
              >of your examples) is delivered with Python or not. They aren't likely to
              >want to support me to solve your problems.
              >
              The same could be said of Tkinter (a large and complex library module)
              or IDLE (a full blown mid-sized application shipped with Python). The
              answer is the same for both: if you don't need to use a given module,
              then don't. Why would I expect your employer to solve my problems
              anyway, even if they relate to some module that you actually use?
              As far as I can tell, primary concerns for inclusion of modules are twofold:

              - dependencies, which certainly are an issue for DB-modules! Or do you
              want every python build to need the oracle OCI drivers installed? Plus
              headers?

              - maintainer commitment.

              Diez

              Comment

              • Kirk  Sluder

                #67
                Re: Python does not play well with others

                In article <7xbqkb2pmt.fsf @ruckus.brouhah a.com>,
                Paul Rubin <http://phr.cx@NOSPAM.i nvalidwrote:
                skip@pobox.com writes:
                Where would you stop? At the boundaries of your particular application
                interests?
                >
                If the Pythonistas are serious
                about such a claim, competitive analysis says they should be willing
                to look at what language L does to support application XYZ (example:
                PHP includes database connectivity), make a checklist of L's features,
                and see to it that Python achieves (at least) parity in those areas.
                Well, digging into this, php includes database connectivity if
                compiled against the database client libraries. So it's not as if
                you can just download php and have it work against the database you
                want.

                I also don't think that python as a general-purpose programming
                language is in direct competition to web frameworks like PHP and
                ColdFusion. Perhaps the right answer is to say that PHP is a better
                solution for people wanting a web templating framework with embedded
                scripting, while Python is a better solution for people who want a
                general scripting/application language with broad support for
                specific applications via add-on modules.

                But then again, I'm one of those heterodox people who argue that one
                should fit the tool to the problem. Common Lisp, bash, awk, sed and
                R are other great languages for different domains.

                Comment

                • Paul Rubin

                  #68
                  Re: Python does not play well with others

                  "Diez B. Roggisch" <deets@nospam.w eb.dewrites:
                  And they certainly require special treatment like putting them in the
                  classpath, setting up the project directory and the like - no simple
                  import will work out of the box, as it would witch python standard lib
                  drivers.
                  Well, that's nowhere near as big a deal as having yet another set of
                  vendors or maintainer to deal with. Minimizing configuration is nice,
                  but getting your software from as few different sources as possible is
                  also a big win.

                  Comment

                  • Jorge Godoy

                    #69
                    Re: Python does not play well with others

                    Paul Rubin <http://phr.cx@NOSPAM.i nvalidwrites:
                    "Diez B. Roggisch" <deets@nospam.w eb.dewrites:
                    >And they certainly require special treatment like putting them in the
                    >classpath, setting up the project directory and the like - no simple
                    >import will work out of the box, as it would witch python standard lib
                    >drivers.
                    >
                    Well, that's nowhere near as big a deal as having yet another set of
                    vendors or maintainer to deal with. Minimizing configuration is nice,
                    but getting your software from as few different sources as possible is
                    also a big win.
                    So we should get a better egg support. Then it would all be just a matter of
                    easy_install <something>. As it is that easy for thousands of modules on CPAN
                    for Perl.

                    --
                    Jorge Godoy <jgodoy@gmail.c om>

                    Comment

                    • skip@pobox.com

                      #70
                      Re: Python does not play well with others


                      Szabolcsserious ly, python is a programming language and not a flee
                      Szabolcsmarket (so don't compare it to java or php)

                      If it grew to be as bloated as Java it might well become a "flee"
                      market. ;-)

                      Skip

                      Comment

                      • skip@pobox.com

                        #71
                        Re: Python does not play well with others

                        PaulWhy would I expect your employer to solve my problems anyway, even
                        Paulif they relate to some module that you actually use?

                        Your reasoning seems to be that Python should contain the functional union
                        of everything at least in Java and PHP if not Perl, Ruby and Tcl as well.
                        Free software or not, each person who contributes to the development of the
                        Python core has to put food on the table. As an example, I suspect most
                        core Java development is funded directly by Sun who pays its employees to
                        develop libraries, JIT compilers and the like. While my employer pays me to
                        program in Python I'm not paid to develop core Python code. What little I
                        do is done on my own time.

                        If you want to turn the Python distribution into a kitchen sink, make the
                        argument on python-dev and be prepared to shoulder your share of the burden
                        should your arguments sway the group as a whole.

                        Skip

                        Comment

                        • skip@pobox.com

                          #72
                          Re: Python does not play well with others


                          PaulYeah well, the Wxpython, PyQt, PyGTK etc. people may feel slighted
                          Paulthat Tkinter got included and their stuff didn't, and the Eric,
                          PaulEclipse, Komodo etc. people may feel slighted that IDLE got
                          Paulincluded, but that doesn't stop Tkinter and IDLE from being useful
                          Pauland worth shipping in Python.

                          They were both pretty much the only games in town when they were included
                          with Python. If they were developed in today's environment I doubt they
                          would be included.

                          PaulBasic competitive analysis. People ask here all the time "I'm
                          Paultrying to write application XYZ, should I use language L or should
                          PaulI use Python" (L is usually Java or PHP but can be other things).

                          So every time some lame ass PHP refugee gripes about something they think
                          Python is missing which PHP includes we should scan the horizon for all the
                          candidates and toss them in the next release?

                          Skip

                          Comment

                          • skip@pobox.com

                            #73
                            Re: Python does not play well with others


                            JorgeSo we should get a better egg support. Then it would all be just
                            Jorgea matter of easy_install <something>.

                            I'm all in favor of that...

                            Skip

                            Comment

                            • Neil Hodgson

                              #74
                              Re: Python does not play well with others

                              Paul Rubin:
                              I thought J2SE comes with JSP. Maybe that's not a "framework" in the
                              fancy sense though.
                              J2SE does not include JSP.

                              Neil

                              Comment

                              • Paul Boddie

                                #75
                                Re: Python does not play well with others

                                Chris Mellon wrote:
                                On 02 Feb 2007 11:10:04 -0800, Paul Rubin
                                <"http://phr.cx"@nospam. invalidwrote:
                                "Paul Boddie" <paul@boddie.or g.ukwrites:
                                If the hosting provider doesn't want to install MySQLdb then it may
                                not be a technical issue - perhaps they just can't be bothered to
                                install it, possibly because there's no demand or benefit to the
                                bottom line in doing so.
                                Why should the hosting provider need to devote attention to something
                                like that?
                                I agree with the remark about paying them for the service. The only
                                reason why a provider would have Python available, an allocation of
                                MySQL database instances per user, but not MySQLdb installed, would be
                                that they want to stick with a conservative set of packages which
                                requires zero admin (and thus zero outlay on administration) , and that
                                they don't understand obvious requirements for using MySQL with
                                Python. I don't think they'd get my business.

                                [...]
                                There are a number of languages which are primarily used for "web
                                development". PHP is the *only* one that ships with MySQL client
                                access.
                                >
                                Ruby doesn't (only primarily web development because of rails)
                                ASP, either .NET or classic, doesn't.
                                Java (in any form I'm aware of) doesn't.
                                You need to get the MySQL Connector/J driver, or whatever it's called
                                this month.
                                Cold Fusion doesn't.
                                Perl doesn't.
                                >
                                Who wants to host at a company that can't install packages anyway?
                                Quite. I imagine that most GNU/Linux distributions (and various BSDs)
                                provide at least some version of MySQLdb as a package. If a company
                                can't manage to provide Python plus MySQL, and then let their users
                                combine the two by installing a stock package (a single command or
                                some mouse clicks in the package manager), without offering up
                                "concerns" about how "secure" such a package might be (which I imagine
                                some providers might do if they want to discourage people from using
                                it), then I'd be a bit more concerned about how well they're keeping
                                up with security updates and how good they are at performing other
                                elementary administration tasks.

                                Paul

                                Comment

                                Working...