Click here to Skip to main content
15,885,870 members
Please Sign up or sign in to vote.
4.00/5 (2 votes)
Greetings!

I just signed up today even though I have been aware of this resource for quite some time, choosing to present my question here because I appreciate the professionalism that is usually shown here.

To the point, I am looking for the recommendation of books, videos, tutorials or other such training materials to learn Objective-C using XCode from the perspective of an old-school programmer. My specific focus is for Mac desktop applications.

My background includes K&R 'c', Fortran, dBase II, various BASIC dialects and am reasonably well-versed in the core Windows APIs. Objects are not foreign to me but, alas, I have not worked with them on a daily basis.

I am subscribed to Safari Books and materials do not necessarily have to be 'free' as I understand the value in ones works.

Any recommendations that could be provided here would be most appreciated!

OW

-- Added Block 1 --

One area that direction would be helpful is advice regarding the XCode itself. You see, I have never used an integrated development environment. Is has been my practice for decades to use a text editor and a command-line compiler.

For example, I simply get lost as I working through examples and find the UI for XCode seems to have changed a number of times. Environments like this is something I've got to get accustomed to even though, so far, I am not thinking kind thoughts about them! hehe
Posted
Updated 13-Nov-13 12:07pm
v3

1 solution

I don't think that the whole idea to look for something written from the perspective of certain background is productive. Such books and tutorials are very popular, but looking for such style of presentation of mere API of some system may badly limit your choice.

You should also take into account that Objective-C is badly limited to Apple products, and Apple-related software culture is notoriously isolated. (I dare say, it is so isolated that it often even leads to notorious illiteracy of some representatives of this culture in relation to bigger picture, software technologies from outer world :-)). That said, I think finding a tutorial on Linux topics "for Windows programmers" would be much easier then on Mac/iOS topics (despite the fact its possible to develop in Objective-C on Windows, see, for example: http://solarianprogrammer.com/2011/09/14/learn-objective-c-on-windows/[^]).

What would be my approach? Just this:
http://en.wikipedia.org/wiki/Objective-C[^],
http://bit.ly/1a5CzLa[^].

You just need to find a tutorial which explains the topic somehow, the way you can understand it. Often, just forgetting your Windows experience temporarily, could be more useful than trying to leverage it. Remember:
Alan Perlis taught us:
A language that doesn't affect the way you think about programming, is not worth knowing.

Be careful: philosophy of Objective-C, despite minor resemblance, looks extremely alien from the perspective of C++, C# or Java. I would not even take a risk of stating that it has something to do with OOP, despite the work "objective" in it, maybe only in the sense of some remote relations. :-)

—SA
 
Share this answer
 
v3
Comments
OldWrangler 13-Nov-13 17:20pm    
Thank you for your reply.

I have a specific need to accomplish something specific in the Mac world. I could, and would rather do it in Windows simply because that is what I am familiar with.

As a whole, I have no issues with the Mac platforms. Sure, some things are different, but that's okay. Some things I like and naturally some I don't. Each has its own advantages, often based on familiarity.

As I understand, Objective-C is based on SmallTalk and came with from the NextSTEP platform but that is not the stumbling block for myself. Syntax can be learned. The concepts and translations are my stumbling blocks.

I propose that writing instruction from a particular perspective can, indeed, be productive. For example, when I took a class in another verbal language, it was from the perspective of my native tongue. To say "x" is "y."

To my mind, such kick start training that documents how select programming scenarios would be accomplished in another environment would be quite useful.

For example (and not intended to be answered here,) I am trying to use NSBeginAlertSheet as the ubiquitous "Hello World" in my own function but am still trying to grasp the default organization of files, descriptions and documentation. Once this works, then I want to programmatically create a window with a button that activates this function in an event. Having a Windows version of any flavor and an Objective-C version side-by-side would be a HUGE help for me.

As I stated, I have the subscription to Safari books and there are many books on Objective-C, Cocoa and such. I find myself stumbling around because of a lack of common ground. However, if no suggestions are offered here, I will continue to use these materials and expect to, in time, plow through.

It is my hope that someone who perhaps was in the same situation could direct me to a resource that was beneficial to them.

Thank you again for your reply,

OW

-- Added Block 1 --

I see you added the quote after I read your initial post. One could also say same the thing for the reverse, that "a language that affects the way you think about program is not worth knowing," either.

Also, I assure you that I have spent several days with search engines and scouring books on Safari. Yes, I do know how to use a search engine despite the hidden sarcastic link.

The purpose of my initial question was to hopefully find some particular resource, book or tool that someone else had found useful in their transition from Windows to Mac programming.

OW
Sergey Alexandrovich Kryukov 13-Nov-13 18:10pm    
I have done a contract work on Mac OS X (migration project from Windows .NET to multiplatform) in C#. There is such thing as MonobjC. Interesting?
—SA
OldWrangler 13-Nov-13 18:18pm    
Was your project heavily UI based and did you use XCode ? If so, what was one "a ha" moment that you had that helped you in your transition ?

I will take a look at the MonoObjC. (Yes, I searched for it using a search engine ;-] ) My only hesitation is that when I finish this project, I like to use the 'standard' tools so that if someone else has to dig into the code that it is on as common of a footing as possible.

Thanks again,

OW
Sergey Alexandrovich Kryukov 13-Nov-13 19:15pm    
Yes, heavy UI, otherwise what would be the problem, to hire an expert? No XCode. Developed mostly on Windows, tested first on .NET, then Mono for Windows, then Mono on Mac OS X, without recompilation. That's how I developed the major part of development cycle. Not quite trivial.
—SA
OldWrangler 13-Nov-13 19:27pm    
It is because feel this project will be best written using native code because of heavy UI work, low-latency TCP access and accessing an ASIC on either the PCI or USB bus. Also, I *want* to do this project to keep my brain cells operating and am the best qualified because I wrote the Windows version many years ago. I guess that I am not good enough and should quit and just hire an expert.

OA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900