Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Jul 22, 2013, 12:14 PM   #1
DavidBlack
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
What are the best learning practices to learn programming?

Hi I am learning Objective - C from this book I bought on Amazon Programming in Objective-C (5th Edition) by Stephen G. Kochan. And I have been trying to learn Objective - C on my own I have reached chapter 3 on Classes, Objects and Methods I think I am learning a lot. But I am just wondering if there is anything extra I can do to learn it more efficiently and get a better understanding of Objective -C. I am willing to learn and I am trying to do a exercise everyday. But I was wondering for you guys out there, how did you start and how long did it take? Also what do you recommend me to do to learn the language more efficiently. Thanks your help in advance
DavidBlack is offline   0 Reply With Quote
Old Jul 22, 2013, 12:42 PM   #2
firewood
macrumors 603
 
Join Date: Jul 2003
Location: Silicon Valley
Practice coding. Practice coding. Nothing beats actually writing lines of code to solve some relevant problem, and making it work.

Practice on small problems or exercises, stuff that is hard enough it takes more than a few minutes, but easy enough that it takes less than a few days. If you can't do that after reading the first very few chapters, then the book isn't that conducive to learning programming.

Even advanced programmers do this when learning new tools, APIs or solution areas.
firewood is offline   1 Reply With Quote
Old Jul 22, 2013, 12:53 PM   #3
robvas
macrumors 68000
 
Join Date: Mar 2009
Location: USA
Work and code with others. See how other people write code and think. Ask them to review your code.

You don't want to get too far down the road and figure out you're going the wrong way.
robvas is offline   0 Reply With Quote
Old Jul 22, 2013, 12:56 PM   #4
MegamanX
Banned
 
Join Date: May 2013
Are you learning how to program or are you just adding a new language under your belt.

If it is the former then I would like to point out that a programming language is really nothing more than syntax in the end. Or at least that is how it has become to me after getting 4 or 5 languages now under my belt. Each one has its own advantages and draw backs. Since you already started I would strongly recommend after you are done to go learn another one as well. You will find it is pretty easy to pick up a 2nd or a 3rd plus its starts helping out as you start learning the right questions to ask and search for to do different things.
MegamanX is offline   0 Reply With Quote
Old Jul 22, 2013, 12:59 PM   #5
Starfia
macrumors newbie
 
Join Date: Apr 2011
I really recommend Stanford's "Coding Together" course on iTunes U; it's very helpful to hear a teacher talk through the rationale behind the language's main building blocks. Apple's own tutorials and documentation on Objective-C are also definitive and thorough.
Starfia is offline   0 Reply With Quote
Old Jul 22, 2013, 01:03 PM   #6
DavidBlack
Thread Starter
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
Quote:
Originally Posted by MegamanX View Post
Are you learning how to program or are you just adding a new language under your belt.

If it is the former then I would like to point out that a programming language is really nothing more than syntax in the end. Or at least that is how it has become to me after getting 4 or 5 languages now under my belt. Each one has its own advantages and draw backs. Since you already started I would strongly recommend after you are done to go learn another one as well. You will find it is pretty easy to pick up a 2nd or a 3rd plus its starts helping out as you start learning the right questions to ask and search for to do different things.
Thanks for the advice, this is my first programming language also what language did you start with?
DavidBlack is offline   0 Reply With Quote
Old Jul 22, 2013, 01:17 PM   #7
MegamanX
Banned
 
Join Date: May 2013
Quote:
Originally Posted by DavidBlack View Post
Thanks for the advice, this is my first programming language also what language did you start with?
The first major I learned was Java.
But before that I had the done Turbo Pasca in HS but then it was a little VB.net.

I had a basic understanding of things like arrays and methods before I did java but really java is what I truly learned first.
MegamanX is offline   0 Reply With Quote
Old Jul 22, 2013, 02:58 PM   #8
DavidBlack
Thread Starter
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
Quote:
Originally Posted by MegamanX View Post
The first major I learned was Java.
But before that I had the done Turbo Pasca in HS but then it was a little VB.net.

I had a basic understanding of things like arrays and methods before I did java but really java is what I truly learned first.
What language do you suggest I start with?
DavidBlack is offline   0 Reply With Quote
Old Jul 22, 2013, 03:06 PM   #9
PatrickCocoa
macrumors 6502a
 
Join Date: Dec 2008
Uh oh . . .

Quote:
Originally Posted by DavidBlack View Post
What language do you suggest I start with?
I'll pop back in once the reply count hits 100.

