[Pythonmac-SIG] needed: simple gui toolkit with "japaneseinput" support

Bob Ippolito bob at redivi.com
Mon Apr 10 23:58:50 CEST 2006


On Apr 10, 2006, at 2:21 PM, Kent Quirk wrote:

> From: Ronald Oussoren [mailto:ronaldoussoren at mac.com]
> Sent: Monday, April 10, 2006 4:42 PM
> To: Kent Quirk
> Cc: Dethe Elza; Gábor Farkas; pythonmac-sig at python.org
> Subject: Re: [Pythonmac-SIG] needed: simple gui toolkit with  
> "japaneseinput" support
>
> <snip>
>
>>> I get the impression that for those who've used Cocoa and prefer
>>> Python, it's a breath of fresh air...but for those who've not been
>>> swimming in a vat of Cocoa, it's not quite so appetizing.
>
>> And to second Dethe: I'm also a python programmer that likes Cocoa.
>> Heck, I wrote[1] PyObjC because I wanted to use Cocoa from Python.
>
> Which is kinda the point -- you already knew Cocoa and wanted to  
> use it in a different context.
>
> I don't wish to argue about what's "really" easy or difficult about  
> Cocoa. I was trying to point out that people who don't use Cocoa  
> already, coming at it from Python, find several things about Cocoa  
> to be alien and difficult. And attempting to read and use Cocoa's  
> documentation requires that you already "get" Cocoa, and understand  
> the logic behind such things as two-stage object creation.
>
> I'm really not disparaging Cocoa at all as a development platform.  
> I'm merely trying to point out the impedance mismatch between it  
> and Python. Sometimes people forget how much they had to learn. For  
> people experienced in Cocoa and already familiar with it, the  
> similarities are far more important than the differences, and  
> PyObjC is a wonderful tool. But for users unfamiliar with Cocoa and  
> possibly unfamiliar with the Mac, the learning curve can be  
> formidable.

There isn't an impedance mismatch between Python and Cocoa.  The  
impedance mismatch is between Cocoa, which is largely declarative,  
and the other GUI frameworks, which are largely procedural.  Python  
doesn't have any preconception about what a GUI is or how it should  
work (unless Tkinter counts for that, which it probably shouldn't),  
so there can't really be a logical impedance mismatch unless you're  
comparing it to some specific other GUI toolkit.

Using wx or Qt brings lots of C++isms, using Tkinter brings lots of  
TCLisms, and using Cocoa brings Objective-Cisms.  It just so happens  
that Objective-C and Python have very similar object models (more  
similar than the other choices), so there isn't really that much of  
an impedance mismatch there -- except for dynamically chosen  
selectors that happen to depend on non-object signatures.  The  
impedance mismatch is so low in fact that PyObjC doesn't even know  
anything about GUIs either (unlike the other toolkits, which require  
a lot of wrapping), it just knows how to bridge the two language  
runtimes together in a practical way.

-bob



More information about the Pythonmac-SIG mailing list