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

xShane

macrumors 6502a
Original poster
Nov 2, 2012
814
37
United States
Hello everyone,

Before I begin, let me provide a quick background. Two years ago I took a college-level computer science course (in high school; still in high school now). The main (and only) language used in the course was Java. It was a pretty good course that covered most of the main topics well. I'd say I'm a pretty experienced computer user and have a decent understanding of the concept of programming. When most of my knowledge was still fresh, I even played around with some Android developing. Anyhow, now that I have a Mac, this opens up many possibilities, and with them, brings some questions:

1. I'm pretty used to the Windows environment and file system. Where do most Mac developers install their SDKs and tools? As of now, I put a "Development" folder within my "Documents" folder, although I don't feel like this is the best place.

2. I installed Xcode. I did a little bit of research and found that it seems like it's mostly Objective C that is used for OSX application development and also iOS development. Is Objective C the way to go? I'm a bit tempted to get my feet wet in OSX and iOS development.

3. My Java is rusty. The concepts seem vague, and I'd probably fail miserably if I jumped right back into it. Are there any excellent web resources (free)? Any highly recommended books? I'm not too fond of reading extremely boring programming books (whereas my previous Java-based computer science course explained the content in an understandable manner) with very dull language. This question (web resource(s) and books(s) applies to the previous question about Objective C) too.

4. Is Dreamweaver CS3 and Fireworks CS3 too out of date to be productive with? I just found my Mac installation disks from an old Web development course I also took in high school. I believe Adobe has an HTML5 update for Dreamweaver CS3. Learning to make websites is not exactly my highest interest, but it wouldn't hurt to learn a few things (especially since I have some access to ex-topnotch software).

5. What IDEs do you guys use on Mac (besides Xcode), specifically if any of you are Java developers? Any that you would highly recommend?

Sorry if this is the wrong section, I thought it would fit well in with 'Programming'.

Thanks for taking the time to read this. Your advice is greatly appreciated by me :)
 

PatrickCocoa

macrumors 6502a
Dec 2, 2008
751
149
1. Use the default install locations. I don't remember what they are, but if you use them then you'll get automatic updates from the Mac App Store. This assumes you downloaded it from the MAS.

You can (and should) keep your projects in a separate folder somewhere else.

2. Objective-C is the way to go. It's the native language for iOS and OS X development.

3. There are lots of tutorials and documentation for this. I'm too lazy to google.

4. Don't know.

5. Don't bother with Java on the Mac. You have enough issues without dealing with Java on the Mac, even if you know some Java.
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,560
6,059
Here's what I use:
Xcode for C, Obj-C, C++, and Obj-C++ programming
Eclipse for Java programming
Dropbox for storing / backing everything up (I suggest keeping both your programming projects and school projects in it... You get some for free space without doing anything... Name a few FB friends and they'll give you a lot more free space.)
Gedit for a plain file text editor
Terminal for command line stuff (it's part of the standard OS X install, in Applications > Utilities)

If you're interested in having 3D graphics in your apps, I use:
- GIMP for skinning
- Blender for modeling
- OGRE 3D for the engine. It can be used on OS X, Windows, Linux, iOS, and has partial support for Android.

I suggest the free ebook Learn C The Hard Way for learning C, which is a perfect subset of Obj-C (all valid C code is valid Obj-C code.) Afterwards you can move onto Obj-C.
 

Ap0ks

macrumors 6502
Aug 12, 2008
316
93
Cambridge, UK
Maybe take a small step back and decide what it is that you want to focus on first. Do you want to start with desktop applications, mobile applications or web applications? That will help you choose the most relevant languages to start with - it's all well and good choosing everything, but trying to learn it all at the same time may take longer than learning one after the other.

Java is a good language for doing all three (desktop, mobile & web) and if you already have experience with it, you may find it easier to pick up again and move on to more advanced areas. Netbeans, JDeveloper, IntelliJ and Eclipse are all pretty good IDEs that support Java.

If you want to focus on just Mac software (desktop & mobile) then you're going to want to start looking at Obj-C. There are plenty of books out there (Kochan's Programming with Objective-C is rated well) but you'll need to look around to find one written in a style you understand and get along with (I found the Deitel How to Program books great when I was learning Java).

Web development pretty much starts with HTML & CSS. Once you've got those two learnt, you can add on more functionality by learning Javascript or move into server side web development with a number of languages/frameworks (PHP, Ruby, Python, ASP.NET, etc...).
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,560
6,059
Web development pretty much starts with HTML & CSS. Once you've got those two learnt, you can add on more functionality by learning Javascript or move into server side web development with a number of languages/frameworks (PHP, Ruby, Python, ASP.NET, etc...).

I don't have a huge amount of experience with web development, but I hear the websites listed here (under "WHAT SHOULD BE DONE") are pretty good for learning:

http://w3fools.com
 
Last edited:

Ap0ks

macrumors 6502
Aug 12, 2008
316
93
Cambridge, UK
I don't have a huge amount of experience with web development, but so far anytime I've ever wanted to do anything on a web page, I've always found out how on w3schools (it's a website with dozens of free web development tutorials.)
There are some good resource links on http://w3fools.com that are much better than the content on w3schools (also a few reasons why not to use w3schools on there) ;)
 

