The Incredible Growth of Python (stackoverflow.blog)

Paul Moore p.f.moore at gmail.com
Tue Sep 12 09:20:56 EDT 2017


On 12 September 2017 at 13:47, Leam Hall <leamhall at gmail.com> wrote:
> A few months ago my manager asked about what direction I recommended for the
> team. I'm the opinionated old guy who is new to this team. At the time I was
> really enjoying Ruby; just so dang fun!
>
> I told my manager that we should use python. It is the best choice for the
> team since we're on RHEL 6. Ruby wasn't on the machines but Python 2.6.6 is.
> Any code I write that is python 2.6.6 compatible should run on every
> machine.
>
> My answer meant I had to re-direct personal time and attention so I could
> help the team move forward. There are certain things I can do; learn to code
> better, write more tests, and figure out OOP. Some things I can't do;
> changing the supported python version is on that list.
>
> Python is the right choice for a lot of use cases. Python 3 is the right
> choice for a large sub-set of those use cases. Python 2 is the best choice
> for a much smaller subset.

Sounds like a very reasonable decision - I'm in a similar situation at
times, and I agree with your recommendation. Python's a great tool,
and if you like Ruby you should find it really easy to get into. As
you say, if Ruby isn't available on the machines you're working with,
the hurdle of getting it installed is likely a real blocker. Having
Python installed makes it a good choice - and sticking with the
installed version is definitely correct, otherwise you're no better
off than you were with a language that's not installed by default.

One thing you will have to deal with is that there's a lot less
support available for Python 2.6 these days - most developers working
with Python 2 will use 2.7, and new developers will typically pick
Python 3 if at all possible. For a lot of things, you're relying on
community support, which does mean you are "stuck" with what people
are enthusiastic about. But the good news is that most advice you'll
get is transferrable back to Python 2.6 (with a little care,
particularly if it was originally for Python 3). And it's important to
remember that community support is just that - individuals, offering
help simply because they love Python. And those individuals are
typically (in most communities, not just Python) early adopters, and
strongly prefer working with the latest versions.

The biggest hurdle you may hit is that 3rd party libraries are
starting to drop support of Python 2.6. I don't know if you expect to
use libraries from PyPI - in my environment, the systems that are
locked to Python 2.6 are typically not connected to the internet, so
non-stdlib code is generally not accessible - if that's the case for
you this won't be an issue. Unfortunately, there's not much you can do
about that - it's just one of the issues of working with older,
unsupported versions.

But a big plus with Python is that the stdlib is very comprehensive
(less so with 2.6 than 3.6, but still very good in 2.6). So where
you'd need to rely on external libraries for other languages, you can
do an awful lot with a base 2.6 install. That's a big selling point in
a locked down environment.

Anyway, I'm not sure there's much specific here. But thanks for taking
the time to explain your situation, which hopefully will act as a
reminder that not everyone trying to promote Python has a clean slate
to work with.

Paul



More information about the Python-list mailing list