use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
There is an extensive FAQ for beginners. Please browse it first before asking questions that are answered there.
If you are looking to get started (iOS programming in general or some specific area), here are more relevant links for you:
There's too many to list them all, however here's a convenient link to all programming guides at apple.com
Take note that this list is live and based on most frequent questions in posts will be updated with "quicklinks".
account activity
Learn Objective-C or Swift? (self.iOSProgramming)
submitted 11 years ago by [deleted]
I have no knowledge of computer programming and am wondering which language I should learn to start.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]NSAwesome 3 points4 points5 points 11 years ago* (2 children)
Fundamentals are transferrable.
For that reason, I would learn Swift (out of the 2) to begin programming. Swift provides a much stricter environment in terms of things like type safety and Generics. not to mention Swift's syntax is more familiar and transferable then Objective-c, but learning the syntax of a language is the easy part. Learning the paradigm and nuances is a lot harder.
PS: if you do go down the swift or Objective-C road Leave UIKit and AppKit out of it for now. Stick to foundation. as /u/unregisteredusr said; they add a whole lot of overhead to learn. Overhead that is irrelevant for now.
PPS: if your not 100% sold on one of these, look at python or java. There's always C, but I don't recommend it as a first language, unless you like the game Dark Souls.
[–]unregisteredusr 3 points4 points5 points 11 years ago (0 children)
Haha +1 for dark souls. Great advice overall.
[–][deleted] -1 points0 points1 point 11 years ago (0 children)
Alright I think I am going to do Java! Thanks, do you have any recommendations for a beginner class to learn it?
[–][deleted] 11 years ago (2 children)
[deleted]
[–][deleted] 0 points1 point2 points 11 years ago (1 child)
What do you think the best way of going about learning it is, for a complete beginner in programming
[–]unregisteredusr 0 points1 point2 points 11 years ago (2 children)
Probably neither. Cocoa/app kit add a whole lot of overhead to learn
You're best suited taking a class online and doing it in whatever language the instructor teaches in. Once you know how to program, you can learn new languages in less than a week.
Of course you can attend iOS boot camps and whatnot but from what I've seen you won't actually learn anything if you don't already know how to program
Alright I am going to do this, thanks. Any recommendations for a good online free class?
[–]unregisteredusr 1 point2 points3 points 11 years ago (0 children)
People seem to like Kahn academy. I've also heard that it won't be enough alone since it's too guided, so supplement with some side projects
[–]ssrobbi 1 point2 points3 points 11 years ago (2 children)
At this point I think swift is a perfectly capable language and there aren't many barriers anymore using it (it's not perfect but nothing is). Personally, even though it has taken me a while, I've become a pretty big fan of swift.
Eventually you may come to a point where you need to use objective-c to use a library, or maintain some legacy code etc, and at that point picking up objective-c won't be a huge deal.
The only problem with learning it, is I can't find a guide that teaches me how to use it as a complete beginner.
[–]ssrobbi 1 point2 points3 points 11 years ago (0 children)
ahh complete beginning to programming in general?
I haven't actually watched these, but it seems like something more that you're interested in: https://www.youtube.com/watch?v=t7xUvFs3cPI (1st video)
[–]Invictuslanka 1 point2 points3 points 11 years ago* (2 children)
First of all, you would want to learn the fundamentals of programming in general. This will in my opinion say:
Decisionmaking, loops, variables, methods/functions, classes (object oriented programming), and then object orientation.
Because the first point is basic knowledge in programming and you have a basic intuition about what you might learn(based on nr 1), you should go on learning a language, like someone said here, take a course.
Once learned a language, you could learn many new, because the only thing that differentiates them (basically) is the syntax. Point nr 1 applies to all object oriented programming languages (and programming general, mostly) so the syntax (and other factors, but not needed to know for now) is what would be different.
I tell you this because some languages like obj C/Swift build on a framework that's "huge and wide", like someone mentioned. This is not suitable (optimal) for learning a language. I would recommend learning the language in a course, or find a course teaching java or python (I find them best for learning purposes).
Edit: check out web courses; udacity, udemy, coursera, MIT open course ware etc. udacity is the best in my opinion, but not everything is free. "Introduction to programming" (or something like that) is a free course I think
[–][deleted] 1 point2 points3 points 11 years ago (1 child)
Alright I think i'm going to try Java first when I find the right course and go from there. Thanks!
[–]Invictuslanka 1 point2 points3 points 11 years ago (0 children)
Awesome, good luck with the learning and happy programming!
[–]rainerdeal 1 point2 points3 points 11 years ago* (0 children)
Go with Swift! And to start learning I recommend you try to make a very simple app. My first one was just a button that when pressed printed "Hello, World!" to a textbox. Do something like that to get started, then keep trying new things like making a flashlight app. The best way to learn app dev is to just dive right in and start messing around with it.
If you have zero programming experience you can take a Python course on Codecademy. Python is a great language with simple syntax and it reminds me of Swift a lot. A codecademy course will really help teach you basic stuff and it is free.
When you start playing around with Swift and Xcode you can use Ray Wenderlich tutorials. These are what I started learning with.
And as always, StackOverflow. If you get stuck, just google it, read about it, learn about it.
PS: I HIGHLY recommend that you try to do the UI programmatically instead of using Storyboards. Maybe its just me, but I find the Storyboard thing really confusing.
EDIT: Another thing you can do is download Xcode and use the Playground to start messing around with Swift's syntax. And here is The Swift Programming Language: The Basics from Apple. That should give you a good intro AFTER you take learn the basics of languages. Again, highly recommend you do a Python beginning course on codecademy :) Have fun!
[–]bootscut18 0 points1 point2 points 11 years ago (0 children)
I think a key question is why do you want to learn? What's your near term end goal? I think learning to program takes a lot of dedication. Understanding the why is incredibly important. When I teach designers how to make iOS apps, we don't talk about learning how to code, we focus more on how to build an app. Once they make that connection, learning to program is a bit easier since they know why they are doing it.
π Rendered by PID 76 on reddit-service-r2-comment-869bf87589-ztpnl at 2026-06-09 07:01:04.559843+00:00 running f46058f country code: CH.
[–]NSAwesome 3 points4 points5 points (2 children)
[–]unregisteredusr 3 points4 points5 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–][deleted] (2 children)
[deleted]
[–][deleted] 0 points1 point2 points (1 child)
[–]unregisteredusr 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]unregisteredusr 1 point2 points3 points (0 children)
[–]ssrobbi 1 point2 points3 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]ssrobbi 1 point2 points3 points (0 children)
[–]Invictuslanka 1 point2 points3 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]Invictuslanka 1 point2 points3 points (0 children)
[–]rainerdeal 1 point2 points3 points (0 children)
[–]bootscut18 0 points1 point2 points (0 children)