[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