Canadian Mac Forums at ehMac banner
1 - 15 of 15 Posts

·
Registered
Joined
·
438 Posts
Discussion Starter · #1 ·
hi everyone. for a while, i have wanted to start to develop software for mac os x. i have pretty much never wrote any software and i want to know what the best way to start is. also, what language and what programs should/would I use? thanks, neema
 

·
Premium Member
Joined
·
2,263 Posts
Do you have any knowledge of basic programming?
If your goal is more to make something the easiest way there is Real Basic, a Visual Basic style construction set type of interface and a free demo is available.
You neeed very little actual prgramming ability to use real basic but it could come in handy to tweak your apps. and you can hook them to databases like filkemaker to add functionality.
If you want to make real programs from scratch by coding every line in C, C++ or Java you can use the built in deveelopment tools in OSX or try a DEMO of Code Warrior, a programming development interface.
The first programming I did was on Quick basic, then visual basic, C,C++, Java, Intel assembler, PHP/Mysql, Cobol, RPG, Oracle,.

Java might be a fun place to start, it's a little easier than C++, is platform independant and can be compiled and ran from any Mac with the built in compiler and runtime environment.
There are many people here that program in COCOA, the native OSX code, it might be ggod to look at that too, but I havent looked at it yet.
You can also develop apps to work within a web browser with PHP and can hook it to free databases like Posgres or MYSql. there's a lot of practical stuff you can do with PHP web apps.
Do you have basic programming skills?
I dont really know of a single introductory to programming in general, but you could just pick something and go for it.
Am I way out here or does this help?
 

·
Premium Member
Joined
·
7,069 Posts
Neema - Welcome to my boat! Cocoa, is largely developed using Objective C. minnes covered most of it, and the best way to start I've found is grab a book (from your local library is usually cheaper and enough to get you started into knowing whether you really want to do programming) and try out code. Most libraries won't have much on Mac Programming, so try Java or Basic (RealBasic as your IDE).

I've learnt Visual Basic, and a smattering of Java and C++, and the best thing to do is just fiddle around and teach yourself. Also if you don't already know how to work around your compuer in UNIX, I suggest you learn how, as since UNIX is called "a programmer's operating system" you'll learn a few little things that will make programming much easier.

Best of luck!

[ June 30, 2003, 01:38 PM: Message edited by: Chealion ]
 

·
Registered
Joined
·
2,198 Posts
If you're interested in writing Mac OS X programs, I'd recommend learning how to program first rather than learning how to program while learning how to write Mac OS X programs.

I'd recommend starting with a low-level language like C, rather than a high-level language like Java or Python. As Joel Spolsky says:

<blockquote>If you want to teach somebody something well, you have to start at the very lowest level. It's like Karate Kid. Wax On, Wax Off. Wax On, Wax Off. Do that for three weeks. Then Knocking The Other Kid's Head off is easy.</blockquote>

Oh, for what it's worth, Cocoa programs can be written using Objective-C or Java (although Objective-C is the preferred language).
 

·
Registered
Joined
·
175 Posts
As jfpoole pointed out Cocoa is written in Objective-C or Java (I wouldn't recommend using Java with Cocoa however) and you most definitely cannot write Cocoa apps in C#.

And C IS a high level language jfpoole. Unless by "low-level" you mean a fairly simple language (i.e. with a simple feature set). I think that's what you probably meant.

I would recommend what jfpoole recommended. Don't try to learn "Mac OS X" programming. Just learn "programming". Get a good book on C or Java and just go from there (do a search on Amazon or Chapters). You could also try taking some classes at a local College or University.

I think for a beginner Java is a nice place to start. Also, if you actually want to learn REAL programming, do NOT touch RealBasic or Visual Basic with a ten foot pole.

My two cents, anyway.
 

·
Registered
Joined
·
2,198 Posts
Alesh,

Most developers I know consider C a portable assembly language. C doesn't offer a lot of abstractions on top of assembly language (although the abstractions it does offer are quite valuable). Throw in the fact that hardly anyone writes assembly code these days and C is probably as "low" as most developers go these days.
 

·
Premium Member
Joined
·
1,579 Posts
I just want to add: in Perl it's easy to learn how to make programs that process text files. I recommend it if you like learning by fooling around. The motto (or slogan, whatever) of perl programming is TMTOWTDI (There's More Than One Way To Do It). This applies to learning as well as programming.
 

·
Premium Member
Joined
·
2,263 Posts
Elmer , where is Perl most used?
I thought it was just for unix scripting or web server automation.

Low versus high level languages
JFPoole is pretty much right, the lower the level the closer to machine code, the higher the level the further away and more human like the interface, so Java is a higher level, and Visual basic is more like a complex scripting, (though it is still often used for business apps).
Of course HTML is not really programming at all, though some people would like to convince us differently.
Isnt the code in the roms of most computers still assembler?
I noticed that some phones have Java programmed in them so it must be getting faster performance with new releases.
For me, I enjoy Java more because, I just want to make something that does a task without fiddling with every little thing like making a button or window from scratch.
Of course lots of you keep a library of code to reuse to speed up C or assembler, good code is gold, it keeps paying itself
 

·
Premium Member
Joined
·
1,579 Posts
minnes,
you are right - those are the main areas where perl is used.
I was just thinking that you can learn a lot about programming from it.
It is very powerful though and you can do almost anything with it. It's syntax is similar to C, but it is more forgiving.
The programs people usually write when they are learning can easily be written in perl because they deal with strings.
By the way I've been through a couple of the Cocoa / Project Builder tutorials - they're not bad but it helps if you know C already.
Once you get past the basics of programming you have to decide what area you want to pursue - there are a lot of topics to go into, like programming operating system code, networking, 3D rendering, AI, databases, compilers, blah blah blah.
 

·
Premium Member
Joined
·
7,069 Posts
Going back to my first post here, isn't C# == Objective C?!? Or did I really miss something? I'm feeling really stupid at the moment
 

·
Registered
Joined
·
2,812 Posts
Neema, I want to wish you the best of luck. I did some OO programming for a little while, and it was SO not easy... I'm much happier being the user than the developer.

The direction you got here is all good. Have fun, but this stuff is not the easiest to master. This may take a minute to master.
 

·
Premium Member
Joined
·
1,579 Posts
Answer #2:

Go to www.apple.com/developer, register in the ADC (or click here to register) and download the developer tools and install them.

Make a text file called hello.c and put this in it in your home directory:
#include &ltstdio.h&gt

int main(void)
{
printf("Hello!\n");
return 0;
}

Open /Applications/Utilities/Terminal.app and type:
gcc -o hello hello.c

To run your program, type:
./hello

Then, modify your program using a C reference book to do something else.
Run gcc again.
Repeat...

[ June 30, 2003, 01:04 PM: Message edited by: elmer ]
 

·
Premium Member
Joined
·
7,069 Posts
Oh my, I really got myself confused there... I had really thought C# was objective C, my original post is corrected as to what I intended, and my sincere apololigies to everyone for making such a mistake.

Also Neema, tinkering with code you've got from other people helps a great deal as you can learn how they create their programs and such. I know with Konfabulator and the ehMac widget, most of what I learnt was looking at code by other people and seeing what they do differently.
 
1 - 15 of 15 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top