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

kristiaand

macrumors member
Original poster
Dec 5, 2007
63
0
Hi everyone,

I as everyone else need a little bit of help and advice, i have been a casual developer in Borland Delphi for windows for 4 - 5 years, i have recently bought a Macbook and was interested in writing software.

i had 2 choices RealBasic and Xcode.

ive gone with Xcode as RB still needs some love and attention in my opinion to become a serious language (there is no easy way todo things i would have thought simple)

anyway, Xcode is starting to mess with my head as i have seen things like Cocoa , Objective C, Java banded around so i am at a loss to what language i should be learning to get going.

can someone help explain how xcode works and what language would be the best to develop in please?? also so far i have not found a decent resource that has "newbie" tutorials or examples....

i am one of those people that learns from being shown what todo, and i can start to figure things out, but so far i cannot even find a way to get a messagebox to pop up on screen...

please someone help me i do not doubt i am being dumb somewhere but this language cannot be that difficult to get into or surely no one would be using it?
 

yeroen

macrumors 6502a
Mar 8, 2007
944
2
Cambridge, MA
C is the mother tongue. Learn C and the C/POSIX API, then you can move onwards and upwards to C++, Objective-C, the Cocoa API, etc.

I'd also learn how to develop outside the IDE. Learn how to edit in vi or emacs and become familiar with the GNU build system.
 

kristiaand

macrumors member
Original poster
Dec 5, 2007
63
0
C is the mother tongue. Learn C and the C/POSIX API, then you can move onwards and upwards to C++, Objective-C, the Cocoa API, etc.

I'd also learn how to develop outside the IDE. Learn how to edit in vi or emacs and become familiar with the GNU build system.

Hi Yeroen,
thanks for the reply, but really there has to be an easier way to start development on OS X than going back to command lines and VI, surely this is why Apple gave Xcode an IDE?

i just cannot get my head around which language would be best to start my development in? so far i have a nice simple application and i mean SIMPLE (its done in cocoa) that makes my Mac BEEP and launch an application.

can anyone help out here with some good starting point references, and maybe somewhere i can get some good examples, i found a Realbasic website where the developer posts Video Blogs, and there brilliant. clear, concise and easy to follow, for Cocoa all i have found so far is some utube videos that are not clear at all.
 

iSee

macrumors 68040
Oct 25, 2004
3,540
272
If you are interested specifically in writing Mac apps, I'd disagree with yeroen.

The best way to go is the Objective-C language with the Cocoa API (using the Xcode IDE).

There are some good tutorials on Apple's developer site.
Links: http://developer.apple.com/referencelibrary/GettingStarted/GS_Cocoa/index.html

And a great book that will get you started (it covers the Objective-C language and gets you started with Xcode and Cocoa): http://www.amazon.com/Programming-O...bs_sr_1?ie=UTF8&s=books&qid=1196893630&sr=8-1
The only problem with the book is that it is a little out of date, especially with Objective-C 2.0 out now with Leopard. It's still worth learning "old" Objective-C though, since OC2.0 apps will only run on Leopard.
 

mduser63

macrumors 68040
Nov 9, 2004
3,042
31
Salt Lake City, UT
If you want to write Mac apps, learn Objective-C (language) and Cocoa (API). You needn't start with C or any other language first. I think Objective-C is a great language to learn in. Get Programming in Objective-C and then Cocoa Programming for Mac OS X by Aaron Hillegass. Both are great books and will help you learn how to write software for your Mac with a fairly quick payoff.

Objective-C 2.0 is nice, but it won't hurt at all to learn Objective-C 1.0. 2.0 really doesn't add/change anything so drastic that you won't be able to pick it up. It essentially adds some new syntax for properties, garbage collection and new fast iteration loop syntax. All of those are nice additions that you can easily add to your knowledge of ObjC.
 

Cromulent

macrumors 604
Oct 2, 2006
6,810
1,100
The Land of Hope and Glory
Hi Yeroen,
thanks for the reply, but really there has to be an easier way to start development on OS X than going back to command lines and VI, surely this is why Apple gave Xcode an IDE?

