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

Shadylane318

macrumors newbie
Original poster
Apr 22, 2012
2
0
Hey guys,

I'm looking to learn how to program in java, C, C++, and any other program required to build on the mac & iOS. Do you have any tips? Should I sign up for a local college course? Any online courses? Also, do you have to be really good with math or is that only for building iOS games?

Thanks,

Dan
 
http://codeacademy.com

To learn the basic fundamentals of programming start here. Also you don't need much Math for the basics. I suck at Math and I'm studying Computing at college and I'm finding it absolutely fine.
 
http://codeacademy.com

To learn the basic fundamentals of programming start here. Also you don't need much Math for the basics. I suck at Math and I'm studying Computing at college and I'm finding it absolutely fine.

I would advise against this. That site doesn't show you Objective C nor does it show you C. You should learn both languages first.

The site above looks like it is for Java - a language iOS doesn't use.
 
Hey guys,

I'm looking to learn how to program in java, C, C++, and any other program required to build on the mac & iOS. Do you have any tips? Should I sign up for a local college course? Any online courses? Also, do you have to be really good with math or is that only for building iOS games?

Thanks,

Dan

If you want to program on iOS, you need to know C and Obj-C. C++ is optional.
If you want to program on OS X, you have a variety of options including C, Obj-C, C++, Java, Python, etc.
As far as being good at math (I hate when people say "good at math",) it depends on what you mean:
- Do you need to be able to calculate numbers quickly?
No, you're using a computer. It'll calculate numbers for you.
- Do you need to be able to understand math theoretically?
Yes, but it's not a pre-req so much as a co-req you may not even notice.

To explain: I started programming when I was in the 8th grade. I was horrid at Algebra before I started learning to program. As I learned to program, I began to "get" Algebra. By the end of high school, I was sent to a national math competition as an A team representative from my state. People tell me I'm "good at math"... but... IDK, I need a calculator. I make arithmetic mistakes all the time if I don't use a calculator.

So... don't worry about math I suppose. You're going to learn what you need to learn.

Now, back to languages...

To learn C, I suggest this free ebook, "Learn C The Hard Way". By "hard", they mean "right". It teaches you to look stuff up on your own. You could get an "easy" book to learn C that will tell you exactly how to do everything, but the issue is, once you reach the end of an "easy" book,

1 - You won't understand it as well as you should.
2 - You won't know how to go forward on your own.

"Learn C The Hard Way" solves them by
1 - Making you look some things up on your own. It's like doing homework in addition to, rather than only, attending class.
2 - You'll understand how to look up the things you need to go forward and do your own projects without having your hand held.

Here's the link:
http://c.learncodethehardway.org/book/
To move onto Obj-C, it is absolutely essential that you're able to do exercises 0-14. However, learning the rest will be helpful, particularly if you want to onto C++.

For learning Obj-C, I suggest Stanford iOS tutorials available for free through iTunes U. (This also rolls in the iOS SDK and Xcode.)
 
I would advise against this. That site doesn't show you Objective C nor does it show you C. You should learn both languages first.

The site above looks like it is for Java - a language iOS doesn't use.

Fair comment. I only suggested this as it's good for teaching the very basics such as iteration, selection etc.
 
I would advise against this. That site doesn't show you Objective C nor does it show you C. You should learn both languages first.

The site above looks like it is for Java - a language iOS doesn't use.

Not important. The OP needs to learn to program first. Picking up a more appropriate programming language can come later. For starters one should pick the easiest language or available teaching methodology from which to learn the general concepts, ideas and skills of programming (any language). And neither C nor Objective C were in any way designed for educational or tutorial purposes. That makes them much better 2nd or 3rd languages.
 
Just like "human" languages, some people can learn several programming languages while other can't, or at least have a harder time of it.

Most often though, beginners will take a while to lose their "accent" if the language they learn first is not closely related to their end goal.

B
 
Fair comment. I only suggested this as it's good for teaching the very basics such as iteration, selection etc.

Good point, I didn't see it from that view.

Still think it would be better to learn a language closer to that of your goal. But, we all have different learning methods and style and I didn't account for that.
 
Here's the link:
http://c.learncodethehardway.org/book/
To move onto Obj-C, it is absolutely essential that you're able to do exercises 0-14. However, learning the rest will be helpful, particularly if you want to onto C++.

For learning Obj-C, I suggest Stanford iOS tutorials available for free through iTunes U. (This also rolls in the iOS SDK and Xcode.)

Thank you for this! very helpful post. I was wondering if there is a way to download that ebook?

Will it be easier for a junior PHP dev to learn Obj-c?

EDIT: also i'm currently not using OSX, is there a way to develop on windows?
 
EDIT: also i'm currently not using OSX, is there a way to develop on windows?

For iOS, the only sanctioned way of developing is with Xcode, which is only available on Mac OSX. For Mac OSX... I suspect Mac OSX apps can be built on Windows but I don't know how.

In Learning C The Hard Way, the author suggests setting up a Linux virtual machine if you're on Windows.

If you'd like to pay, there's also this:
http://www.macincloud.com/

Of course, if you're going to pay, you may as well just buy a Mac Mini ($600 new... if you keep an eye on Apple's refurbished Mac Minis, you might be able to get one for as low as $500... or buy one used for who knows how cheap.)
 
For iOS, the only sanctioned way of developing is with Xcode, which is only available on Mac OSX. For Mac OSX... I suspect Mac OSX apps can be built on Windows but I don't know how.

In Learning C The Hard Way, the author suggests setting up a Linux virtual machine if you're on Windows.

If you'd like to pay, there's also this:
http://www.macincloud.com/

Of course, if you're going to pay, you may as well just buy a Mac Mini ($600 new... if you keep an eye on Apple's refurbished Mac Minis, you might be able to get one for as low as $500... or buy one used for who knows how cheap.)

I might be getting a mac by october this year if I manage to save enough but I need to start development before, like yesterday.

Can I develop iOS on Linux then?

Are you familiar with PHP?

And finally, can I download that book?
 
I might be getting a mac by october this year if I manage to save enough but I need to start development before, like yesterday.

Can I develop iOS on Linux then?

You're not ready to start learning iOS. You need to learn some C first. Normally I recommend spending at least 2 weeks learning the basics of it, but there's no harm in spending the next six months getting very good at using it while you wait to get a Mac.

Are you familiar with PHP?

No... I'm currently learning C++. I need to start learning some web development stuff soon.

And finally, can I download that book?

It's all HTML... I don't see why you wouldn't be able to download it...
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.