Help for novice choosing between Java and Python for app with sql db
Question: I'm going to write my first non-Access project, and I need advice on choosing
the platform. I will be installing it on multiple friends' and family's
computers, so (since I'm sure many, many platforms would suffice just fine for
my app), my highest priority has two parts: 1) ease of install for the non-
technical user and, 2) minimizing compatibility problems. I want to be able to
fix bugs and make changes and roll them out without having to troubleshoot OS
and program conflicts on their computers (or at least keeping those things to
the absolute minimum-this is why these concerns are my highest priority in
choosing a platform.)

I have narrowed it down to Python or Java. I like Java's use of the JVM, which
seems like would serve to protect against incompatibilities on individual
computers nicely. And I've heard a lot of good things about Python, but I
don't know how much more prone to incompatibilities it is vs Java. In case it
is important, I know the app will definitely use some flavor of a free server-
enabled SQL db (server-enabled because I want to be able to run the app from
multiple computers), but I don't know which to use yet. I thought I could
decide that next.

My experience level: I've taken a C++ (console app only) class and done some
VBA in Access, but mostly I'm going to have to jump in and learn as I go. So
of course I don't know much about all of this. I'm not in the computer field,
this is just a hobby.

So, which would be better for this app, Java or Python?

(In case it comes up, I don't want to make it browser-based at all. I've dealt
with individual computers' browser settings breaking programs, and that goes
against part 2 of my top priority - maximum compatibility.)

Thank you.

Update: It will need a gui, and I'd like to be able to do a little bit of
customization on it (or use a non-standard, or maybe a non-built-in one) to
make it pop a little.

Update 2: Truthfully, I really am only concerned with Windows computers. I am
considering Java only for its reliability as a platform.


Answer: The largest issue I can think of is the need to install an interpreter.

With Java, a lot of people will already have that interpreter installed,
although you won't necessarily know which version. It may be wise to include
the installer for Java with the program.

With Python, you're going to have to install the interpreter on each computer,
too.

One commenter mentioned .NET. .NET 2.0 has a fairly high likelyhood of being
installed than either Java or Python on Windows machines. The catch is that
you can't (easily) install it on OSX or Linux.

