Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How ahead are you guys in the (Python) real world?

1 view
Skip to first unread message

Ray

unread,
Aug 28, 2006, 11:13:54 PM8/28/06
to
Since I haven't used Python at work, I am using Python 2.5 right now.
However I wonder, how fast are you guys moving from version to version
at work? As an illustration my ex-company just moved to Java 5, which
was released around... what, 2-3 years ago? (While I am running Java 6
at home)

Is it the same in the Python world? What version of Python is used in,
say, Google? Is it even 2.4 yet?

sk...@pobox.com

unread,
Aug 28, 2006, 11:23:41 PM8/28/06
to Ray, pytho...@python.org

Ray> Since I haven't used Python at work, I am using Python 2.5 right
Ray> now. However I wonder, how fast are you guys moving from version
Ray> to version at work?

At my day job (a trading firm) we moved from 2.3 to 2.4 a couple months ago.
At home I use whatever's in CVS. For my moonlighting job (mojam.com) I
still use 2.3 because that's what /usr/bin/python is on the web server
(which tummy.com administers) and I don't feel like messing with yet another
separate install.

Skip

Jorge Vargas

unread,
Aug 28, 2006, 11:26:37 PM8/28/06
to Ray, pytho...@python.org

for ones 2.5 is not consider production code yet so noone should be
running anything on it. same with 1.6.

on the java side my company is still stuck at 1.4, some prod servers
ar 1.3 :) , and my branch moved to 1.5 like 2 months ago. but again I
wont use anything that is in release candidates for production. but
thats just me
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>

Ray

unread,
Aug 28, 2006, 11:34:37 PM8/28/06
to

Jorge Vargas wrote:
> for ones 2.5 is not consider production code yet so noone should be
> running anything on it. same with 1.6.

Yes, certainly, in fact in a lot of companies I've worked for the
criteria for upgrading is when the Vendor is about to stop supporting
it :) But are there many companies using Python 2.4 even now though, I
wonder?

> on the java side my company is still stuck at 1.4, some prod servers
> ar 1.3 :) , and my branch moved to 1.5 like 2 months ago. but again I
> wont use anything that is in release candidates for production. but
> thats just me

Nah, not just you, at work we'd be equally cautious as well. Which
feels funny sometimes because publications and magazines will start
discussing Java 1.6 even now and we know that it's still probably at
least 3-4 years away before we get to use it at work.

> >
> > --
> > http://mail.python.org/mailman/listinfo/python-list
> >

nnor...@gmail.com

unread,
Aug 28, 2006, 11:43:30 PM8/28/06
to
Ray wrote:
>
> Is it the same in the Python world? What version of Python is used in,
> say, Google? Is it even 2.4 yet?

Google uses many versions of Python including 2.2, 2.3 and 2.4. Though
2.4 is relatively new. I hope to start introducing Python 2.5 sometime
next year. Mid-year is about as early as it could possibly happen, and
is likely to be much later. We need to kill off older versions (2.2
and 2.3) first.

Mostly it depends on the size of the company/source code
base/installations. The smaller these are, the easier it is (should
be) to move to a new version.

n

Fredrik Lundh

unread,
Aug 29, 2006, 4:00:50 AM8/29/06
to pytho...@python.org
"Ray" wrote:

> Since I haven't used Python at work, I am using Python 2.5 right now.
> However I wonder, how fast are you guys moving from version to version
> at work?

fwiw, I work on systems that runs on 1.5.2, 2.1, 2.3 and "bleeding edge".

</F>

Fredrik Lundh

unread,
Aug 29, 2006, 4:03:46 AM8/29/06
to pytho...@python.org
Jorge Vargas wrote:

> for ones 2.5 is not consider production code yet so noone should be
> running anything on it. same with 1.6.

that's completely ignoring how Python's developed, though. if you know what you're
doing, using stable (*) betas or release candidates can be an excellent idea.

</F>

*) where "stable" means "works well in your test environment".

Bruno Desthuilliers

unread,
Aug 29, 2006, 4:49:09 AM8/29/06
to

I can't tell for Google, and we're certainly a much much smaller
company, but FWIW, we mostly use 2.4.3 (we still have a 2.3.x for
compatibility with some old zope install).


--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'on...@xiludom.gro'.split('@')])"

Fuzzyman

unread,
Aug 29, 2006, 5:17:06 AM8/29/06
to

I'm lucky in that the company I work for are developing with
IronPython. That means I get to use Python 2.4. I'm appreciating the
joy of sets and decorators. :-)

I doubt we will move to 2.5 until that is the standard stable version
of IronPython.

