Trying to choose between python and java

Paul Boddie paul at boddie.org.uk
Tue May 15 07:02:58 EDT 2007


On 15 May, 07:30, Anthony Irwin <nos... at noemailhere.nowhere> wrote:
>
> I am currently trying to decide between using python or java and have
> a few quick questions about python that you may be able to help with.
>
> #1 Does python have something like javas .jar packages. A jar file
> contains all the program files and you can execute the program with
> java -jar program.jar

Some people will propose Python .egg files, but I believe plain .zip
files containing packages may be enough for your purposes, provided
that there are no native code libraries inside.

> I am sort of hoping python has something like this because I feel it
> makes it easier to distribute between platforms e.g. linux, mac
> windows etc.

See also...

http://wiki.python.org/moin/DistributionUtilities

> #2 What database do people recommend for using with python that is
> easy to distribute across linux, mac, windows.

See the following pages for guidance:

http://wiki.python.org/moin/DatabaseProgramming
http://wiki.python.org/moin/ChoosingDatabase

You will probably be most interested in sqlite, particularly as
support for that database system is now part of Python's standard
library (from Python 2.5 onwards), although the libraries are also
available separately.

[...]

> #5 someone said that they used to use python but stopped because the
> language changed or made stuff depreciated (I can fully remember
> which) and old code stopped working. Is code written today likely to
> still work in 5+ years or do they depreciate stuff and you have to update?

It's "deprecated", not "depreciated", by the way!

I tend to complain about changes in the language a lot, mostly because
I think that they can be confusing and off-putting for beginners, make
documentation and literature outdated, and distract from more
important areas of improvement, but I don't think that previous
language changes have necessarily caused me many problems. My own
active projects are at most around four years old, but as these
projects have developed, I think that language changes have been the
least of my problems. ;-)

People could use such things as an excuse to bash Python, but the
favourite languages of some of those people may well be undergoing
fundamental changes with substantial potential breakage and no
reasonable escape from the upgrade treadmill. Meanwhile, it's
completely possible to stick with a particular version of Python and
to write code against that without being forced to upgrade because of
stability issues. Indeed, Python has reached a level of maturity
(unlike certain competitors) where a conservative approach to version
adoption is completely viable: I'm using Python 2.3.x in my work, and
aside from a few conveniences that I miss from using Python 2.4.x
elsewhere, it's still very much a going concern.

Python 3.x will be somewhat different from Python 2.x, but people are
working on tools to help developers target both branches of the
language simultaneously, and it wouldn't surprise me if the 2.x series
continued in such a way that the differences between the branches get
smaller over time as developers gradually adopt the ways of the
refined 3.x language and libraries - this has been happening with Zope
2.x and Zope 3.x, in fact. Personally, I plan to stick with Python 2.x
for some time to come unless something really compelling shows up in
Python 3.x, and I even intend to hang on to Python 2.4.x for as long
as I reasonably can. There's no point in upgrading systems purely for
the sake of upgrading.

Paul




More information about the Python-list mailing list