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

R

Ray

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?
 
S

skip

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
 
J

Jorge Vargas

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?

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
 
R

Ray

Jorge said:
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.
 
N

nnorwitz

Ray said:
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
 
F

Fredrik Lundh

Ray said:
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>
 
F

Fredrik Lundh

Jorge said:
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".
 
B

Bruno Desthuilliers

Ray said:
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?

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).
 
F

Fuzzyman

Ray said:
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?

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

A.M. Kuchling

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
 
S

sjdevnull

Ray said:
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.
 
J

John Salerno

Ray said:
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.
 
F

Fredrik Lundh

John said:
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>
 
R

Ray

John said:
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, 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
 
S

skip

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
 
G

Grant Edwards

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?
 
S

skip

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
 
S

sjdevnull

John said:
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?
 
J

John Salerno

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. :)
 
A

Aahz

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top