At that point there will be 100 replies and 101 suggested starting languages.
__________________
iMac 21.5", 3.06GHz, 4 GB, 2 TB HD.
iPod Touch 3G.
PatrickCocoa is offline   1 Reply With Quote
Old Jul 22, 2013, 03:43 PM   #10
MegamanX
Banned
 
Join Date: May 2013
Quote:
Originally Posted by DavidBlack View Post
What language do you suggest I start with?
As you have already started with Object C you might as well stick with it. Just when you are done pick up another one.

Hell as odd as it sounds even if you started with Java my advice would be teh same. After you gotten a good understanding of it go learn another. It helps seeing the + and - of different languages.

Object C would never be the first one I would recommend because it has some things about it that make it a little harder to understand.
MegamanX is offline   0 Reply With Quote
Old Jul 22, 2013, 05:30 PM   #11
ArtOfWarfare
macrumors 601
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Quote:
Originally Posted by PatrickCocoa View Post
I'll pop back in once the reply count hits 100.

At that point there will be 100 replies and 101 suggested starting languages.
I disagree. The following languages will be suggested by several people:

C
Obj-C
Python
Java

A handful of people will suggest another ~5 languages (LOGO, BASIC, JS, C++, Scratch) but they'll be outliers.

Personally, I learned C first and I feel like it's the best. Some people point out how complex it can be but... IDK, I've not yet found a language that struck me as both less complex and as (or more) capable.
__________________
Battery Status - On the Mac App Store
The only app that'll estimate when your wireless devices will need their batteries changed.
Including the ones paired with other Macs on your network.
ArtOfWarfare is offline   0 Reply With Quote
Old Jul 22, 2013, 07:31 PM   #12
robvas
macrumors 68000
 
Join Date: Mar 2009
Location: USA
If we're suggesting first languages, I'd pick JavaScript (Not Java, big difference) or Python
robvas is offline   0 Reply With Quote
Old Jul 22, 2013, 08:05 PM   #13
DavidBlack
Thread Starter
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
Quote:
Originally Posted by ArtOfWarfare View Post
I disagree. The following languages will be suggested by several people:

C
Obj-C
Python
Java

A handful of people will suggest another ~5 languages (LOGO, BASIC, JS, C++, Scratch) but they'll be outliers.

Personally, I learned C first and I feel like it's the best. Some people point out how complex it can be but... IDK, I've not yet found a language that struck me as both less complex and as (or more) capable.
Thanks for the info, can you provide books and or resources to learning C. But since I have already started with Objective - C I think I will stick with it. How long do you think I will before I learn it?
DavidBlack is offline   0 Reply With Quote
Old Jul 22, 2013, 08:28 PM   #14
iphonedude2008
macrumors member
 
Join Date: Nov 2009
Quote:
Originally Posted by DavidBlack View Post
Thanks for the info, can you provide books and or resources to learning C. But since I have already started with Objective - C I think I will stick with it. How long do you think I will before I learn it?
About 3 months until you understand it. Then 3 months of practice to start learning what to use for various tasks. 3 months of mastering various tasks. A lot of people are going to tell me that I'm wrong and its 3 years, but honestly, if you dedicate yourself to it and ask the right questions, you'll learn it as quick as I did.

After you finish that book and if you want to learn iPhone programming, I recommend Programming iOS 6 (or 7 if it comes out then) by Matt Neuburg.

Last edited by iphonedude2008; Jul 22, 2013 at 08:35 PM.
iphonedude2008 is offline   0 Reply With Quote
Old Jul 23, 2013, 05:15 AM   #15
ArtOfWarfare
macrumors 601
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Quote:
Originally Posted by DavidBlack View Post
Thanks for the info, can you provide books and or resources to learning C. But since I have already started with Objective - C I think I will stick with it. How long do you think I will before I learn it?
Learn C the Hard Way is a free ebook I endorse.

As for the learning period... I'd say that by far the biggest thing to learn is APIs. I doubt many people are familiar with all of them, particularly because Apple adds a huge amount of them on an annual basis. Languages are easy. The first one takes maybe 4 months, the second 2 months, third third 1 month, the fourth 2 weeks, the fifth 1 week, and beyond that they take 2-3 days. Most languages are designed by people who think the same ways and they just recombine existing features in new ways and throw in one or two unique things. Once you know a few, picking up more is trivial because you're not going to find much new stuff.
__________________
Battery Status - On the Mac App Store
The only app that'll estimate when your wireless devices will need their batteries changed.
Including the ones paired with other Macs on your network.
ArtOfWarfare is offline   0 Reply With Quote
Old Jul 23, 2013, 07:22 AM   #16
DavidBlack
Thread Starter
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
Quote:
Originally Posted by ArtOfWarfare View Post
Learn C the Hard Way is a free ebook I endorse.

