On Jun 6, 3:55 pm, ant <shi...@uklinux.net> wrote: > I obviously didn't make my main point clearly enough;
I think you did make your point clearly enough, it's just that not many agreed with you. But I'll play along. > I'll restate it > with a different emphasis: > The default GUI shipped with Python is Tkinter. > Few people seem to like it much. This has several consequences. > - It has not blossomed, like Python has. > - There are not hundreds of talented programmers making rapid and > impressive improvements to it. > - Books about Python use it in examples (because it IS the default), > but imply that one should move on. > > The result that our hypothetical new recruit has to make a choice for > the new, big project. Remember that > GUIs have hundreds (sometimes thousands) of classes, functions and > constants. Let alone idioms and design > patterns. That is what I meant by 'Our resources are being > dissipated'; the effort of learning, remembering > and relearning a workable subset of these is substantial. > So it would be good to be able to use One Right Way, not try several > (as I have - I will admit I didn't try PyQt; > GUI fatigue was setting in by then). GUI programming is too complex for us (i.e., mankind) to have reached any condition where One Obvious Way makes sense, we just don't know enough, and there might not ever be one. So it would be foolish for Python to go out and say "this is the One Obvious Way"--it'd be like claiming to be smarter than mankind. Right now the best way is to let GUI toolkits be toolkits and to compete with each other. > If we are to make progress, I can see two obvious approaches: > 1) Improve Tkinter to the point where it is supportable and supported > by a good fraction of Python programmers > or > 2) Drop Tkinter as the default and use something else. > > If we choose 2) then we have a new set of possibilities: > 2a) Use one of the 'major' GUIs, pretty much as is, but presumably > with a lot more people supporting it if it is the default. > 2b) Use one of the 'minor' GUIs, and get a lot of people working on it > to make it really good. > 2c) Start from scratch. With a project supported by the Community as a > whole, with the agreed objective of being the default. I believe choosing any one of these options would do far more harm than good. The bureaucracy of the standard library works to keep Python headed down the straight path for stable, mature tasks like basic networking. But for dynamic, complex, cutting-edge tasks like GUI programming it would bog everything down. Only straightforward, simple GUIs like Tkinter are suitable for the standard library. > None of these is easy. All require strong leadership and great > committment. Strong leaders in GUI programming are best left unhindered by the constraints of Python's standard library process. BTW, what's your plan for producing such a leader? Because if we don't have a leader it's kind of a moot point. (I know some people asked you to volunteer, but I suspect you would agree that you're not up to the task, so I assume you are merely a visionary and have someone lined up that you've somehow convince to do the dirty work of leadership.) > What surprises me is the apparent willingness of the Python community > to let this issue slide. It's not a willingness to let the issue slide; it's disagreement that it's an issue at all. > I can see that many people have committed to one GUI and want to use > that forever. Fair enough. For the reasons I stated > originally, I've not found one. I think a lot of people deep down are > uneasy about this. I haven't noticed much of that. The main objection seems to be that Python carries around the dead weight of Tkinter, or at least that it's basic GUI isn't actually written in Python. I've seen a lot more people clamoring for a web framework a la Ruby on Rails, mostly, I suspect, out of greed for exposure. Same issue, though. Notice that Ruby got typecast as a web language. Then people started jumping off the RoR bandwagon, so now it's a web language with few users. You want that for Python? I don't. > My concern is simple: I think that Python is doomed to remain a minor > language unless we crack this problem. Well, if Python is considered a "minor language" now, I'd happy to welcome that particular damnation. -1 Carl Banks -- http://mail.python.org/mailman/listinfo/python-list