Live data from Hacker News

Mongrel2 Says, "Goodbye Python"

sheddingbikes.com

91–100 of 251 posts

Re: Mongrel2 Says, "Goodbye Python"

#91
post #49

Earlier quoted context omitted.

In the Git project we target Perl 5.6 for critical code (like git add --interactive) and Perl 5.8 for some other code (like git-svn). Those are 10 and 8 years out of date, respectively. Or the equivalent of targeting Python 1.6 and 2.0. It can be mildly annoying sometimes to have to use 5.6 features when I usually develop on 5.12 or newer, but Perl's policy of backwards compatibility makes this a lot easier than it w…

> equivalent of targeting Python 1.6 and 2.0. I'm less in touch with Perl language development in the past decade, but my impression is that the difference between Perl-5.6 and Perl-5.12 is much less than between these versions of Python and recent releases. This is expected when a language evolves rapidly, but it's rather frustrating to wait 10 years before you can depend on the "new" features being available.

    My impression is that the difference between Perl-5.6
    and Perl-5.12 is much less than between these versions
    of Python and recent releases.
Your impression is correct. Perl is a more mature platform than Python, and backwards compatibility is taken more seriously. The latest Perl 5.12 release can still run most of the test suite for Perl 1 released back in 1987.

That and its wide availability and portability make it a much better target than Python for something like glue in a build system for a project that's mostly in C anyway.

But even though it's backwards compatible with old code it's still somewhat of a pain to write code that works on old releases that don't have the modules / core features you want.

Backwards compatibility also comes at a price. Many of the changes that broke old Python code broke it because old warts were being fixed in Python. There's a lot of equivalent old warts in Perl that haven't been fixed, and there's no plan for doing so (other than Perl 6).

Re: Mongrel2 Says, "Goodbye Python"

#92
Including Gentoo is wrong. Gentoo uses a slotted ebuild for python. You can have many concurrent versions running. Not only that, but the latest portage works fine on the latest 2.6 release of python. If you don't want to learn how to use your OS, pick a different one. I hear that Macs "Just Work".

Re: Mongrel2 Says, "Goodbye Python"

#93
post #91

Earlier quoted context omitted.

> equivalent of targeting Python 1.6 and 2.0. I'm less in touch with Perl language development in the past decade, but my impression is that the difference between Perl-5.6 and Perl-5.12 is much less than between these versions of Python and recent releases. This is expected when a language evolves rapidly, but it's rather frustrating to wait 10 years before you can depend on the "new" features being available.

My impression is that the difference between Perl-5.6 and Perl-5.12 is much less than between these versions of Python and recent releases. Your impression is correct. Perl is a more mature platform than Python, and backwards compatibility is taken more seriously. The latest Perl 5.12 release can still run most of the test suite for Perl 1 released back in 1987. That and its wide availability and portability make it…

  There's a lot of equivalent old warts in Perl that haven't been fixed
This is the crux of the issue. Serious language users (especially the ones writing the new libraries that add significant value to your platform) want the warts fixed to make the environment pleasant to work in. Meanwhile, most casual users are desperate for backward compatibility because it makes distribution easier. I actually prefer Python's choice, but pain is inevitable either way.

Re: Mongrel2 Says, "Goodbye Python"

#94
FYI - Fedora 13 shipped with Python 2.6, Fedora 14 is going to ship with Python 2.7 and 3.1 in parallel. Not every distribution ships ancient versions.

I also recommend using virtualenv and pip, these tools make it much easier to create an easily reproducable Python environment.

Re: Mongrel2 Says, "Goodbye Python"

#95
post #8

Hi Zed, Can you please elaborate with some details about how "broken" python is on systems, and the situation with python 2.4? According to the article, "recent Ubuntu releases" had broken/deprecated python installations. A quick search reveals that python 2.5 has been shipping as the default "python" meta-package(?) http://packages.ubuntu.com/search?keywords=python Can you also please elaborate any "features" that t…

Just from my personal experience:

Red Hat Enterprise Linux 5.1 ships with Python 2.4.3.

Solaris 10/4 does not ship with python at all. OpenCSW provides Python 2.6.5 but virtualenv doesn't seem to work with it.

Re: Mongrel2 Says, "Goodbye Python"

#96

Earlier quoted context omitted.

Question to manager: WTF are we using CentOS ? Reply: because it's Enterprise.

Which distro you think is the best to run LAMP stack with an up to date package manager?

Some flavour of Debian would be my preference.

Generally with Python WSGI applications I tend to keep things sandboxed using virtualenv and pip in any case.

Re: Mongrel2 Says, "Goodbye Python"

#97
It sounds like the correct solution to this problem is a package maintainer for the Mongrel2 package on different OSs. The package maintainers job is to make sure a package builds and runs on a given OS. The reason we have them at all is that it is often a difficult job. Mongrol2 systems like a system application, no?

Re: Mongrel2 Says, "Goodbye Python"

#98
post #41

It's funny how, for Zed, anything that doesn't work the way he thinks it's supposed to work is "broken" and the result of some boneheaded decision and that it "sucks". I too am frustrated by ancient versions of server OSs that use equally ancient versions of Python, but that's why virtualenv was invented. And source distributions. I am happy using it when required. Being "stable" in OS terms is not changing APIs very…

It isn't Zed complaining, the 1.0 instructions used pip and suggested using virtualenv etc. It would seem he is just reacting to what his customers are telling him - namely that it is difficult getting python to work on their systems and they don't want to play around with pip and virtualenv.

I'd say that is precisely the problem.

An end-user of an application doesn't want to fiddle around with library management tools.

It's a shame he felt he had to tear out Python. I understand the pain of relying on distro-supported Python. You basically have to target 2.3 at minimum if you want to distribute an application. If you have windows users, it can be even more painful.

Theoretically, couldn't you have configure check your setup for Python 2.x? Setup your make process to download and install the proper python in a local build environment? I'm just running off random ideas, not sure if it would be feasible.

Too late for Mongrel2 of course, but C isn't so bad either.

Re: Mongrel2 Says, "Goodbye Python"

#100

Earlier quoted context omitted.

Which distro you think is the best to run LAMP stack with an up to date package manager?

Some flavour of Debian would be my preference. Generally with Python WSGI applications I tend to keep things sandboxed using virtualenv and pip in any case.

I am complete newbie when it comes to running a server but have a bit of experience using Ubuntu in my local box. Is ubuntu a good choice? Since most use a flavor of Red Hat like CentOS I am a bit hesitant to use Ubuntu in production.
Post reply on HN