As for the learning period... I'd say that by far the biggest thing to learn is APIs. I doubt many people are familiar with all of them, particularly because Apple adds a huge amount of them on an annual basis. Languages are easy. The first one takes maybe 4 months, the second 2 months, third third 1 month, the fourth 2 weeks, the fifth 1 week, and beyond that they take 2-3 days. Most languages are designed by people who think the same ways and they just recombine existing features in new ways and throw in one or two unique things. Once you know a few, picking up more is trivial because you're not going to find much new stuff.
Thats sounds great but since C is a procedural programming language and Objective - C is object oriented. Won't that make it harder for me to pick up Objective -C? I am just wondering.

----------

Quote:
Originally Posted by iphonedude2008 View Post
About 3 months until you understand it. Then 3 months of practice to start learning what to use for various tasks. 3 months of mastering various tasks. A lot of people are going to tell me that I'm wrong and its 3 years, but honestly, if you dedicate yourself to it and ask the right questions, you'll learn it as quick as I did.

After you finish that book and if you want to learn iPhone programming, I recommend Programming iOS 6 (or 7 if it comes out then) by Matt Neuburg.
3 years to learn programming I will be 18 by then
DavidBlack is offline   0 Reply With Quote
Old Jul 23, 2013, 08:04 AM   #17
robvas
macrumors 68000
 
Join Date: Mar 2009
Location: USA
Biggest tip: Less message boards, more programming.
robvas is offline   5 Reply With Quote
Old Jul 23, 2013, 11:01 AM   #18
firewood
macrumors 603
 