IDE's are good for people who actually know what the IDE is hiding. If you do not know that then you need to learn it at some point. The best time to learn is when you first start. Read a book like ¨The Unix Programming Environment¨ and it will give you all the information you need.

I agree that C is a great choice of language. It's only downside is that it is not object orientated. So when you come to learn an OOP language you need to learn a whole new methodology.
 

mduser63

macrumors 68040
Nov 9, 2004
3,042
31
Salt Lake City, UT
IDE's are good for people who actually know what the IDE is hiding. If you do not know that then you need to learn it at some point. The best time to learn is when you first start. Read a book like ¨The Unix Programming Environment¨ and it will give you all the information you need.

I agree that C is a great choice of language. It's only downside is that it is not object orientated. So when you come to learn an OOP language you need to learn a whole new methodology.

I disagree. Why does one need to know what the IDE is "hiding"? I never need to drop down to command line GCC nor VI/Emacs. I am someone who does know what the IDE is hiding having written plenty of stuff in C with Emacs and GCC on Solaris and Linux machines, but I just don't really see the point for new programmers. Kind of like I don't see the point in a new OS X user learning bash or a new C programmer learning machine code or assembly...
 

eastcoastsurfer

macrumors 6502a
Feb 15, 2007
600
27
I disagree. Why does one need to know what the IDE is "hiding"? I never need to drop down to command line GCC nor VI/Emacs. I am someone who does know what the IDE is hiding having written plenty of stuff in C with Emacs and GCC on Solaris and Linux machines, but I just don't really see the point for new programmers. Kind of like I don't see the point in a new OS X user learning bash or a new C programmer learning machine code or assembly...

I guess the thought is that a new programmer can often be overwhelmed with an IDE. All the buttons and options can cloud what they are trying to accomplish. Starting with C, some text editor, and gcc can be a great way to get down to something simple and build up from there. Since most of your starter learning programs are going to be 1-2 files anyway, do you really need an IDE to get in the way yet? Of course I'm not suggesting someone should avoid the IDE for months or anything like that, but for some it can be a lot to take in when you first sit down.
 

Soulstorm

macrumors 68000
Feb 1, 2005
1,887
1
IDEs are developed for a reason. It would be a good reference for anyone to see how things work under-the-hood. However, it's not necessary, at least not in the beginning. An IDE is a more attractive means of learning programming that does not overwhelm the newbie programmer from the start.

As for writing OS X applications.. I think Cocoa with ObjC is a really good choice. And by learning objective c you can move easily into other programming languages that use object oriented concepts, like C++.
 

demallien

macrumors regular
Oct 13, 2005
137
0
How about Ruby?

Kristiaan,

I'm going to suggest something a bit different. How about you try Ruby? Especially if you are running Leopard.

Here's a great little tutorial from Apple to create a simple app that loads some images off the web:

http://developer.apple.com/document...coa/index.html#//apple_ref/doc/uid/TP40004936

And here's a URL to get you started in Ruby:

http://www.ruby-doc.org/docs/ProgrammingRuby/

Scripting languages such as Ruby can also hook into Apple's AppleEvents framework, allowing you to automate tasks between applications. They are also quite simple languages - if you're already comfortable with Object Oriented programming, you're going to really like Ruby.

Anyway, I hope that you check back and get this response - you'll be up and programming in no time...
 

kristiaand

macrumors member
Original poster
Dec 5, 2007
63
0
Thanks Everyone

Hi All,
just a quick note to say thanks to everyone who responded to this thread, apologies if i started a bit of an argument on which way things should be done, but its all good healthy discussion.

Thanks to all the advice and suggestions i have started reading up on Cocoa, objective C , and so far i am getting into it.

the thing that upset me more than anything was the lack of beginner tutorials for objective C and XCode, but now i have some good info and some starting points from you guys (which is appreciated) its only a matter of time before things start making sense.

thanks for this everyone its really appreciated, and im sure this is not the last u have heard from me LOL
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.