# Programing for Mac OS X



## changomarcelo (Dec 24, 2001)

I'm have never programed in Mac. But I know languages like C, C++ and Visual Basic. I'd like to know what programming languages and Enviroments are good for programing in Mac. I heard something about Realbasic and the Developers tool cd that cames with Mac OS X, but I don't have this CD


----------



## Captain Code (Dec 24, 2001)

I haven't used RealBasic before, but I have used VB, and I think that RB is similar.  The developer tools that usually comes with OS X can be downloaded from Apple for free once you sign up as a developer at developer.apple.com 

It's a few hundred megs for the download.  With the developer tools, you can program with Cocoa(Objective-C) or Java 2


----------



## tagliatelle (Dec 25, 2001)

programming


----------



## changomarcelo (Dec 25, 2001)




----------



## tagliatelle (Dec 25, 2001)

CodeWarrior


----------



## martinatkinson (Jan 13, 2002)

Hello!

Although the dev tools that came with OS X are free I do not recommend them.  I tried and built a couple apps with the dev tools but it was so hard to get even a little thing done.

My personal recommendation is REALbasic.  This is the language I switched to after my Cocoa experience.  It is alot simpler to use and you can get an app finished in half the time.

You do not get alot of stuff like sheets and other Cocoa goodies with REALbasic but you can just go to REALsoftware's site and get some pretty powerful plugins.

Have a great day!

Albert


----------



## stereoboy20 (Jan 15, 2002)

RB and DevTools are completely different things. Realbasic is _fast_, oh it is, but all it does is a Carbon app, which is not 100% MacOSX native. I'm not saying rb is not good: it is, and very good, but if you _really wanna taste the flavor of cocoa_ and that means MacOSX, you should use DevTools. Now, my advice: if you're proficient on C/C++, there's a very nice tutorial on Objective-C in the /Developer/Documentation folder that appears after installing Developer Tools. If you don't know neither Java or C/C++, I recommend Java. It's easier, and you have a tutorial there too. Of course you have to learn Java, too!!

-----------------

Si necesitas más información, escríbeme un correo aquí y ya hablamos en español. Lo otro lo puse en inglés porque es el idioma del foro, un poco de netiquette.


----------



## Ghoser777 (Jan 15, 2002)

Points of clarification:

1. Carbon is a native API!!!  If I hear the aweful lie that carbon is not native one more time, I just might vomit.  Apple intended them to run side by side.  Now it's easier to right a good Cocoa app than a good Carbon app, but it is technically possible to right a faster (in code implementation) Carbon app because it has less overhead.

2. I have no idea why you would tink Cocoa is hard to do.  If you're having troubles, it's probably a mindset thing, where you're not use to the way Cocoa is set up.  But that's why we're here, to clear up any confusing topics.  Once you get the hang of it, it's really easy.

3. RB creates massive bloatware.  Although kbytes usually aren't that important, I've seen several 100k cocoa apps get exploaded into 1mb+ RB monsters.

F-bacher


----------



## didde (Jan 15, 2002)

Sure, you can use RealBasic to write apps for the Mac, if you don't have an issue with even tiny apps using up 50 Mb of diskspace. Real Basic sucks.. The same functionality can be incorporated into a Java app and it'll weigh 10% of the RealBasic one.


----------



## martinatkinson (Jan 15, 2002)

Hello!

We are each entitled to our own opinion and I still like REALbasic.

1.)  All your files are in one project.  All your source code, windows, etc.  This personally makes it easier for me as there are less files to take care of.
2.)  Each control has every function layed out in the IDE.  Just choose one from the list and go.  If you need help just one keystroke away from a very comptrhensive guide.  PB on the other hand has a help file but most of the controls are under construction or hard to understand.
3.)  You have one project for compiling for Macintosh 68K, Carbon or Windows.  Project builder has one project but can only compile Cocoa apps that will not run in Classic or on Windows.

Yes, Carbon and Cocoa have a LOT of differences.  REALbasic also does not give alot of stuff for free (sheets, drawers, etc.) but it does give out things that PB does not (sprite,  3D surface, etc.) and even though it is lacking you can download tons of plugins that will give you acess to OS X's toolbar button, the toolbar, the preference bar found in Mail, etc.   And also, Carbon and Cocoa seem to me to run the same in OS X.

The point about big app sizes: yes I can see this, my app weighed only 700K in Project Builder but now weighs about 3MB.  Yes this is a big increase but when you take into contrast the number of things you are getting it is all worth it.  And, if you want a smaller app size, just get Stuffit Deluxe.  I got my 3MB app down to about 500K!

