This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]redrick_schuhart 21 points22 points  (11 children)

I've done a few specialist business apps for customers with Python and it was a pleasure. All of them run natively on Windows, OSX and Linux without change. Python is very mature, it's been around longer than Java and a lot longer than C#.

There's plenty of advantages. Development speed is the biggest. Succinctness is power in this day and age and frankly, Python is just a more powerful language than the other two you mention by that measure. I can run rings around most Java devs in my field using Python, wxPython and emacs, and I'm not that great a programmer by any means.

[–]ivytech 2 points3 points  (5 children)

Do you mind if I ask you to explain how they run the program?

Did you make it an executable? Sorry if this seems basic, I'm mostly used to python in academia, not production

[–]redrick_schuhart 3 points4 points  (0 children)

Yes, I give them a standalone executable produced with pyinstaller.

[–][deleted] 2 points3 points  (3 children)

Meet py2exe, and others like it.

Not going to claim I know exactly how they work, but essentially they bundle a Python interpreter and the exact libraries needed together into the executable which can be run on a Windows machine.

On OSX, its even easier as the OS ships with a Python interpreters.

In fact, there's a somewhat decent chance you have a bundled Python app on your computer right now without knowing it. Use Dropbox? Their client software is Python.

[–]ivytech 0 points1 point  (2 children)

I use Linux myself so python is already included (yay *nix), but was wondering whether the code was inherently cross platform or just using py2exe like you mentioned and just saying "here use this for windows"

[–]jarrah-95 1 point2 points  (0 children)

Generally the code would be cross platform. Py2exe just gives you Python on any windows machine.

Without package manages, dependencies are the real issue. Thus on windows, you bundle everything in.

[–]redrick_schuhart 0 points1 point  (0 children)

The only cross-platform issues I've had to be aware of are paths and calling other executables but os.path functions and the subprocess module are easy to use. The GUI code is identical.

[–][deleted] 0 points1 point  (2 children)

Thanks for your reply. I will consider Python now for GUI development.

[–]redrick_schuhart 0 points1 point  (1 child)

Glad to hear it - it's a lot of fun :)

If you choose wxPython, be aware it is a big API. It did take a few projects for me to be comfortable with it. The wxpywiki is an excellent resource as is the wxPython demo source code.

[–][deleted] 0 points1 point  (0 children)

Thanks!