How to promote Python in the Federal government?

Nick Vargish nav at adams.patriot.net
Mon Mar 3 13:54:28 EST 2003


Hi Steve,

I'm working at a Federal agency right now, and making Python
acceptable is my main motivator (As in, "what makes getting up in the
morning worthwhile", as compared to "feeding my wife and kids." :^).
Perhaps my situation is unique, but you might be able to find aspects
that you can apply to your own environment.

We have a number of DEC Alpha systems running Digital Unix (I would
like to see an Analog Unix, but, well, never mind...), with in-house
applications written in C. The original programmer has since moved on,
and the code is becoming an issue -- our division really doesn't have
enough C coders to understand the code and maintain it. So, the search
for a replacement platform and implementation language was begun,
roughly at the same time I was hired (okay, it could have been going
on for a couple years, this is the Fed, after all :^).

I proposed Python to my supervisor, and he was willing to let me take
the lead. My winning arguments were, in order of importance:
Portability, Readability, and Batteries Included.

I've since been busy re-implementing the C programs in Python, and
this has been very successful. I can generally replicate functionality
in less than a week for programs that originally took a month or more
to complete. I make sure the programs have enough comments that they
are intelligible, so my supervisor can see how they work. I make sure
the comments explain less obvious features, such as places where I've
used list comprehensions

Currently, we are facing the issue of convincing the "security guy"
that Python is a viable language and no less secure than the existing
C-based cgi stuff. (Actually, Python is much more secure, if just
because you really have to work at setting up a buffer-overflow in
Python, and the opposite is true in C.) But by winning my supervisor
over, and thus his supervisor, it's not just a propeller-head pushing
his favorite flavor, but a "vertical roster" from my section that is
in favor of Python.

My advice then is to start locally, and do good work in Python
wherever you see the opportunity. Demonstrate the strengths of Python
in practice, make yourself indispensible, and the rest will follow.

Of course, if you do want to set up a FedPython group, I would be
happy to join it. :^)

Wishing you every success,

Nick

-- 
# sigmask.py  ||  version 0.2  ||  2003-01-07  ||  Feed this to your Python.
print reduce(lambda x,y:x+chr(ord(y)-1),'Ojdl!Wbshjti!=obwAqbusjpu/ofu?','')




More information about the Python-list mailing list