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

Aniej

macrumors 68000
Original poster
Oct 17, 2006
1,743
0
I have seen a few posts on here that sort of hint around this, but most are either tied to a specific programming language or not very clear. I am brand new to the programming world and wanted to try and play around with it a bit and learn; I'm not looking to become the worlds greatest programmer over night and realize the time involved in becoming proficient, but I read this article by apple scientists use Xcode and decided to finally get my act together and give it a try.

The difficulty I am having is twofold: 1) How do I learn Xcode's different features? The guide provided with it is at least something to work with, but it is pretty confusing and assumes more knowledge. 2) Do I need to learn a certain type of language for xcode, do I need to learn one at all? I am just confused and have no idea where to begin so I begin to feel easily overwhelmed when I sit down and try to take a stab at it each time. I would greatly value specific suggestions that provide such a resources or guide, general answers are really not that helpful for my purposes, although I appreciate your interest in helping. :apple:
 

lazydog

macrumors 6502a
Sep 3, 2005
709
6
Cramlington, UK
Hi

I'm probably not going to be of much help but…

If you want to get into scientific apps how about you learn C first. Go into Xcode, create a new project by selecting 'Command Line Utility/Standard Tool'. Keep it simple at first. If you have data that needs processing, read it in from a file, process it and then write the results out to another file. You will be able to write a lot of useful stuff that runs on the command line.

There are loads of good books on C… but I can't think of any at the moment since it's so long since I picked one up!

When you feel happy with C, move onto Objective C. Start playing around with creating user interfaces. There are a few good books on Objective-C and Cocoa, but once you've got the basics the online documentation and example projects in Xcode will be enough… in theory. With a bit of work you will soon be putting a user interface to your 'C' apps.

Unless you really like or want to use Objective C, I suspect you might be better off sticking with plain C for the core of your application. You'll be able to find lots of scientific libraries on the web written in C. Also you may want to port your app to run under X-Windows.

If you need to produce fancy 3D visuals of your data then you'll need to learn OpenGL. You only need to know C to get by in OpenGL and you can get straight into programming OpenGL with GLUT. GLUT is a very simple framework written in C for creating applications which use 3D for their output… no Objective C needed.

If you've done all the above and are enjoying programming, then learn C++!

The Mac API is very big, it will take a long time to learn and master everything. But there is no need to do this, just be guided by the needs of whatever application it is you have in mind. Also, don't be impatient. Take time to learn the basics and develop your application in stages/versions.

I don't know what else to say but good luck!

b e n
 

Aniej

macrumors 68000
Original poster
Oct 17, 2006
1,743
0
hmm ok, yea you are sort of right that wasn't quite what I was looking for. Just to clarify, I am not looking to make scientific related applications, it was just a coincidence because of the article I read.

I am more interested in making web applications that users can interact with. Essentially I am focused on creating an application where my friends and I can go to a web page and interact with it. The second aspect of this though is that the information we would be interacting with, i guess you could say relying upon, would be located at a comp that is separate from the one we are using the web application on. Hopefully that makes some sense; the main point is to try and learn coding that would lend itself well to my description.
 

jsw

Moderator emeritus
Mar 16, 2004
22,910
44
Andover, MA
I am more interested in making web applications that users can interact with. Essentially I am focused on creating an application where my friends and I can go to a web page and interact with it.
Two things:

(1) Xcode and Objective-C will be dramatically improved in Leopard, so expect changes.

(2) For Web apps, there's no need - and in fact little reason - to learn Mac-specific stuff. Java, JavaScript, Perl, Ruby, JavaServer Faces, AJAX, Google Web Toolkit, and the like are better things to study, and Eclipse is a good IDE to use to develop, as it's easy to use it with Tomahawk, which is a good and free choice for running your Java-based wed applications (if you decide to go with Java).
 

Aniej

macrumors 68000
Original poster
Oct 17, 2006
1,743
0
what is google web tools, I have never heard of this and am pretty much on google every day in their labs section?
 

Aniej

macrumors 68000
Original poster
Oct 17, 2006
1,743
0
I appreciate the effort JSW, but the critical factor was my lack of programming knowledge. I guess I need to find a good book or tutorial.
 

bronxbomber92

macrumors regular
Nov 23, 2006
109
0
For web based programming, if I had to chose one language, I would choose Java. Java has many API which allow it to be used for many things, is cross-platform, and easy to use (generally). That's only if I was doing web programming, and was forced to learn one language. But since that will never happen, I suggest you learn Ruby, Python, Java and Javascript ;) They all have there advantages and disadvantages.

http://wiki.python.org/moin/WebProgramming
http://www.rubyonrails.org/

Those are two specific links for Python ad Ruby.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.