Re: [Pyobjc-dev] Hello & notes about the SourceForge Site
Brought to you by:
ronaldoussoren
From: Steven D. M. <sd...@mi...> - 2002-02-03 20:07:31
|
On Sat, 2 Feb 2002, ma...@ce... wrote: > Howdy, > > I've very interested in this project. I am not yet a programmer (just > starting to learn) but over the years I have become very interested in > cross platform programming. Some day I'd like to help with ports too. > Primary platforms of interest are UNIX (First Linux, then Mac OS X, > then BSD) > > As a result of this interest I'm hoping to learn programming > languages/skills in the following order: > Python - because it's fast simply and cross-platform > <insert Perl here for other reasons (read: it's what we use at work ;-) > > Python/Tk - cross platform GUI for Python > C - so I can read other's source code and port it to better languages > ;-) also I've been told it's a good idea to learn C before ObjC Once you know C, there is very little extra syntax to learn for objective C. The big hump on the learning curve is to learn how to use all of the framework classes, and to learn O-O design principles. The latter, you can pick up learning Python! Python's style of Object-Orientation is much closer to the SmallTalk/Objective-C model than it is to the C++ model. So yeah -- I think your order: Python, C, Objective-C ... makes a lot of sense. You might want to step thru some of Apple's Cocoa programming demos/examples without waiting to master objective-c, just to learn how to use the tools and see how easy it is to use the AppKit framework. > Objective C / Cocoa / Open/GNUStep - I presume everyone here knows why > I'd use those And when you're ready to tackle Cocoa seriously, I recommend Aaron Hillegass's book: "Cocoa Programming for Mac OS X" -- I've started working my way thru and it's much better that the O'Reilly Cocoa book. You ought to try to get GnuStep up and running on your Linux box -- it would be nice to be able to test if things work cross platform. We were thinking of stripping out some of the support for various flavors of NextStep/OpenStep/GnuStep because it makes the code harder to follow, has some deprecated features in it, and we really don't have anyone using those systems to test if it even works. I have heard that the Gnustep folks have been trying to track the Cocoa API's -- since that's going to be the major *Step platform, they're aiming for application source compatability with Apple. So we're probably going to limit the supported targets to OSX, OSX-Server and GnuStep, and drop all of the ancient NextStep supporting code. (also: Jack and I have been stripping out all of the unused and unneeded legacy Next code from Python's dynamic library loading code in dynload_next.c. ) > QT/C++ - again, for porting and also I favor KDE on Linux > And finally Java - again, for porting+ FYI: you can also access the Cocoa classes from Jython -- some things may work better right now, however, you're going thru two bridges -- Python <-> Java <-> objC , which means you need to do a more explicit conversions sometimes. ( Jython knows about Java classes, but it doesn't have the same intimate connection with the objC classes -- so for example, Jython can translate automatically from Java strings to Python strings, but it doesn't know that class NSString is also a type of string. pyobjc knows and translates NSStrings to Python strings.) > Anyway... this is all mostly dreams at the moment because I'm too busy > to actually learn anything very quickly (I have a pretty good start on > Python, but Perl interrupted and it's going slowly. I can honestly say > I do not like Perl :-/ ) > > In the mean time this project really caught my attention. This project has had it's stop's and go's and we're all learning as we go along: I suspect that outside of a lucky few who grew up on NextStep and are now focusing on OSX/Cocoa, most of us are not yet involved in large scale Cocoa development and are trying to learn it in our spare time. -- Steve Majewski |