On Apr 10, 2006, at 2:21 PM, Kent Quirk wrote: > From: Ronald Oussoren [mailto:[EMAIL PROTECTED] > Sent: Monday, April 10, 2006 4:42 PM > To: Kent Quirk > Cc: Dethe Elza; Gábor Farkas; pythonmac-sig@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 _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig