#iOS development 100 days : Day 2

Meghan V
4 min readJan 24, 2021
Photo by Christian Wiediger on Unsplash

I was doing a little retrospecting about what I said on #day 1, that acting now is making more economic sense than thinking too much about it before acting. It saves time, energy, and, regrets.

But as I dig deeper into the iOS development these days. I am actually glad that I didn't tap into it too early. So it is really not necessary to keep beating yourself up for a good decision made too late.

One significant change about iOS development, is the language of Swift. From Object-C to swift 5 today, it went a long way, comparably a python long maybe :). Swift 5 is extremely easy to learn with a little OOP (object-oriented-programming) background, and using xcode to code is an enjoyment.

Compared with programmers from early days who had to search high and low for the functions and each parameter, go through long and painful learning and practising process and spend ridiculous amount of time in debugging, I'd say today's programmers are happier.

It however comes at a price. Programming becomes more abstract and it shows no sign of stopping whatsoever. To code is easy, but to plot it is harder than ever before.

It made sense. Humans are good at recognising patterns and abstraction. And according to "Range: Why Generalists Triumph in a Specialized World" -the book that fully discusses whether the deliberate practice/"10-thousand-hour-rule" is genuinly applicable to all professions, it transpired, there is a “Flynn Effect” , by which human IQ ( by taking purely abstract IQ questions, which requires no prior education of any material ) has increased by 3 points per generation. It may seem small but after just 2 centuries, the accumulated increase could be 24 points.

This could prove human minds are capable of more abstract and complex tasks now and one of the greatest advantages of abstraction, is, to abstract a set of general rules to apply to repetitive tasks, I’m saying, use cocoapod, or swift manager — yep, what I learnt in my day 2.

Is it because we trained our brains that way, when tackling increasingly complex reality problems, that boosts the global human IQ increase? I would not know. It seems that way. As experience grows and technology advances, people are dealing more difficult problems that calls for brain OS upgrades.

The revolution is more evident in programming world than elsewhere and it does not take generations to achieve awesomeness. The build tools, and advanced compile, coding error detection features of IDE, the 3-second set-up cloud service, collectively eliminate the most repetitive, 0-value added tasks from a coding project. As a result, programmers can focus on solving more abstract and complex problems. And then break down and generalise those complex tasks -> share the rules in GitHub -> provide a lib -> get downloaded by other programmers -> free more minds on more complex tasks -> and for ever loop.

Gen Z Programmers start to be like ants. I mean, the scale and efficiency of the inter-collaboration is amazing.

Humans is getting better at conceptual thinking. I’m sure of it. Even when it comes to my 6-yro son, there is sign. I taught him scratch when he was 4 and a half. After I showed him some simple steps, he managed to watch the tutorials and started building projects on his own, with some questions asked of course. He didn’t go through any training of associating real world to computer world and he didn’t seem to bother. He did not know what is an internet browser; He called chrome “gogo chrome”, and said “give me the gogo chrome, I want to do scratch”. He easily understands “Sprite”, “Backdrop”, and “Coding area”, and is able to grasp what each code block can do by experimenting them by himself, adjusting parameters and stuff. I’d like to add, he is not genius, most his “projects” are crap but I love them. In this aspect he defeats my 65-yro mum.

I won’t blame older generation, not at all. We experienced completely different worlds. I was an embedded system programmer, that means Assembly, C, C++, and JAVA much later on. There was no “Object-Oriented-Programming” until there is. It was such a difficult concept to grasp. Before OOP, we just write a function. And call it. A function can be comprised of a few thousand lines. If you don’t read through this thousands lines before calling this function, you end up digging grave for yourself. You must also read it so thoroughly as if you weren’t the writer of those lines yourself :)

But then OOP came; it blew minds. Everything is an OBJECT. What is worse, you don’t program objects, you program interfaces. It fundamentally separates backend services and the applications, and changes the whole industry. To stay positive, I will stop here about the OOP. It’s pure abstraction.

Alright, until day 3.

--

--

Meghan V

Full-stack programmer, product manager, politics enthusiast and won't shut up about it.