I'm 14, and I program. My tip: focus on school work. Right now, were I live, I have tons of standardized tests coming up. My recommendation: wait until the summer, and then program.
hi ive been programming for about 2 months now i got a book called programming in objective c 2.0 which i found much to hard for me
i really want a good simple book too starting application development for iphone and ipad
are there any simple books out there and also any tips on starting application development for iphone and ipad
havent read the other posts so apologise if this has already been suggested.
I have read loads of books on objective-c and iphone dev and found that you need to get your knowledge from a huge variety of sources. each one will build upon the last and eventually it will all just make sense (to a degree).
For me though it all just clicked thanks to videos on youtube. search for theNewBoston his videos are superb very easy to understand. Or from Lynda.com search for Simom Allardice who also does great videos on objective c and iphone sdk.
and as i said the more sources you get the better understanding you will build and have.
my tip is watch a video say on methods on youtube and instead of just watching the next video actually build what that first video shows. The amount of time i have watched a video and thought that is easy then watch another and another. then tried to write code using what i learnt in the first video and forgot what to put. It may be very simple but because i didnt use straight away i forgot it and had to watch video again.
sorry for going on but use youtube theNewBoston
or
Lynda.com Simon Allardice
For anyone in prep school, there is tons of time for programming.
General advice:
- DON'T buy a book. They are clumsy as hell. Google what you don't know and eventually you will know everything (that's what I did)
Code level advice:
- Never use autorelease. Learn where to release when necessary.
I don't agree with either of those things. Books can be an excellent resource. There's only so much one can learn from tutorials and looking at other people's code, not to mention a good chance of actually learning wrong.
As for autorelease, it's not meant as an excuse for not knowing memory management nor is it used like that, if that can be said of anything, it's ARC (but that's not true either). Autorelease has a lot of valid uses.
For anyone in prep school, there is tons of time for programming.
General advice:
- DON'T buy a book. They are clumsy as hell. Google what you don't know and eventually you will know everything (that's what I did)
Code level advice:
- Never use autorelease. Learn where to release when necessary.
I too started programming when I was 12. I started on an Apple II, with a cassette recorder to save my programs. There was no disk drive at that point.
I disagree with both points above.
Books can be a huge help. The classic Kerrigan and Richie C book is actually quite good. If you read that book cover to cover and do the exercises you will be well on your way to becoming a solid programmer.
The new Hillegass Objective C book (the one that includes Objective C 2.0 and iOS 5) is a good beginner book. Hillegass has a very easy-going, readable style. The first 75 pages of that book are an introduction to regular C, which is an important foundation for learning Objective C. It doesn't teach you very much iOS however. Mostly it teaches you the basics of programming. That's what you need at first though, so that's a good thing.
As far as autorelease goes, it's a useful tool, and sometimes a requirement. It pays to really understand when, how and why to use retain, release, and autorelease. Lots of system methods return autoreleased objects, so you need to understand when you have ownership of an object (and must release it when you're done with it) and when you don't own an object.
Check out this password generator app that shows various techniques including using a data container singleton object to share data between objects in your project.
I really don't like books because many that I have seen are bad with basic stuff and most importantly memory management.
Autorelease is good for managing objects like UITableViewCells or other mass produced items, or for returning NSObjects. It certainly is a lot less fast that ARC or using the release method correctly.
I tend to avoid autorelease like unencrypted FTP. But that's just me.
If there is one bit of advice, do your research and make extra Xcode projects for testing ideas. I have millions of such projects.
Autorelease is good for managing objects like UITableViewCells
Autorelease is basically required for cells. For one, dequeueing a cell returns an autoreleased object. So if you have to create one due to an empty cache, the returned cell will be treated the same either way, so you have to match that by autoreleasing it. Plus, once you are finished with that method, the table view will be managing that cell and you won't have another chance at it, so if you didn't autorelease it, it would be leaked.
Quote:
Originally Posted by fhsjaagshs
or other mass produced items
I don't really know what you mean by this, but I'm going to assume this means a lot of objects created in a loop. If so, then this would be a case where you would NOT want to use autorelease, since the pool wouldn't drain until you finished the loop, leaving you at risk of using too much memory.
Quote:
Originally Posted by fhsjaagshs
or for returning NSObjects.
I don't really know what you mean by this, and I suspect you don't really know either. Everything is an NSObject.
I will also disagree with the notion that you should avoid books. For those playing along at home, this would now be three of the top question-answerers on this board recommending books. Some might consider that to be a hint. I personally feel as though I owe my career to Beginning iPhone Development.
Those same top three question-answerers are saying that your approach to autorelease is flawed. Some might consider that to be a hint, too.
At any rate, there are a lot of errors in the things that you post, so despite the bravado that you come across with, you really don't know as much as you think you do. I would even go so far as to suggest that the errors that you make are largely attributed to your lack of book knowledge. You still have a lot to learn. Heck, I still have a lot to learn, and you're way behind me on the learning curve. So if you are saying that everything you have learned has been via Google, I probably believe that. If you are saying that you have learned everything, you are provably mistaken.
And here is a key point of learning: when someone with more experience than you offers advice, you should take that into consideration. When several people with more experience than you disagree with you, then perhaps it is time to reconsider your positions.
Quote:
Originally Posted by fhsjaagshs
If there is one bit of advice, do your research and make extra Xcode projects for testing ideas. I have millions of such projects.
This is sound advice. I wish more people on this board would do this.
It's great that young people are interested in programming!
BUT, focus on school as a first priority -> it doesn't matter if you are a good programmer, if you want to get a job as a programmer (or mostly, anything else), you need to have qualifications, especially now.
Also remember that as a young person, with programming you are approaching things that you've never seen before in terms of maths, logic, program design and data flow and your brain still has a few years to reach maturity so don't be put off if you don't understand something at the moment.
However, hopefully, programming should give you good logic skills and maths skills (especially if you lean openGL ES, although I would leave the more complex programming alone for now and focus on fundamentals and simple programs / writing good code).
A good thing about this forum is that it's full of friendly people who will go out of their way to help (mostly), so if you have a problem, just ask!
Thank you guys or all of the support i am finishing off my app just finishing off the designing although my photoshop trial has run out ill try and raise money to buy it. And then once iv'e finished i think ill study objective c properly and do it the right way! Ill start off with hileglass probably his books look good.
thank you everyone for all of the support ill keep you posted could not of done it without you guys!
Thank you guys or all of the support i am finishing off my app just finishing off the designing although my photoshop trial has run out ill try and raise money to buy it. And then once iv'e finished i think ill study objective c properly and do it the right way! Ill start off with hileglass probably his books look good.
thank you everyone for all of the support ill keep you posted could not of done it without you guys!
If you want a cheaper alternative to photoshop, I have found pixelmator to be very useful, but at a fraction of the price as photoshop.
1) Learning programming logic -- take your pick for a language. Personally, I would start with Java as you'll learn about objects, classes, and many other things without having to worry about pointers, pointers to pointers, and all the memory management.
2) I first started to learn to program for fun back when I was 4th grade (many many years ago), I had a friend and we got started building sprites, making them move across the screen, bound off the edges, adding color, making shapes, etc... Find a few simple Objective C program that gets you to the basics where you get a drawing context. Then just have fun looking at all the things you can do. Draw circles, lines, make some text or image or whatever move across the screen, bounce of the edges, respond to touch events Just be creative, lot can be learned that way. Don't feel like you have to master the entire programming language, you can do a lot with just a few things and just expand from there.
My 2 cents..
Chris
Quote:
Originally Posted by baja_yu
There's a lot to cover. Programming isn't simple or easy. That's why you should start with an intro book, something along these lines:
Starting with C is a good option. Objective C (used for Mac/iOS development) is a superset of C, meaning C plus some more stuff. C is procedural so you don't have to worry about classes, objects and memory management yet. You will learn all the basics with it, data types, constructs, collections, functions etc. Once you covered that, and understood it well, you can move to Objective C with this, or some other book:
I'll never forget the sound of where a program ends and the next one starts or the counter on the recorder to make things easier! I used to use a TI99/4a. I remember the appleiie and commodores though!
Chris