Can I believe in Python and wxPython?!

This forum is reserved for everything you want to talk about. It could be about programming, opinions, open source programs, development in general, or just cool stuff to share!
Post Reply
jimzilla
In need of some credit
In need of some credit
Posts: 5
Joined: Thu Sep 13, 2012 9:03 pm

Can I believe in Python and wxPython?!

Post by jimzilla »

I hope you don't mind me raising this question here, but it seems like the Python community exists solely in mailing lists - so last century :roll: (well done for having a forum!) - I don't want to deal with email lists (does anyone know of any good Python forums?! Well used, not stagnant? At least with VB I have several large and popular forums for discussion and assistance)

I'm a .net grunt but I'm looking for an accessible way to move to Open Source and break away from the shackles of MS (while still using Windows of course, because let's face it, that's still what most people use, like it or not). I've looked at Ruby and like what I see, but I'd rather go with Python if it's more popular. I prefer the security blanket of going with the crowd and having more potential support. Ruby activity appears to be mainly geared towards Rails web-apps as far as their herd goes. I'm looking for client GUI solutions, not browser stuff.

I like what I've seen so far of Python, but I won't dig any deeper until I can have faith that I'm not wasting my time, that support is there (WANT A FORUM!!), and that tools aren't going to change rapidly without warning.

So far I've read about the Python v2 and v3 change, and I'd go with v3 except that wxPython isn't putting any effort into updating, instead they say (http://wiki.wxpython.org/TentativeRoadmap) that they're moving to something new altogether - "Next Generation". So I'd be forced into still using Python v2 for now, and have to face learning a Whole New Way farther down the road? :roll:

And it doesn't get much better elsewhere! I looked at QT but it's mired in licensing issues that make it a No Go for developing something here that my bosses would want to sell. Ok there's a PySide version with a more free licence, but it's made quite clear that all the team working on that are Linux only, and you're pretty much on your own in Windows :(
(http://www.pyside.org/2012/04/pyside-1- ... eleased/[i] "There are no PySide core developers using Windows or Mac and no more PySide build bots, so if you really want to see PySide running on those platforms better you do something"[/i])

I looked at Tk and found it just didn't have the controls I wanted (DataGridView anyone?!) without rolling your own. Too icky for a spoilt .net guy :lol:

I cast an eye over GTK and again found a Version Hell as they are moving to a v3 but there's a lack of information with a typically confusing roadmap and outlook.

Looking at Python books and sample code, I could really get into it, but the way in seems utterly daunting! There are hundreds of editors and IDEs to explore, but still doesn't seem to be anything as good as the Visual Studio I'm used to, and no clear way to design a window/form visually.

Surely there's an opportunity here to make Python HUGE if it could compete with vb.net or C#? Imagine a good IDE with drag-n-drop form builder, controls bound to events for you already, etc... with a simple (py2exe) way to distribute your creations in a way that would cut MS out of the loop and free the programmer?

After a couple of weeks searching, I still don't have the confidence to download anything and start plugging away. I'm sure I'd find an IDE, take to Python The Language like a duck to water, and be able to access the MS-SQL database here OK with pyODBC.... but the GUI designing part of the process still appears to be rather 'stone ages'. I've read many opinions that I'd be better off writing GUI's by hand, and I can see their point but it's just not going to appeal to my lazy side, or the masses that could swarm around Python and wxPython if the tooling was a bit less daunting.

I'd love to hear your thoughts, please, people! Am I letting myself get put off too easily? Could Python be an absolute revolution with a stampede of .net defectors, for want of the right tools and good clear documentation about how to get going?

I'm close to giving up. Python seems like a mailing list world of unwelcoming toolset fragmentation, and perhaps my CV would benefit from getting deeper into .net experience than adding the Python string to my bow? But I'd love to be free of MS. As I'm comfortable with Pascal I'm starting to look at Free Pascal now, maybe that's my answer?

Convince me to persevere?! :)
User avatar
doublemax
Moderator
Moderator
Posts: 19160
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Can I believe in Python and wxPython?!

Post by doublemax »

This forum is more targeted at C++ development with wxWidgets, i'm sure there are better places to ask about wxPython (although i can't suggest one). In general i can only say that wxPython seems to have a big and active user base.

If you're worried about your CV, stay with .NET or even VB. Knowing Python or wxWidgets won't help you finding a job.
So I'd be forced into still using Python v2 for now, and have to face learning a Whole New Way farther down the road?
I don't think the changes will be very drastic from a user's point of view.

Regarding the GUI designers, you'll have to try them to decide if they're comfortable enough for you. wxWidgets uses its own resource format, so most GUI editors for wxWidgets can be used for C++ and wxPython development.
Use the source, Luke!
jimzilla
In need of some credit
In need of some credit
Posts: 5
Joined: Thu Sep 13, 2012 9:03 pm