Join Date: Jul 2003
Location: Silicon Valley
The best learn-to-program books for complete non-programmers seem to be on Python, Javascript and maybe Java. Also kids books on Scratch, Squeak, and Alice. Out-of-print books on Basic and Logo. The authors of C/C++ and Objective C books appear to have never taught an beginning programming class for high school A.P. or incoming freshman history/english/art/etc. majors (e.g. typical *real* people, not math-nerds/nerd-wannabe's).

Most people never learn to code. Many flunk out trying. Why make it any harder to get started than you possibly have to?

Stanford's iOS programming class has 3 quarters worth of beginning programming classes as a pre-requisite. I do not recommend starting out that high. I do recommend learning C as your 2nd or 3rd programming language.
firewood is offline   1 Reply With Quote
Old Jul 23, 2013, 12:47 PM   #19
iphonedude2008
macrumors member
 
Join Date: Nov 2009
Quote:
Originally Posted by firewood View Post
The best learn-to-program books for complete non-programmers seem to be on Python, Javascript and maybe Java. Also kids books on Scratch, Squeak, and Alice. Out-of-print books on Basic and Logo. The authors of C/C++ and Objective C books appear to have never taught an beginning programming class for high school A.P. or incoming freshman history/english/art/etc. majors (e.g. typical *real* people, not math-nerds/nerd-wannabe's).

Most people never learn to code. Many flunk out trying. Why make it any harder to get started than you possibly have to?

Stanford's iOS programming class has 3 quarters worth of beginning programming classes as a pre-requisite. I do not recommend starting out that high. I do recommend learning C as your 2nd or 3rd programming language.
I learned C as a first language and went to Objective C after that with the same book the OP is using. After 9 month, I am now making apps as a freelancer. And I am 14. You don't need to learn those other languages first because what will be most helpful toward your end goal is C. All C code is valid in Obj C because it is a perfect subset of C. The same can not be said for the other mentioned languages.
iphonedude2008 is offline   0 Reply With Quote
Old Jul 23, 2013, 03:35 PM   #20
DavidBlack
Thread Starter
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
Quote:
Originally Posted by iphonedude2008 View Post
I learned C as a first language and went to Objective C after that with the same book the OP is using. After 9 month, I am now making apps as a freelancer. And I am 14. You don't need to learn those other languages first because what will be most helpful toward your end goal is C. All C code is valid in Obj C because it is a perfect subset of C. The same can not be said for the other mentioned languages.
How did you learn C? What book/ resources did you use?
__________________
21.5"iMac late 2012, 2.7 GHz, 8 GB RAM, 1TB HD; 11.6" Macbook Air Mid 2011, 1.6 GHz, 2 GB RAM; iPhone 5 White 32GB; iPod Touch 5th gen, White, 32GB
DavidBlack is offline   0 Reply With Quote
Old Jul 23, 2013, 05:12 PM   #21
iphonedude2008
macrumors member
 
Join Date: Nov 2009
Quote:
Originally Posted by DavidBlack View Post
How did you learn C? What book/ resources did you use?
cprogramming.com, the begining of the book the OP is using, online tutorials, and Apple's resources. I didn't learn much of any C frameworks, just the basic way it works, which is all I need for iOS development.
iphonedude2008 is offline   0 Reply With Quote
Old Jul 23, 2013, 05:28 PM   #22
DavidBlack
Thread Starter
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
Quote:
Originally Posted by iphonedude2008 View Post
cprogramming.com, the begining of the book the OP is using, online tutorials, and Apple's resources. I didn't learn much of any C frameworks, just the basic way it works, which is all I need for iOS development.
Thanks for the information

----------

Quote:
Originally Posted by iphonedude2008 View Post
cprogramming.com, the begining of the book the OP is using, online tutorials, and Apple's resources. I didn't learn much of any C frameworks, just the basic way it works, which is all I need for iOS development.
BTW what apps do you have on the app store?
__________________
21.5"iMac late 2012, 2.7 GHz, 8 GB RAM, 1TB HD; 11.6" Macbook Air Mid 2011, 1.6 GHz, 2 GB RAM; iPhone 5 White 32GB; iPod Touch 5th gen, White, 32GB
DavidBlack is offline   0 Reply With Quote
Old Jul 23, 2013, 06:08 PM   #23
iphonedude2008
macrumors member
 
Join Date: Nov 2009
Quote:
Originally Posted by DavidBlack View Post
Thanks for the information

----------


BTW what apps do you have on the app store?
I have only recently finished learning, but I have been hired to make 2 apps as a freelancer for a guy who really likes Clash of Clans. One is called Strategy Guide for Clash of Clans. There is also an update I did for it in review now. The other on is a troop calculator for clash of clans also in review.

I have been working a game myself, but I have restarted it 3 times so far. I need it to be perfect and since I have no cost of living as a teenager, I am able to spend the time on it. It is a game in which you are a technology startup (like apple) in 2000 and you have to build up your company by making products like phones and tablets and laptops. Any suggestions?
iphonedude2008 is offline   0 Reply With Quote
Old Jul 23, 2013, 08:07 PM   #24
DavidBlack
Thread Starter
macrumors Demi-God
 
Join Date: Jan 2013
Location: Somewhere In Apple's HQ ;)
Quote:
Originally Posted by iphonedude2008 View Post
I have only recently finished learning, but I have been hired to make 2 apps as a freelancer for a guy who really likes Clash of Clans. One is called Strategy Guide for Clash of Clans. There is also an update I did for it in review now. The other on is a troop calculator for clash of clans also in review.

I have been working a game myself, but I have restarted it 3 times so far. I need it to be perfect and since I have no cost of living as a teenager, I am able to spend the time on it. It is a game in which you are a technology startup (like apple) in 2000 and you have to build up your company by making products like phones and tablets and laptops. Any suggestions?
What a coincidence! I thought of making a game similar to that but I never had the skills to do it.
I got the idea based on this game for the Mac
http://mr-fridge.de/software/walk_of_fame/
Maybe I can get I get in contact with you with ideas. I am really got at designing UI's, just send me a private message.
__________________
21.5"iMac late 2012, 2.7 GHz, 8 GB RAM, 1TB HD; 11.6" Macbook Air Mid 2011, 1.6 GHz, 2 GB RAM; iPhone 5 White 32GB; iPod Touch 5th gen, White, 32GB
DavidBlack is offline   0 Reply With Quote
Old Jul 24, 2013, 10:05 PM   #25
ArtOfWarfare
macrumors 601
 
ArtOfWarfare's Avatar
 
Join Date: Nov 2007
Send a message via Skype™ to ArtOfWarfare
Quote:
Originally Posted by firewood View Post
history/english/art/etc. majors (e.g. typical *real* people, not math-nerds/nerd-wannabe's)
... you named all of the useless majors that are set up for people who didn't get what they were supposed to out of their free high school education, so they blew huge amounts of money at university for a redo.

The real majors are the ones that build off of what was taught in high school rather than repeat it, IE, engineering, science, medical, math, and business majors.
__________________
Battery Status - On the Mac App Store
The only app that'll estimate when your wireless devices will need their batteries changed.
Including the ones paired with other Macs on your network.
ArtOfWarfare is offline   3 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 01:01 AM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC