Tkinter: The good, the bad, and the ugly!

Steven D'Aprano steve+comp.lang.python at pearwood.info
Mon Jan 17 11:01:04 EST 2011


On Sun, 16 Jan 2011 15:41:41 -0800, Adam Skutt wrote:

> If you're going to expect me to be that pedantic, then pay me the
> courtesy of taking the time to find the necessary context. Nevertheless,
> it's not the least bit unreasonable to address deficiencies in the
> standard library as deficiencies in the language, like it or not;

I'm afraid that's precisely what I'm arguing you *can't* do -- there's 
nothing reasonable about equating the standard library with the language. 
Some languages don't even have a standard library, or for that matter a 
standard implementation.

Would you argue that Python is unsuitable for parsing real-world (i.e. 
broken) HTML because Beautiful Soup is not in the standard library? That 
Python is unsuitable for scientific and mathematical processing because 
Scipy and Numpy aren't in the standard library? That you can't do natural 
language processing with Python because NLTK is not in the standard 
library? That you can't do image processing with Python because PIL is a 
third-party library?

There's no doubt that having a good standard library with a rich toolset 
is a beneficial feature of Python. Python's philosophy of "batteries 
included" has been one of it's strengths. But it would be absurd to claim 
that if a tool isn't in the standard library, the language can't do it.


> and since rick's proposal involves regressing the standard library..

If you think I'm supporting Rick's incoherent proposal, you've 
misunderstood me.

In any case, I'm not disputing that if you wish to write modern looking, 
and feeling, GUI apps, you need a powerful widget set, or spend all your 
time reinventing the wheel. Nevertheless, you can do good, useful work 
with only a minimal widget set. Back when dinosaurs walked the earth, I 
wrote GUI apps using an *extremely* limited widget set, equivalent to 
window, button, text field, and simple bit-mapped graphics -- no menus, 
no scroll bars, no list boxes, no styled text, and certainly no layout 
widgets. By today's standards, that's even more primitive than the 
average web UI, and yet some of the apps written in it were useful and 
even elegant. (I don't claim credit for the elegant ones, but the ones I 
wrote were at least useful to me.) You can get surprisingly far with only 
simple widgets and a bit of ingenuity. Or at least by lowering your 
expectations. *wink*



-- 
Steven



More information about the Python-list mailing list