Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Mac_G_FiF

macrumors newbie
Original poster
Oct 21, 2004
4
0
CA
I'm a total newbie when it comes to programming. :confused: I have no idea where to begin learning about creating mac programs. Its pretty hard to figure out a starting point when there are so many technologies out there, which one to get a hold of first. If anyone has any words of wisdom...or helpful resources...it would be much appreciated.

thanks

FiF
 

iBert

macrumors regular
Jul 14, 2004
148
0
Go to hear you've taken interest in programming. Don't know if you've be here . But it could be a good place to start. Also, check Mac Dev Center.

Think what you want to do first. That is, a plug-in for iMovie, iTunes, etc. Or if you want to start creating the next big app, everyone will want. As, for a programming language it will depend. Some will say start with C or C++ or Python or Java or whatever they started with. I started with C++, an a lot now a days is object-oriented. So, as soon as you can start with object-oriented which ever language you decide the better.

But, for starting C can be a good language. Get a hold of procedural programming and then start object-oriented.

I hope others say, what languages are better to start with. At least you'll have more options on where to start. But I strongly recommend, think what is it that you wish to build. Then look for info on what language will be better for that and go from their.

Keep posting should you have more questions. Thats what we are here for, helping one another.
 

russed

macrumors 68000
Jan 16, 2004
1,619
20
Mac_G_FiF said:
I'm a total newbie when it comes to programming. :confused: I have no idea where to begin learning about creating mac programs. Its pretty hard to figure out a starting point when there are so many technologies out there, which one to get a hold of first. If anyone has any words of wisdom...or helpful resources...it would be much appreciated.

thanks

FiF

cool im pleased someone else has asked this as i have been thinking exactly the same thing. i was thinking on starting with applescipt? or wpuld people reccomend that it is the wrong thing to start with?
 

coconn06

macrumors regular
Jun 14, 2003
197
0
King of Prussia, PA
Mac_G_FiF said:
I'm a total newbie when it comes to programming. :confused: I have no idea where to begin learning about creating mac programs. Its pretty hard to figure out a starting point when there are so many technologies out there, which one to get a hold of first. If anyone has any words of wisdom...or helpful resources...it would be much appreciated.

thanks

FiF

As iBert said, you obviously first need to learn programming concepts and languages. I say start with Java. It's an elegant and relatively simple language to understand. And there's plenty out there as far as learning it goes. Then move to Objective-C, which is the language best used for developing Cocoa (Mac OS X native) programs. That will give you a taste of C while furthering your OO skills and introducing you to developing Mac OS X apps.

Books are also very helpful. Do a search of the forums to find some great books.
 

russed

macrumors 68000
Jan 16, 2004
1,619
20
not to sound thick but what is the difference between the programming languages and wouldnt it be easier if they were all the same?
 

whooleytoo

macrumors 604
Aug 2, 2002
6,607
716
Cork, Ireland.
There are several development/language option on the Mac, but in the long run developing using the Cocoa framework in Objective C or Java have the most potential. (RealBasic is probably simpler, but not free).

The best start is probably to learn C if you're not familar with it. Obj-C is just and extension of this, and the Java syntax is very similar too, so it's a good start. There are countless good books and webpages on learning C, so you won't have any problem there.

Next you probably should learn Object Oriented Programming - just the basic principles of classes, methods and inheritance in particular. Books on the topic tend to be very "dry" and boring, so you might want to look at some of the sample code at the same time.

Cocoa has a massive "library" of classes which do a lot of the work for you, but it takes a while to become familiar with them. A good start is to start messing around with the NSString class, for storing and manipulating strings (text). You'll be using these all over your program, when you use files (e.g. filepaths are strings) or the web (URLs), or displaying dialogs on screen.

Then start picking individual features, and try to write a sample program using it; such as a button that causes a beep. Or a menu item that displays a window. Then try adding a text box and getting the text out of it. Then more complex items like a list box, etc.

There are lots of Cocoa related websites to help you, two of my favorites are CocoaDevCentral and MacDevCenter.

If you've any questions, here's the place to ask!

Best of luck!
 

iBert

macrumors regular
Jul 14, 2004
148
0
russed said:
not to sound thick but what is the difference between the programming languages and wouldnt it be easier if they were all the same?

A short answer and this is how I think about this subject. Each language does something easier than others. Another thing, performance. Example, what I've heard. C++ is faster than Java, so if your app should be faster then use C++ but if you want better cross platform use Java. Don't take this 100% literally, think about it in a simple manner of diference.

But C, C++, Java, Python, Perl, etc, etc. Each will have something that makes things easier. Example, to create a parser I'd say use Perl. Since Perl manages strings very easily.

I'm trying to make this as simple, but it's kinda hard. You'd probably need to take the course on programming languages. You will hear about the main programming languages like C, C++, Java, etc. But their are some many languages that are used in academia that it's just ridiculous.
 

whooleytoo

macrumors 604
Aug 2, 2002
6,607
716
Cork, Ireland.
russed said:
not to sound thick but what is the difference between the programming languages and wouldnt it be easier if they were all the same?

Some of it has to do with standards, and no company wanting to use another's!

On the other hand, different languages have different strengths, for instance Java is nice because it does most of your memory management for you, but it tends to be relatively slow. The biggest advantage of Obj-C (to me, at least) is the massive Cocoa framework that you can use with it. Most BASIC-based languages tend to simple, but relatively limited, IMO.
 

iCreate

macrumors member
Sep 2, 2002
99
11
Near Insanity
Mac_G_FiF said:
I'm a total newbie when it comes to programming. :confused: I have no idea where to begin learning about creating mac programs. Its pretty hard to figure out a starting point when there are so many technologies out there, which one to get a hold of first. If anyone has any words of wisdom...or helpful resources...it would be much appreciated.

thanks

FiF

If you want to get start quickly I suggest you just go with Objective-C. C++, Java, Objective-C all have a basic syntax which they all share. So learning one, will teach you 95% to 99% of the other with the exception of how they handle objects and memory management. Two things that you will soon learn about regardless of which language you choose.
If you start off with Objective-C it will make moving on to Cocoa all that much easier and understandable. My book of choice for learning the language is "Programming in Objective-C" by Stephen G. Kochan. You can read this then move on to a book on using Cocoa. I think what I see most people do is go straight to Cocoa, usually the AppKit, start messing with GUI programming with no understanding of Objective-C. For a short while you'll think you can get away with it, but as you progress it'll start going from bad to worse. When you are ready for Cocoa, there's "Cocoa Programming For Mac OS X" second edition by Aaron Hillegass. There are some others out there for Cocoa, but they were pre-Panther and Xcode. So pictures of screens and where to find buttons and such are a bit out of place, but I found them to be ok when first started ok. "Learning Cocoa with Objective-C" and "Building Cocoa-Applications" both by O'Reilly Press.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.