# Mac Programming



## jeno (Nov 28, 2007)

Ok, How do i start programming on Mac platform if i donno anything about programming?

Which one should comes first?
Command line? Apple Script? Xcode? ....


----------



## supanatral (Nov 29, 2007)

In my limited opinion....it depends whether you just bought your first mac. If you did then my personal suggestion is to learn the commands for terminal first because that way you can figure out how Mac OS X works.


----------



## Natobasso (Nov 29, 2007)

http://developer.apple.com/cocoa/


----------



## jeno (Nov 30, 2007)

cocoa, carbon.....

i am confuse. sometimes, things can get very complicated in the programming world ...


----------



## Mikuro (Nov 30, 2007)

Well, yeah....

There are many different ways to write programs. Many different languages (Objective-C, C++, Python, Basic, Perl, Ruby...), many different APIs (Cocoa, Carbon, Qt, wxWidgets...), etc. It can certainly be confusing!

If you want to write Mac programs, the way to go is Objective-C and Cocoa, with Xcode. http://www.cocoadev.com/ is a great resource.

AppleScript is perhaps the easiest to learn, but it's not a language for creating your own applications, it's a language for controlling other applications. For example, you can write a script to sort your tracks with iTunes or rename files with the Finder. It's useful, but probably not what you're looking to do.

REALbasic is also worth a mention. It's relatively easy to use and more importantly, easy to _learn_. However, it is not free, and it's not as powerful or flexible as Objective-C/Cocoa.


----------



## jeno (Nov 30, 2007)

To make it easier. Is there any school or college offer such course?


----------



## Natobasso (Nov 30, 2007)

I'd recommend finding a 'mentor', someone who's doing what you want to do and find out what they program in. Are there people where you work doing what you want to do? Mine them as a resource.


----------



## Captain Code (Nov 30, 2007)

Cocoa Dev Ranch is supposed to be good.  1 week of learning Cocoa.  I believe they assume you know some basic programming concepts.


----------



## jeno (Dec 2, 2007)

I seem to have the "basic concept" but there aren't any people around my working area who can help me on this. I am searching for courses. I am going back to school.


----------



## Natobasso (Dec 2, 2007)

jeno said:


> I seem to have the "basic concept" but there aren't any people around my working area who can help me on this. I am searching for courses. I am going back to school.



And where exactly is your area??


----------



## jeno (Dec 2, 2007)

Basically, i am trying to develop some plugins and scripts. Not thinking of writing the whole software for the moment.


----------



## Natobasso (Dec 2, 2007)

You're not understanding. WHERE. DO. YOU. LIVE? Can't suggest a school in your area if we don't know where you live.


----------



## jeno (Dec 2, 2007)

Sorry for misunderstanding. I am in Asia. School in Malaysia, Singapore, China and Australia would be fine.


----------



## Iritscen (Dec 5, 2007)

The one piece of advice I can give you, jeno, is that no one should teach themselves programming.  It's a bad way to get started.  So it's good that you are looking for a class.  If it's hard to find one, at least you should buy some books.  http://www.amazon.com/s/ref=sr_st?k...1&rh=n:1000,k:cocoa+programming&sort=daterank

Check those out for starters, unless you need something in your first language.


----------



## jeno (Dec 5, 2007)

Thanks Iritscen


----------



## Viro (Dec 6, 2007)

Iritscen said:


> The one piece of advice I can give you, jeno, is that no one should teach themselves programming.  It's a bad way to get started.



Absolute nonsense. I taught myself BASIC at 12, C at 14 and have been hacking at various projects in various languages ever since. If I could do it then, anybody can learn to program on their own. It just requires determination and perseverance.

As for a good book on learning to programming for Mac OS X, that is pretty tough. I've taught comp sci at university for a few years, and my personal experience tells me that if you're not familiar with basic concepts of programming (i.e. conditional statements, loops, function calls, etc), you're probably better off learning the basics before jumping into Cocoa. To do that, I would suggest picking up an introductory book on the 'C' language. I'd recommend a book like this. Don't let the title fool you. You are not going to learn to program in 'C' in 24 hours. What it means is that the book is divided into 24 chapters, each chapter should take you 1 hour to read and to *do the exercises*. Once you've read a chapter and done the exercises, look at the answers provided. I really really recommend that book as it is the closest you can get to being taught in a class, without actually having to attend a class. If you're casual, set aside 1 hour a day and you'll be proficient in 'C' within a month. 

Once you know 'C', you can then start to look at Mac OS X programming. I'd suggest going learning to program with Cocoa. A good good book for this is Cocoa Programming for Mac OS X. Nailing down Cocoa will take considerably longer than learning 'C', but you will definitely have more fun since the projects you work with are going to be graphical in nature. 

Programming is a very hands on practical thing. As with all practical things, you get better by practice and not by merely reading books (though they help!). Get a good book, read it, practice and come back to ask questions.


----------

