New to Programming (On a Mac; Questions)

Discussion in 'Mac Programming' started by xShane, Jan 10, 2013.

  1. macrumors 6502a

    xShane

    Joined:
    Nov 2, 2012
    Location:
    United States
    #1
    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 :)
     
  2. macrumors 6502

    Joined:
    Aug 3, 2011
  3. macrumors 6502a

    Joined:
    Dec 2, 2008
    #3
    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.
     
  4. macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #4
    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.
     
  5. macrumors regular

    Joined:
    Aug 12, 2008
    Location:
    Cambridge, UK
    #5
    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...).
     
  6. ArtOfWarfare, Jan 12, 2013
    Last edited: Jan 12, 2013

    macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #6
    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
     
  7. macrumors regular

    Joined:
    Aug 12, 2008
    Location:
    Cambridge, UK
    #7
    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) ;)
     
  8. macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #8
    Interesting. I got quite bored with that page part way down, but I'll revoke my suggestion in my prior post.
     
  9. thread starter macrumors 6502a

    xShane

    Joined:
    Nov 2, 2012
    Location:
    United States
    #9
    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
     
  10. macrumors regular

    Joined:
    Aug 12, 2008
    Location:
    Cambridge, UK
    #10
    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.
     
  11. thread starter macrumors 6502a

    xShane

    Joined:
    Nov 2, 2012
    Location:
    United States
    #11
    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
     

Share This Page