
I was reminiscing about the times when I first started trying to develop iOS apps. If you’ve never heard of Objective-C, congratulations – you’ve been spared. But if you’ve ever tried making an iOS app before Swift came along, you probably still have PTSD from all the square brackets.
For years, Apple forced developers to use Objective-C, a programming language that looked like someone took C, added some weird syntax, and said, “Let’s make this look even more confusing.”
Why was Objective-C so annoying?
1. Brackets, Brackets, and More Brackets
Most programming languages let you call functions like this:
myObject.doSomething("This seems reasonable.")
But Objective-C? Check this out:
[myObject doSomething:@"I hate my life."];
Everything had to be wrapped in brackets. Want to call a function inside another function? More brackets. Want to chain method calls? Brackets.

2. Weird Naming Conventions
Method names in Objective-C were ridiculously long because Apple wanted them to be “readable.” Instead, it just looked like someone mashed a bunch of words together:
[self setUserInteractionEnabled:NO];
Meanwhile, in any normal programming language:
self.user_interaction = False
Which one is easier to read? One is intuitively understandable whereas the other looks like garbage.
3. Old and Clunky
Objective-C is really, really old. It’s the LeBron James of programming languages, except without the title of Greatest of All Time. Here’s how you create a simple dictionary in Objective-C:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"John", @"name",
@30, @"age",
nil];
And here’s how you do it in Python:
dict = {"name": "John", "age": 30}
There does not exist a timeline where I would prefer the first method.
Anyway, I’m done ranting about Objective-C. I apologize if my examples aren’t perfect; I never bothered learning the language deeply because 1) It was terrible, and I had no desire to suffer through it and 2) You’d have to be psycho to look at the syntax and say, “This is the way.”
* Yes, the article’s featured image is just a picture of trash.