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.
If you’re going to install only (or mostly) on Windows, I’d go with .Net.
If you have experience with C++, then C# would be natural to you, but if you’re comfortable with VBA, you can try VB.NET, but if you prefer Python, then there is IronPython or can give a try to IronRuby, but the best of all is you can mix them all as they apply to different parts of your project.
In the database area you’ll have excellent integration with SQL Server Express, and in the GUI area, Swing can’t beat the ease of use of WinForms nor the sophistication of WPF/Silverlight.
As an added bonus, you can have your application automatically updated with ClickOnce.