Raphael Silva

About learning

The process of learning is not that easy. And when I say learning, I do mean it. I'm not talking about learning on the fly - we've all been there, we all know how that works. I'm talking about learning the subject deeply, focusing on dominating it rather knowing only the basics.

It's been a while since I started reflecting on the learning process and how most of times we are satisfied with the basics. I mean, if you are willing to learn something, why would you not take some time for it?

Today I watched the talk Blending Cultures: The Best of Functional, Protocol-Oriented, and Object-Oriented Programming, and the following quote took my attention:

"A Swift application is more than just an Objective-C app translated into Swift. We need to embrace the features and philosophy of the Swift language." — Daniel Steinberg

As I said, we've all been in the learning on the fly position. But what does happen when the urgency for accomplishing something is not in the game anymore? Does the understanding on that matter have to keep low? I guess not.

Swift introduced a lot of concepts that were not common among developers who mainly used Objective-C to program. A lot of changes. Some good, other not so good, but in the end they were all changes. New things to learn, new challenges to face. And challenges are what make us who we are, what change our perception and make us to evolve.

Are we so afraid of changing that we would rather let something great go away? So afraid of letting go what we have, the comfortable position we are, the level of knowledge we have, just not to start it from the beginning again? I'm pretty sure it should not! A quote I keep in my mind tells a lot about it:

"There are far, far better things ahead than any we leave behind." — C.S. Lewis

We should always look forward, not looking at things we left behind.

Right now, I'm adventuring myself on learning Functional Programming, Reactive Programming and MVVM. And probably I'll be writing about this process here.