Best Of Quora: Programming Languages, Slack, Objective-C and Protocol Inheritance (Week 32)

Written by: Reinder de Vries, August 2 2015, in App Development

In an ongoing series “Best Of Quora” I capture gems of questions. Do you have a question about app making that you want answered? Ask me a question on Quora.

This week’s edition, topics include computer programming languages, building a website, Slack, Objective-C vs. Swift and protocol inheritance.

I am currently 16 and only know C++. Which language should I take up next if I want to develop websites and apps?

It’s a good question: you’ve got some experience with a programming, but now actually want to build something. How do you get there? Well, you can learn Swift to get going with iPhone apps, Java for Android apps, and Python, Ruby or Go for back-end programming.

But… wouldn’t you be a better programmer if you could work multidisciplinary? Learn too about management, communication, design and leadership!

Read: I am currently 16 and want to learn a lot of programming languages but only know C++ that I am learning from high school. Which one should I take up next if I want to develop websites and apps?

What programming language would I need to know to write a website?

Most websites use HTML, CSS and JavaScript to serve web pages to the browser. That’s what you’d learn, but there’s so much more: XML, JSON, REST API programming… where do you start?

Read: What programming language would I need to know to write a website?

Is it beneficial to learn Objective-C before learning Swift?

I’d do it the other way around. Get your feet wet with Swift, build an app or two, then learn Objective-C.

Objective-C is much harder to learn, compared to Swift, but most apps still use it these days. When you want to be a professional iOS developer, you’re going to see a lot of Objective-C for the coming years. You will want to work with that, unless you’re only using Swift for your own apps and/or startup project.

Read: Is it beneficial to learn Objective-C before learning Swift?

What is Protocol Inheritance?

From the awesome Apple docs on the subject of “protocol inheritance”: A protocol can inherit one or more other protocols and can add further requirements on top of the requirements it inherits.

Inheritance is a feature of Object-Oriented Programming (OOP). Inheritance simply means you can take the protocol, extend it, and add more methods to it. You create a new protocol, code that it inherits from the other protocol, and add more methods to it. All the old methods exist, and the newly added.

Read: What is protocol inheritance?

What do I need to know to create an iOS app like Slack?

Slack is incredibly popular these days. It’s a platform for in-company communication through chat messaging, and an armada of third-party integrations. It’s so simple, and very powerful.

So, a lot of aspiring coders ask: how can I make something like Slack? It’s a good project to mimic, although a bit too big. Why don’t you get started with a simple chat app?

Read: What do I need to know to create an iOS app like Slack?

Do you have a question about app making that you want answered? Ask me a question on Quora.

Reinder de Vries

Reinder de Vries is a professional iOS developer. He teaches app developers how to build their own apps at LearnAppMaking.com. Since 2009 he has developed a few dozen apps for iOS, worked for global brands and lead development at several startups. When he’s not coding, he enjoys strong espresso and traveling.

Comments & Questions

Got a comment or question? Let me know! I read and respond to every one. Thanks!