For most of my own projects I try to maintain compatibility with 2.3,
as it is still very common. For CGI stuff I try to remain 2.2
compatible, because that is the default version of Python on many
web-hosts (and Linux distros).

Fuzzyman
http://www.voidspace.org.uk/python/index.shtml

A.M. Kuchling

unread,
Aug 29, 2006, 9:00:36 AM8/29/06
to
On 28 Aug 2006 20:13:54 -0700,
Ray <ray_u...@yahoo.com> wrote:
> Since I haven't used Python at work, I am using Python 2.5 right now.
> However I wonder, how fast are you guys moving from version to version
> at work?

At our company, we build a product on top of Debian (product line 1)
or Ubuntu (product line 2, not released yet), so we stick to what's
available in the Debian/Ubuntu versions we're using.

That means 2.3 on Debian and 2.4 on Ubuntu. 2.5 will probably arrive
whenever we upgrade to the upcoming Ubuntu release, though I've
already tried manually upgrading a system to 2.5, and our code ran
without changes or apparent problems.

--amk

sjde...@yahoo.com

unread,
Aug 29, 2006, 1:10:08 PM8/29/06
to
Ray wrote:
> Since I haven't used Python at work, I am using Python 2.5 right now.
> However I wonder, how fast are you guys moving from version to version
> at work? As an illustration my ex-company just moved to Java 5, which
> was released around... what, 2-3 years ago? (While I am running Java 6
> at home)

We are using 2.2 most places, with 2.3 on a few dev boxes. We're
planning an update to 2.4 in the next couple of months.

John Salerno

unread,
Aug 30, 2006, 9:48:39 AM8/30/06
to
Ray wrote:

> However I wonder, how fast are you guys moving from version to version
> at work?

Interesting question. Just as a curious follow-up (not being someone who
works in the programming world), why does it take so long to move to the
latest version, especially when there aren't (I don't think) any changes
that would break existing code, such as moving to Python 2.4 from 2.2 or
2.3?

Thanks.

Fredrik Lundh

unread,
Aug 30, 2006, 10:01:27 AM8/30/06
to pytho...@python.org
John Salerno wrote:

> when there aren't (I don't think) any changes that would break existing code,

in practice, in a large enough system, there's always something.

(external libraries are a common problem, especially if you have to rebuild them,
or update them to a new version to work around some incompatibility, and then
end up with your code being incompatible with the new version, etc)

</F>

Tim Golden

unread,
Aug 30, 2006, 10:03:50 AM8/30/06
to pytho...@python.org
[John Salerno]

| Interesting question. Just as a curious follow-up (not being
| someone who works in the programming world), why does it take

| so long to move to the latest version, especially when there

| aren't (I don't think) any changes that would break existing

| code, such as moving to Python 2.4 from 2.2 or 2.3?

Well, one answer would be: because it's really quite hard to
work out if there are, in fact, no changes which would break
existing code. Obviously, if everything's nicely tied up with
tests etc. it should be plain-sailing. But if it's not...

On Windows, you need to make sure you have or can build
newly-linked .pyds for all your non-Python extensions.
And you may well find that those extensions have had
version bumps you haven't tracked since you first installed
them... and the available binaries may not match the version
you were using. So back to those tests you haven't got. Repeat
to fade...

Ultimately, an amount depends on the time / resource someone is
prepared to commit to an uprade, given that the thing's running
fine now. After all, you can always run several Python versions
in parallel -- albeit with a judicious use of shortcuts etc. --
if you have code which wants to make use of juicy new features?

TJG

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Ray

unread,
Aug 30, 2006, 10:06:50 AM8/30/06
to

Well, the thing is that migration in practice is usually a messy
business, especially as your application grows in size + complexity.
When your application is small and simple, usually migration is
relatively painless, and the assumption that a release is compatible
with the previous ones therefore your application shouldn't break
usually holds true.