xShane

macrumors 6502a
Original poster
Nov 2, 2012
814
37
United States
Maybe take a small step back and decide what it is that you want to focus on first. Do you want to start with desktop applications, mobile applications or web applications? That will help you choose the most relevant languages to start with - it's all well and good choosing everything, but trying to learn it all at the same time may take longer than learning one after the other.

Java is a good language for doing all three (desktop, mobile & web) and if you already have experience with it, you may find it easier to pick up again and move on to more advanced areas. Netbeans, JDeveloper, IntelliJ and Eclipse are all pretty good IDEs that support Java.

If you want to focus on just Mac software (desktop & mobile) then you're going to want to start looking at Obj-C. There are plenty of books out there (Kochan's Programming with Objective-C is rated well) but you'll need to look around to find one written in a style you understand and get along with (I found the Deitel How to Program books great when I was learning Java).

Web development pretty much starts with HTML & CSS. Once you've got those two learnt, you can add on more functionality by learning Javascript or move into server side web development with a number of languages/frameworks (PHP, Ruby, Python, ASP.NET, etc...).

Thanks for your response. I'd say I'm mixed half and half between desktop and mobile. I have a few app ideas that would, in theory, be integrated with my desktop idea. Of course, I understand that I need to improve my skills, first. For now, I'd prefer to stick just with OSX and iOS. I'm more interested in Objective C right now than I am Java :p
 

Ap0ks

macrumors 6502
Aug 12, 2008
316
93
Cambridge, UK
Thanks for your response. I'd say I'm mixed half and half between desktop and mobile. I have a few app ideas that would, in theory, be integrated with my desktop idea. Of course, I understand that I need to improve my skills, first. For now, I'd prefer to stick just with OSX and iOS. I'm more interested in Objective C right now than I am Java :p
In that case you'll want to stick with and learn Xcode, then head on over to the Mac Dev Center for plenty of getting started articles and example code.

The ebook that ArtofWarfare pointed out may also be worth working through, to help you with the basics of C.
 

xShane

macrumors 6502a
Original poster
Nov 2, 2012
814
37
United States
I just wanted to reply to thank everyone for their help. :)

I went to my local bookstore (Barnes N' Noble) looking at all their Objective C books determining which was the best for me (i.e. "style" of writing, how the material is presented, will the book cover my needs, etc). After spending a good couple of hours (literally), I decided to purchase:

"Learn Objective-C on the Mac (Apress Publishing)" (Click for link).

I have to say, I'm very satisfied with it so far (only had it for a couple of days). Thankfully because of my previous Java experience, a lot of it seems "familiar", and I'm only adjusting to the syntax and using Xcode. I wouldn't call myself a complete newbie, but previously to diving into this book, my programming was very rusty as I haven't touched the field in a couple of years. I'd recommend this book to anyone looking to get involved in Objective-C (on the Mac; the book does mention some programming experience is required).

Hopefully it won't be too long before I can get my feet wet again working on my own projects (for Mac/iOS applications) :p
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.