Re: Can I believe in Python and wxPython?!

Post by jimzilla »

Thanks for replying.

I'm one of those 'self taught' geeks who always wonders just how much I don't know that others do, if they had a more formal education. So I'm sensitive to being aware that my history of Pascal and VB, SQL and .net isn't exactly the broadest of experience. Heck, it wasn't long ago I had to look up 'hashtable' to see what it was, I simply hadn't ever needed one! And likewise OOP has largely passed me by - I'm happy to use class libraries to call useful methods but in my line of work (just sending data to/from a database from forms), I haven't really needed Objects beyond what you can achieve in simpler languages with libraries of plain procedures.

So if I could demonstrate a willingness to get to grips with Python (which appears to be a far more trendy and up to date hot topic what with all that dynamic interpreted scripting functional lambda closures and stuff) then at least it would look slightly less like I've stagnated and failed to keep up :D
(That's the great thing about IT, you can fall behind easily, but then it's also possible to catch up quite quickly with the right attitude and material to learn from)

What I've seen of Python looks interesting, but the mailing list community and its aversion to forums..... and the roll-your-own GUI stuff..... just leaves me cold. So I will bail out at this point. It looks like it's something for developers on a higher plane than mine. Since I left behind the crude old days of DOS and sorting out GUIs there by hand, I have become used to RAD and I just don't know how anyone can face manually adding controls to frames and tediously wiring up the event handling in such a DIY way. My hat is tipped to those of you who can cope with it!

While VB.net is working out well for me, I'm still concerned that something may bite me farther down the line when it comes to distributing my masterpiece. Code signing for example, I haven't dared take a look at that yet. I'd like to have an Open Source alternative where I can be sure that I'll be in complete control of my destiny (usually feels that way if the FOSS project's community is active and helpful enough). If something goes horribly wrong with my little project, it would give me peace of mind if I could just pull the plug and move sideways into an alternative environment and copy what I've got into another language.

It doesn't look like Python/wxPython is quite what I need (given my level of expertise and laziness). However, I do look at Free Pascal from time to time, and as if by magic, it appears that their Lazarus RAD IDE has just been released as v1.0 at last, a few weeks ago. (Honestly, a complete coincidence, I'm not connected with them or here to promote it)

Having taken a look, it appears to be just what I need. A way to develop native client apps with GUI creation as straightforward as VB, and it produces single .exe files with everything built in, so it can't get much simpler to install any software I come up with. One easy download and install, and within minutes I had a button on a form and a "Hello World!" message box :)

This (somewhat lengthy) thread on their forums does a great job of exploring the pros and cons of Lazarus/Pascal versus other alternatives -
http://www.lazarus.freepascal.org/index ... ic=13754.0 ("Future of Lazarus / FreePascal")

So I'm off to play with Lazarus and re-familiarise myself with Pascal again, see how easy it is to glue together GUIs, datagrids, SQL, XML and xls import/exports, is there anything like LINQ, etc.
Thanks for letting me air my postion here. Possibly, anyone else in my situation doing a Google keyword search may find this thread and find it useful in some way? Who knows? Good luck with wxWidgets, I hope that someone somewhere feels the need to compete with .net and Lazarus and come up with a really smart Python/wxPython GUI RAD tool, and maybe in a year or two I can play with that........ thanks.
Auria
Site Admin
Site Admin
Posts: 6695
Joined: Thu Sep 28, 2006 12:23 am
Contact:

Re: Can I believe in Python and wxPython?!

Post by Auria »

It depends what kind of GUI builder you are looking for, but I find that wxFormBuilder suits my needs just well. Sure it may not be shiny with bells-and-whistles drag and drop but after you spent a few minutes understanding how to add controls to sizers it works quite well
"Keyboard not detected. Press F1 to continue"
-- Windows
jimzilla
In need of some credit
In need of some credit
Posts: 5
Joined: Thu Sep 13, 2012 9:03 pm

Re: Can I believe in Python and wxPython?!

Post by jimzilla »

Thanks for that, I took a look.
Unfortunately, the tutorial I found lost me at step 1, :roll:
A load of settings that weren't explained... sigh... I wonder if I'm cut out for all this...

I'm not ready to throw in the towel just yet though. While I'm still happy, on balance (55%), to produce GUIs of fixed layouts that don't resize, I'm close to the tipping point of accepting that these wx 'sizers' really are the way to go for more professional results.

Plus, having looked at the grids available in Lazarus, I cringe at how convoluted it is to do such simple things as setting a custom format for a numerical column, changing left/r/center alignment, or having a two-colour alternate rows effect. In Visual Studio these things are simple properties of the grid or columns, one line of code each. In Lazarus you have to intercept the cell drawing event and manually futz about with it, gaining long new procedures to clutter things up. It wouldn't be so bad if I could customise it into a class once and use that all over... but that's way beyond me at present.

