There’s No Reason to Refactor


I’ve been getting a lot of questions about whether or not I’m going to refactor the codebase for Pressgram in Apple’s new Swift programming language.

As far as I’m concerned there is absolutely no reason to do that in the near or even somewhat distant future.

The fact is that Swift is still very young and is still evolving, especially now that the world is engaging with it directly. The code, syntax, structure, modeling, and the whole lot of it is going to bend and perhaps even “break” as conventions and assumptions by the creators are tested and destroyed.

It’s just better that one waits to see, for a bit of time, to allow the “dust to settle,” sotospeak, before you commit too much time to jumping in.

A corollary question that I’ve gotten a lot is whether or not one should learn Swift programming – that answer is simple but nuanced: Yes, but you should first learn Obj-C so that you can actually learn what’s happening behind the scenes with Swift.

Without going into too much detail, Swift is a very presumptuous and takes great liberty at assuming that the user knows what the code is doing behind the scenes. Obj-C makes explicit whereas Swift makes implicit concepts. I 100% support learning Obj-C first and then adding in Swift as you go along.

You’ll end up being able to have better transference between languages, as an engineer, if you do it that way.