Re: Which language to get started with cocoa development?
Objective-C is a pretty small addition on the top of regular C. It's the Cocoa libraries that take the time, no matter what language you use. On Dec 31, 2008, at 2:22 AM, Achim Domma wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. cheers, Achim ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
Achim, - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. ymmv, but i'd think it would be more frustrating to learn Cocoa with anything *but* Objective-C, as the two are pretty closely intertwined, with how Objective-C handles method naming and Cocoa takes advantage of that. Learning ObjC is easy (especially if you know C well); having to mentally translate between Cocoa method names and their mangled counterparts you deal with in other languages will be a much bigger challenge to getting started. this just imho, of course. Yours, marc hoffman RemObjects Software The Infrastructure Company http://www.remobjects.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On Wed, Dec 31, 2008 at 12:22 AM, Achim Domma do...@procoders.net wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. Cocoa was designed with Objective-C in mind. If you know C and OOP it is a very small step (IMHO) to learn Objective-C. Also consider that Apple documentation, 3rd party books, code example, etc. for Cocoa are most often written using Objective-C. I encourage you to take a couple of days to learn Objective-C and then use that to when you learn Cocoa (the later will take substantially longer to learn). -Shawn ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On 1 Jan 2009, at 17:23:50, Achim Domma wrote: Thanks to everybody giving feedback to my question! Obviously I'll have to get started with ObjC. Most people refer to the Cocoa design patterns I'll have to get used to. Currently I think about buying http://www.pragprog.com/titles/dscpq/cocoa-programming to speed up my first steps. What other book or online resource is recommended to learn Cocoa design patterns? You can assume that I have some experiences reading documentation and that I'm familiar with design patterns in general. thanks again, Achim Aaron Hillegass's Cocoa Programming for Mac OS X is an excellent book. You'll probably find much of it a bit below your level to start with, but a lot of it will probably be new stuff that will really help you. Speaking from my own experience here. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On Thu, Jan 1, 2009 at 2:44 PM, Keary Suska cocoa-...@esoteritech.com wrote: True or native Cocoa is only available for Objective-C and Java API. There are API ports to to other languages, Ruby is one that I am aware of, but they are not really Cocoa. They are just Cocoa-like. That may enough for your purposes. The Java bridge is no longer maintained, and has been deprecated since 10.4. PyObjC and RubyCocoa, on the other hand, are officially-supported bridges. And they aren't ports. PyObjC, for example, does most of its work by runtime introspection. The MacRuby project looks even more interesting, as it implements Ruby 1.9 directly on top of the Objective-C runtime, and is maintained by Apple. In short, Java was the past while Ruby and Python are the future of supported non-ObjC development. --Kyle Sluder ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
Le 1 janv. 09 à 20:44, Keary Suska a écrit : On Dec 31, 2008, at 1:22 AM, Achim Domma wrote: I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. True or native Cocoa is only available for Objective-C and Java API. There are API ports to to other languages, Ruby is one that I am aware of, but they are not really Cocoa. They are just Cocoa- like. That may enough for your purposes. It's no longer available for Java (The java bridge is deprecated and unsupported) ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On Jan 1, 2009, at 3:20 AM, Bill Bumgarner wrote: But until you know Objective-C well enough to fluidly interact with the system APIs, trying to futz with said APIs from some other language just adds significant -- and easily avoided -- overhead to the learning process. I couldn't agree more! One of the more frustrating aspects of being the author of a language bridge was having to repeatedly tell people that no, using your favorite scripting language will *not* make Cocoa easier to learn. sherm-- ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
If you truly want do cocoa you should learn objective-c. That is the flagship language. Shouldn't be too difficult for a professional programmer to pick up. Luke Sent from my iPhone. On Dec 31, 2008, at 12:22 AM, Achim Domma do...@procoders.net wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. cheers, Achim ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/luketheh%40apple.com This email sent to luket...@apple.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On Dec 31, 2008, at 12:22 AM, Achim Domma wrote: I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. Language is a very small part of what you need to learn. The much larger piece is the APIs and design patterns used across the frameworks used by Mac OS X. They are implemented almost exclusively in Objective-C, with some C or C++ APIs here and there. Thus, learn Objective-C first. Know it. Understand it. And, most importantly, grok the APIs that you will be using. Then, if there is some compelling reason to use some other language to developer your Cocoa applications, go for it... But until you know Objective-C well enough to fluidly interact with the system APIs, trying to futz with said APIs from some other language just adds significant -- and easily avoided -- overhead to the learning process. b.bum ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On 31 Dec 08, at 00:22, Achim Domma wrote: I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: I would strongly recommend against using anything other than ObjC if you're just starting out, as all the existing documentation and tutorials assume that's what you're using. As you're already familiar with C and C++, ObjC should not be difficult to pick up - it's a very lightweight extension to C. ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
Go with Objective-C: it’s the native language for Cocoa, so there’s no impedance mismatch. Plus, you can leverage your C/C++ knowledge where you want/need to more easily than you could in Ruby or Python. (C# is an unknown quantity for me, so I can’t really comment on that.) Plus, if you’re already good at dynamic languages and C-family languages then you’ve got all the pieces in place to pick up Objective- C quite quickly. Interface Builder doesn’t exactly work the way you’re thinking, I think —integration with scripting languages doesn’t really come into it. Instead, Interface Builder works by configuring and archiving “real live objects”—Cocoa framework objects—into a file that is unarchived at runtime. So if you’re using the Python or Ruby bridge, it’s the same —it’s unarchived into an Objective-C object which you interact with over the bridge like you would any other object in the framework. It’s really quite pleasant. I’ll contradict myself a little and say that I think there’s a fairly good case for using one of the bridges now—certainly better than ever before, and only improving! But I really do recommend learning Objective-C even if you don’t end up using it for your projects—you’ll gain a better understanding of the hows and whys of the Cocoa framework that way. Hope this helps, Rob On 31-Dec-08, at 3:22 AM, Achim Domma wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. cheers, Achim ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/rix.rob%40gmail.com This email sent to rix@gmail.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On 31 Dec 2008, at 7:22 pm, Achim Domma wrote: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. Depending on what sort of application you have in mind, Obj-C is likely to be the most fruitful approach. I don't think any other languages allow you access to all of Cocoa, only select parts. If you know C, Obj-C is a very small extension. It is a strict superset of C(99), and the extra stuff in Obj-C will take you a very short time to learn. It looks a little strange at first, but the syntax is very logical. If you already know another object-oriented language like C++ then it will be easy, I'm certain of it. Personally, I learned enough Obj-C in a day (after more than a decade of C++) to get started with Cocoa. Cocoa itself will take a fair bit longer to get really comfortable with, so the reality is that learning Obj-C will be a tiny fraction of the effort needed. So choosing a familiar but non-native language would be, in my opinion, an error. --Graham ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
For an experienced C/C++ programmer, Obj-C is not difficult to learn at all. The main difference from C++ is the method-calling syntax. The rest of what you need to learn for Obj-C development is the Cocoa framework itself, but since that's what you want to learn anyway, you will need to dive into that whichever language you choose. I am not experienced in RubyCocoa, but I believe Leopard includes that with the OS. So you should be able to distribute RubyCocoa apps to Leopard users without bundling the framework. On 31 Dec 2008, at 08:22, Achim Domma wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. cheers, Achim ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/dez%40mac.com This email sent to d...@mac.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On Wed, Dec 31, 2008 at 3:22 AM, Achim Domma do...@procoders.net wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. My opinion is that you should use Objective-C, at least at first. Some reasons why: 1) If you know C and some object-oriented languages, then ObjC will be a piece of cake. ObjC is NOT like C++ at all. If you know C and learn C++ it's like starting over, because C++ adds this incredible huge massive overbearing truckload of stuff to the language which practically builds it anew. ObjC on the other hand adds extremely minimal syntax. It is the C with objects that C++ once was but has so vastly outgrown. If you are proficient in C and good with OOP and have an open mind, learning ObjC itself will take you perhaps one day. Really. (Of course you won't be able to do much with it at that stage, but that's because you need to learn the libraries i.e. Cocoa to build useful stuff. And all that learning is stuff you will have to do *anyway*, so you're no worse off.) 2) You add more things to learn using a different language. Instead of learning Cocoa, now you have to learn Cocoa *and* PyObjC or whatever bridge you're using. Every bridge has its quirks and corner cases and specialized things you have to learn. 3) You have a much harder time using tutorials, documentation, and sample code. 99.9% of the extant tutorials, docs, and examples are written in ObjC. You'll have to translate that stuff into the language of your choice to use them, meaning you'll have to know some ObjC anyway, and you'll be struggling not just with ObjC/Cocoa but with ObjC/Cocoa/Python/PyObjC/samplecode/docs/tutorials/translating/etc. So there you have it. This is just my opinion, and other people may disagree, but in my opinion you should just take the few hours or days to learn ObjC and then do Cocoa with its native language. Later on, once you're comfortable in it, if you dislike ObjC and prefer another language then you can switch over to one of the bridged languages and be in a much better position to work with it from there. Mike ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On 12/31/08, Achim Domma do...@procoders.net wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. With the language set you already know, Obj-C should only take you a day to learn. It is a pretty minimal superset of C. My personal experience is people spend more time worrying about or resisting learning Obj-C than actually learning it. Cocoa is huge though. That's where you will be spending most of your time learning. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? On Leopard, yes. Apple officially includes and supports these on Leopard and they have full access to Cocoa and other frameworks on the system. I don't think you need to bundle them in your app since they are already system frameworks. Only your code will go in your app. Your end users shouldn't be able to tell you are using these. These won't save you from having to learn Cocoa though. - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? I don't have any first-hand experience, but for PyObjC and RubyCocoa, but from what I've seen, the integration is really good. - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? PyObjC and RubyCocoa are fully supported by Apple. I believe these are really up-to-date. Other languages, not so much. I don't see why there would be any problems with Core Animation. I wrote my own minimal binding for Core Animation in Lua and I did it the hard way. PyObjC and RubyCocoa are much smarter and I don't see why they would have problems. Core Data I am less sure about since there is a modeling tool. Since they have IB integration, I fully expect PyObjC and RubyCocoa to have full support here too. I'm sure somebody else can confirm this. - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I don't know anything about Mono/Cocoa#. Somebody else will have to answer this. Personally, I think you should start with Obj-C. You'll be able to find a lot more code examples and more easily be able to get direct help from people. And Cocoa is designed with Obj-C in mind so learning Cocoa from Python or Ruby may slow your learning of the common patterns and designs in Cocoa. -Eric ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On Dec 31, 2008, at 1:22 AM, Achim Domma wrote: I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. True or native Cocoa is only available for Objective-C and Java API. There are API ports to to other languages, Ruby is one that I am aware of, but they are not really Cocoa. They are just Cocoa-like. That may enough for your purposes. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? I imagine so, at least in theory. Never done it myself. Shouldn't be too hard to find an application bundle example somewhere. - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? HTH, Keary Suska Esoteritech, Inc. Demystifying technology for your home or business ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
On Dec 31, 2008, at 2:22 AM, Achim Domma wrote: I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. I have only passing familiarity with Python, Ruby, and their bridges to Cocoa, so take this with a grain of salt: I think you're going to want to learn Objective-C for Cocoa development, even if you end up programming in a scripting language. First, it's a really small addition to C, which you already know. You're right that it may make more sense to learn Objective-C first before Cocoa, but that will be a really brief step, I think. As I understand it, for the bridges to Python or Ruby, you'd have to learn some new paradigms anyway since the bridges can't quite make Cocoa a completely natural fit to those languages. All of Apple's documentation and sample code for Cocoa is written in terms of Objective-C, so if you don't understand Objective-C you won't understand the docs. Interface Builder does not generate Objective-C code. It's not a code generator at all. Instead, it constructs objects and then freeze dries them out to nib files, which are just archives of the objects and their connections. Loading a nib just reconstitutes the object graph. So, I don't think that Interface Builder is especially Objective-C-centric. Interface Builder and Xcode do cooperate to let IB know about any custom classes defined in your code, but you can also accomplish the same thing directly in IB. I don't know if the scripting language bridges support exporting new class definitions from Xcode to IB automatically. I don't know how well Core Data or Core Animation are integrated with scripting languages, but I imagine they must work. They are not based on any features of the language beyond normal message passing (and possibly forwarding). If the bridges are worth anything, then I expect those frameworks to be available, pretty much automatically. Cheers, Ken ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
Personally I would say Objective-C. Its not that difficult of a language to learn. If you have learned C++ and C, Objective C is easy enough to learn. I just trained and mentored some window's engineers on an Objective-C project, they had C#, C++ and C expreience. Once they got through the syntax differences and the memory management, they love the language and framework, the tools are a love hate relationship. The Objective-C language, i believe, will run faster than a python or mono app. They require an interpreter for the bit code. They don't compile to native code, i don't believe. Scott On Dec 31, 2008, at 12:22 AM, Achim Domma wrote: Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. cheers, Achim ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/scottandrew%40roadrunner.com This email sent to scottand...@roadrunner.com ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Which language to get started with cocoa development?
Hi Achim, I'll only answer one of your questions, as I don't know much about all the scripting languages and possibilities for those. On Dec 31, 2008, at 09:22, Achim Domma wrote: I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. ObjC is based upon C, it's basically C with a tiny add-on. I'd claim that you want to use ObjC, because it takes you 10 minutes to learn, since you know C already! What you do, is you go and take the ObjC CurrencyConverter tutorial, and then you're all set. http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/01Introduction/chapter_1_section_1.html (In other words: Learn Cocoa/ObjC in 10 minutes, that's how long it took me the first time) In short, the only thing that differs 'much' from other languages, is how you invoke methods... C++: result = myObject-drawLine(x,y,x+10,y+10); ObjC: result = [myObject drawLineFromX:x y:x toX:x+10 toY:y+10]; That's all. There are a few other differences, but you'll learn those on the fly. I'd like to quote someone from this list (sorry, I forgot who wrote it): If it's difficult to do in Cocoa, you're doing it the wrong way. When you're done with the Currency Converter tutorial, go and have a look at the sample-code: http://developer.apple.com/samplecode If you don't have XCode yet, you can download the latest one from connect.apple.com (it's on your Mac OS X installation DVD) Love, Jens ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Which language to get started with cocoa development?
Hi, I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development: - ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to non ObjC languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong? I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated. cheers, Achim ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com