This is only my opinion, I know others have different ones.  Please do not criticize me about it although I welcome hearing your opinion.

Have a great day!

Albert


----------



## didde (Jan 15, 2002)

Ok, I won't criticise you   , but some of the things you listed is true for a Java environment as well.. If you use ProjectBuilder it stores all of the NIBs and classes in "one" project.. Really great job done by Apple on the interface by the way.. 

I think it's probably good to start out with realbasic, but as you learn more stuff and need something to grow into I'd go for Java..

Sure, it's always nice to have a real simple interface for development in any language, but usually one comes to a certain point where you want to ability and be able to customize stuff..

So, it all comes down to what you're after I think..

Be well..


----------



## stereoboy20 (Jan 16, 2002)

When I said Java was easier i didn't mean Pure Java. I meant Java-Cocoa. When I said Carbon wasn't 100% native, I meant that MacOSX is NeXTStep 6.0, and prior versions didn't have such a thing as Carbon. Carbon may be good for very low level things, but Cocoa is definitive for Apps. Nothing like it. 
RB is ok. Maybe it makes huge apps, but you can build an 'iTunes' clone like in no time. Yes, it's huge, but it's easy too. Cocoa would be easier if it had autocompletion, but that is the only thing i miss in PB. Since I have used RealBasic and JBuilder, when I type a period (.) i expect for the possible objects/methods/properties to appear in a pop-up menu. But they don't, and that really makes it hard for me. Is there any auto-completion plugin? I would love it.


----------



## Ghoser777 (Jan 16, 2002)

Project Builder has auto completion.  It's like F2 or F5 or something.  I can't remember where I read it, but it's definetly in PB (man, every time I see "PB", I think Public Beta, not Project Builder.)

F-bacher


----------



## stereoboy20 (Jan 16, 2002)

I'll find out. It has such a crappy documentation.


----------



## jcart12 (Jan 18, 2002)

Comparing Cocoa.PB and RB is like comparing, well,.... Coconuts and apples. They're not aimed at the same audience.

RB is for knocking out quick (thats is dev time not execution time - RB is slow), dirty programs. Cocoa and its related technologies are for professional developers who are accustomed with OOD design and programming.

You would never code something like PhotoShop in RB, but in Cocoa.yes.

my 2pence worth


----------



## jnuneznyc (Feb 5, 2002)

I agree with JCart12... If you needed to code software where execution speed is needed Cocoa is a must. But for Development speed RealBasic is king.

I have been using RB for 2 + years now and have recently started to learn ObjC and Cocoa.

<no flames>
Comparing RealBasic to Project Builder is like comparing Visual Basic to Visual C++.
</no flames>


----------



## martinatkinson (Feb 5, 2002)

Hello!

I would happily switch back to Cocoa if the following things happened:

1.)  Apple finished the developer instruction for all classes.
2.)  I do not know about you guys but the (incomplete) help files that come with Cocoa are very confusing, if Apple (or some third party Cocoa guru for free) would make them as simple as REALbasics language help it would be great.
3.)  Autocomplete needed.  I LOVE REALbasics autocomplete feature (type part of an action and it will come up with "" and clicking tab gives you a list of available features.  This would not be as essential if #2 was completed.

Just my opinion, if someone finds these please let me know!

Have a great day!

Albert


----------



## jnuneznyc (Feb 5, 2002)

I agree about the help files... What they should do is have them online (Like www.php.net does) and offline HTML versions.  So you can download the latest copy.


----------



## stereoboy20 (Feb 6, 2002)

> _Originally posted by jnuneznyc _
> *I agree about the help files... What they should do is have them online (Like www.php.net does) and offline HTML versions.  So you can download the latest copy. *



They have that. In ADC you have the online version, and with the DevTools the offline version.

Also, I agree about autocompletion. There is some, but not enough. I'd like something like REALbasic. And also, I'd like to see a document that explained connections, outlets and targets, since that is the only thing that stops me from doing cocoa: I don«t know how to use them.


----------



## seb2 (Feb 6, 2002)

> _Originally posted by martinatkinson _
> *3.)  Autocomplete needed.  I LOVE REALbasics autocomplete feature (type part of an action and it will come up with "" and clicking tab gives you a list of available features.  This would not be as essential if #2 was completed.
> *



ok, i have never ever used realbasic, so from your post i get an idea of what its autocompletion is like but have never seen it "in action".

for objective-c this, of course, is another thing since you don't *have* to statically type your objects, but if you give pb enough of a hint, f5 will do the trick.


----------