However, when your apps are big and mission critical... for some reason
they just break more often ;-) Like last time we migrated our automated
build system to the latest bugfix release of the software (Ant,
specifically--see ant.apache.org if you're curious).

Everything *should* be working just fine, after all it's just a bugfix
release. But it turned out that one of the bugfixes (which was meant to
optimize the build cycle) actually broke our system in a subtle and
mysterious way, and for the longest time we resisted rolling back our
system because nobody was willing to believe that Ant, which is an
Apache project, and written by people probably smarter than us, and
being used by a LOT of Java teams around the world, could be the cause.


That was just one example from the Enterprise Java world, I'm sure the
others can supply a lot more stories from the Python world...

Regards,
Ray

>
> Thanks.

sk...@pobox.com

unread,
Aug 30, 2006, 10:08:23 AM8/30/06
to John Salerno, pytho...@python.org

John> Interesting question. Just as a curious follow-up (not being
John> someone who works in the programming world), why does it take so
John> long to move to the latest version, especially when there aren't
John> (I don't think) any changes that would break existing code, such
John> as moving to Python 2.4 from 2.2 or 2.3?

There are often lots of binary interdependencies between the Python version
and internal or external packages. For instance, all the database adaptors
I'm aware of for SQL-based databases have extension modules written in C.
Then consider GUI stuff (PyGtk, wxPython, etc), scientific (SciPy, Numeric,
VTK, ...). The list can be nearly endless. At work we have lots of
in-house C++ libraries, many of which have been exposed to Python
programmers via SWIG or Boost.Python. All that stuff at minimum needs to be
recompiled with the new version of Python's header files (which can and do
change between versions). Then you have to test it.

While it's true that there are generally no semantic or syntactic
differences between versions and for the most part the developers try hard
not to break things, differences do creep into the Python level and can be
subtle to discover.

In short, it takes a fair amount of work to move from one version to
another.

Skip

Grant Edwards

unread,
Aug 30, 2006, 10:54:40 AM8/30/06
to
On 2006-08-30, John Salerno <john...@NOSPAMgmail.com> wrote:
> Ray wrote:
>
>> However I wonder, how fast are you guys moving from version to version
>> at work?
>
> Interesting question. Just as a curious follow-up (not being
> someone who works in the programming world), why does it take
> so long to move to the latest version,

Two reasons:

1) "If it ain't broke, don't f*** with it."

2) There's always something else that is broke.



> especially when there aren't (I don't think) any changes that
> would break existing code,

After doing a few sowftware upgrades you quickly learn to
never, ever believe that. The best working hypothesis is that
upgrading will break things. So the questions when considering
an upgrade are:

1) Is there a new feature I want?

2) Is that feature worth fixing the update breaking?

--
Grant Edwards grante Yow! CALIFORNIA is where
at people from IOWA or NEW
visi.com YORK go to subscribe to
CABLE TELEVISION!!

sk...@pobox.com

unread,
Aug 30, 2006, 11:37:52 AM8/30/06
to Grant Edwards, pytho...@python.org

Grant> So the questions when considering an upgrade are:

Grant> 1) Is there a new feature I want?

Grant> 2) Is that feature worth fixing the update breaking?

3) Has the version I'm running reached "end of support"?

If it has and you encounter a bug, you may be forced to upgrade at an
inopportune time.

Skip

sjde...@yahoo.com

unread,
Aug 30, 2006, 11:43:05 AM8/30/06
to
John Salerno wrote:
> Interesting question. Just as a curious follow-up (not being someone who
> works in the programming world), why does it take so long to move to the
> latest version, especially when there aren't (I don't think) any changes
> that would break existing code, such as moving to Python 2.4 from 2.2 or
> 2.3?

Well, let's see. We have about 5 live servers that would need to be
upgraded. They're running an old enough version of the OS that 2.2 is
the last supported release. Fine, building a new python release
ourself is not a huge deal--but it means that we're no longer on the
vendor's automatic update system for python and related packages.

And, of course, we use mod_python. That needs to be rebuilt against
the new python version. We also have a number of 3rd-party packages
installed; each of those needs to be re-installed for the new python
version, and possibly rebuilt first if it has any C extension modules.

The real question in most production environments isn't "why not
upgrade?", it's "why upgrade?". Until a new release has features that
are going to be valuable enough to your project to offset the cost of
upgrading, why would you bother?

John Salerno

unread,
Aug 30, 2006, 12:08:16 PM8/30/06
to
sjde...@yahoo.com wrote:

> The real question in most production environments isn't "why not
> upgrade?", it's "why upgrade?".

Good way to put it. Now I'm starting to see how much of a pain it can be. :)

Aahz

unread,
Aug 30, 2006, 1:58:13 PM8/30/06
to
In article <1156821234.8...@p79g2000cwp.googlegroups.com>,

Ray <ray_u...@yahoo.com> wrote:
>
>Since I haven't used Python at work, I am using Python 2.5 right now.
>However I wonder, how fast are you guys moving from version to version
>at work? As an illustration my ex-company just moved to Java 5, which
>was released around... what, 2-3 years ago? (While I am running Java 6
>at home)

My company uses 2.2 and 2.3; we hope to drop 2.2 Real Soon Now.
--
Aahz (aa...@pythoncraft.com) <*> http://www.pythoncraft.com/

I support the RKAB

Jorge Godoy

unread,
Aug 30, 2006, 8:39:13 PM8/30/06
to
"Tim Golden" <tim.g...@viacom-outdoor.co.uk> writes:

> Well, one answer would be: because it's really quite hard to
> work out if there are, in fact, no changes which would break
> existing code. Obviously, if everything's nicely tied up with
> tests etc. it should be plain-sailing. But if it's not...

Even with tests... They can show you that what you test is not broken, but
they can't make you 100% sure that everything will work.


--
Jorge Godoy <jgo...@gmail.com>

Neil Schemenauer

unread,
Aug 30, 2006, 10:25:31 PM8/30/06
to
Aahz <aa...@pythoncraft.com> wrote:
> My company uses 2.2 and 2.3; we hope to drop 2.2 Real Soon Now.

This has been an interesting thread. There has been some discussion
on python-dev about doing another 2.3 bugfix release. Based on the
number of people still using 2.3, it looks to me like there would be
interest.

Neil

Aahz

unread,
Aug 30, 2006, 11:01:02 PM8/30/06
to
In article <vMrJg.484475$Mn5.394204@pd7tw3no>,

Yes; the real question is whether there is enough labor available to
make it happen.

Jack Diederich

unread,
Aug 31, 2006, 12:18:49 AM8/31/06
to pytho...@python.org
On Wed, Aug 30, 2006 at 08:01:02PM -0700, Aahz wrote:
> In article <vMrJg.484475$Mn5.394204@pd7tw3no>,
> Neil Schemenauer <n...@arctrix.com> wrote:
> >Aahz <aa...@pythoncraft.com> wrote:
> >>
> >> My company uses 2.2 and 2.3; we hope to drop 2.2 Real Soon Now.
> >
> >This has been an interesting thread. There has been some discussion
> >on python-dev about doing another 2.3 bugfix release. Based on the
> >number of people still using 2.3, it looks to me like there would be
> >interest.
>
> Yes; the real question is whether there is enough labor available to
> make it happen.

I came away from the thread with the opposite conclusion for similar
reasons. People would use a 2.3.6 if their OS upgraded it for them but
those are the same people who won't upgrade to 2.4.x because it involves
testing. 2.3.5 isn't broken for them or they would know it by now.
2.3.6 probably isn't broken for them but it can't help -- or they would
have noticed a bug by now.

My own servers jumped from 2.2 to 2.4 for the same reason everyone else
has given for an upgrade. We just happened to have time in the dev
cycle to do testing and did it on the version that was available (2.4.1)
at that time.

-Jack

stdazi

unread,
Aug 31, 2006, 6:02:00 AM8/31/06
to

Heya, here at my job 2.3 is a must , but the code *should* be as
compatible as possible with 2.2 too.

sk...@pobox.com

unread,
Aug 31, 2006, 10:30:26 AM8/31/06
to Jack Diederich, pytho...@python.org

Jack> I came away from the thread with the opposite conclusion for
Jack> similar reasons. People would use a 2.3.6 if their OS upgraded it
Jack> for them but those are the same people who won't upgrade to 2.4.x
Jack> because it involves testing. 2.3.5 isn't broken for them or they
Jack> would know it by now. 2.3.6 probably isn't broken for them but it
Jack> can't help -- or they would have noticed a bug by now.

In contrast, I generally do only a small amount of testing when a micro
release of Python comes out before inflicting it on our users and
developers, precisely because I have confidence that it only contains bug
fixes. Since probably 2.2.1 there have been no new features in any micro
releases that I can recall and, up to this point at least, no regressions in
my experience. Micro updates seem like a pretty safe bet to me.

Skip

sk...@pobox.com

unread,
Sep 5, 2006, 1:10:59 PM9/5/06
to pytho...@python.org
(ack! forgot to push the send button several days ago - hopefully this isn't
woefully out-of-date now...)

neil> Based on the number of people still using 2.3, it looks to me like
neil> there would be interest.

aahz> Yes; the real question is whether there is enough labor available
aahz> to make it happen.

Just to make it clear for people with an interest in another 2.3 release who
might not read python-dev, here's what needs to happen. Someone(s) needs to
consider which bug fixes applied to 2.4 (and maybe CVS head) since the last
2.3 release should be applied to the 2.3 branch. That entails a few steps:

1. scan the 2.4 checkins for bug fixes (scanning Misc/NEWS might be
sufficient)

2. decide which ones apply to the 2.3 branch (some might not if they
were bugs that were introduced in 2.4 or because code structure
changes would make it too painful to add to 2.3)

3. work up a patch with test cases against the 2.3 code (simplified by
starting with the 2.4 patch in most cases) that implements the fix

4. test the 2.3 branch as patches are applied to make sure there are no
regressions against your own code base.

All these steps are necessary to some degree, though one person doesn't have
to do all four steps for any given bug fix. Any help you can give would be
appreciated.

Skip

0 new messages