Controversially, we're going to suggest that you don't start with Apple's Swift language. Even though it's incredible, and we're a big Apple site, we think it's a bad choice for beginners.
There are a wider range of training resources for Java and Python than Swift, so you'll find it easier to learn one of those two languages. Which one you pick is a personal choice, and we suggest you base it by answering one of these two questions.
- I want to build stuff! Then pick Java. It's the most popular programming language and used by countless companies to build apps. Google used Java to build Google Docs, as well as the Android operating system.
- I want to know how stuff works! Then pick Python. It's used by computer scientists to create algorithms, and used by MIT to explain concepts like Machine Learning and Artificial Intelligence. It's a very easy language to learn, and incredibly powerful.
If you're serious about programming, you'll end up learning both Java and Python at some point. They're universally used to train programmers and build apps.
Should I learn C on my Mac?
C is an incredibly popular language that has been used since the 1970's to teach computer programming. Importantly, it's used by Harvard in its CS50 course, used to teach all of its students the basics of computer science.
So it seems a bit churlish of us to dismiss it out of hand. Even so, we don't think you should start out with C. It's more complex than other languages, and you'll quickly get bogged down with concepts like memory managements and pointers. It's all too easy to end up frustrated and decide that programming isn't for you.
So unless you are on a course like CS50 and being hand-held through your programming experience, we suggest you stay away from C and all other C-based languages. You can learn it later.
What about learning SQL, PHP, and other technologies?
A lot of the other technologies listed, such as SQL, PHP and Ruby are all worth learning at some point. But they aren't the point to start out using. SQL is a database language that's commonly used to store, and retrieve items. It's often used in web servers, but also in apps (iOS and Android apps make use of SQL databases). PHP is a scripting language used online, and Ruby is used to create interactive websites. They're all worth learning at some point, but they aren't the place to start.
Once you've got all that working, it'll be time to move on to other languages like Swift and C.
Sign up for CIO Asia eNewsletters.