So I'm thinking, if there's that much manual tweaking involved in Lazarus Free Pascal, and so much learning to do yet, why not go the whole hog with Python and wxPython... which still really appeals to me despite my lowly position on the learning curve and lack of grip to climb upwards at the moment :)
I'm floundering around in the icy foothills, but who knows, I might suddenly develop spikes on my shoes!

I shall keep looking, if one thing at a time makes sense, eventually it'll click.

Ideally I'd like to have a technology whereby you could define a complete form layout in HTML or some other markup, including all the controls you could wish for (and easy ways to tart them up) and all the pretty design you can creatively manage... with script to deal with events and code the functionality. That would be nice for web apps, and also if it could be compiled into standalone exes that would look like a browser but the source would be well hidden (and encryptable to stop decompiling). Is there anything like that yet, apart from possibly WPF and XAML? I keep hearing that HTML5 is a wonderous thing, but it doesn't seem to be what I have in mind from what I've seen (correct me if I'm wrong please), and there's nothing like what I'm dreaming of that's built in to standard browsers. And of course I'm thinking Open, not MS.

In the meantime, as I've never had to do client/server or intranet Web Apps myself, and with my solo coding mission I just want a client app to talk to a server database....

It's a choice between Lazarus / Free Pascal and Python / wxPython. With the spotty cat it's very nearly there, loads of speed advantages and ease of use for the first 90% of the job, but the final 10% looks like it will take 10 times as long... and it's a language that's regarded (wrongly) by many as an obsolete training language. In fact it was designed for general use long before any uptake in learning institutions - and for most users it's pretty much as effective as C (and now with OOP goodies) with begins and ends instead of curly braces, until you reach master hacker status. Nothing to be ashamed of. But yet, perceptions do count, if potential future employers are going to look down their noses at it.

Down the other route with large snakes, it's an up and coming language with tons of development and great libraries (so I believe), and a buzzword that looks trendy on the resume/CV. But it really does take a lot of mindbending to get to grips with. The significant whitespace quite appeals to me as a neat solution for code blocks, too. Despite being a scripting language first and foremost, I also like the idea of pushing things farther than they were intended to go, and making a GUI application language out of it (subject to me eventually understanding how).

But I like a challenge, and life isn't throwing me any alternative amusements these days!
jimzilla
In need of some credit
In need of some credit
Posts: 5
Joined: Thu Sep 13, 2012 9:03 pm

Re: Can I believe in Python and wxPython?!

Post by jimzilla »

Hmmmm..... it's not just me....
http://paranoidandroiddev.wordpress.com ... or-python/

I had another look at XRC last night as bedtime reading (exciting life!) and it's starting to look like a good idea. I shall experiment with wxFormBuilder, thanks again.

And I found a Python forum that isn't as deserted as I first thought, when I tried "Active topics" last time it returned nothing and looked deserted but it actually does have life...
http://www.python-forum.org/pythonforum ... ive_topics

Looking promising!
Auria
Site Admin
Site Admin
Posts: 6695
Joined: Thu Sep 28, 2006 12:23 am
Contact:

Re: Can I believe in Python and wxPython?!

Post by Auria »

Mailing lists aren't that bad frankly, Just configure your email viewer to place them in a directory as threads and you basically get a forum, in your email application.
"Keyboard not detected. Press F1 to continue"
-- Windows
jimzilla
In need of some credit
In need of some credit
Posts: 5
Joined: Thu Sep 13, 2012 9:03 pm

Re: Can I believe in Python and wxPython?!

Post by jimzilla »

It's way more hassle to set up a disposable email account (especially a Google groups ID), and use a second browser just for that (so that cookies can be deleted after each use, and keep your main ID in the main browser), and have your IP address easily traceable to every message you send....... oh, no thanks to that! I've been bitten by that before.

Just can't stand it, won't play that game. Web forums or nothing, for me! :D
User avatar
evstevemd
Part Of The Furniture
Part Of The Furniture
Posts: 2409
Joined: Wed Jan 28, 2009 11:57 am
Location: United Republic of Tanzania

Re: Can I believe in Python and wxPython?!

Post by evstevemd »

Python have a big community and certainly have been used in making Apps.
You don't have to be in mailing list meet community. In addition to above forum you mentioned, Daniweb have active forum.

So It is a matter of decision. Also You can call C/C++ functions from Python thereby perfoming critical ops on C/C++

Again it is matter of decision. Note that you must use Python2 to use wxPython as GUI toolkit. Not yet ported to Py3
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
Post Reply