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

Written by: Reinder de Vries, August 2 2015, in 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.

Join 11.000+ app developers and marketers
  • Get a weekly curated list of app development tools, articles and resources in your inbox
  • 10x your app installs with relevant App Store Optimization and app marketing strategies
  • BONUS: Grab a free copy of the App Toolbox 2017 to supercharge your next app project
Yes, Sign Me Up!

Most Popular Content

Written By: Reinder de Vries

Reinder de Vries is an indie app maker who teaches aspiring app developers and marketers how to build their own apps at LearnAppMaking.com. He has developed 50+ apps and his code is used by millions of users all over the globe. When he’s not coding, he enjoys strong espresso and traveling.

Got a killer app idea?

Grab the App Toolbox 2017 to learn how to save time building your app,
and how to 10x your app installs in the App Store. With the toolbox, you'll immediately know how to move forward to build better, more profitable apps.

Get The App Toolbox

Comments & Thoughts


Leave a Reply

Markdown is supported (Learn more). Your email address will not be published. Required fields are marked with *

On The Blog