I see a lot of discussion on the internet about the usage of weak, and unowned objects in Swift. Recently, I was involved in a thread on Stack Overflow discussing the proper usage of weak references and it occurred to me that since I see so much discussion about this topic it would be good to write a post detailing my understanding on the usage of weak references.
This year my employer, LexTech Global Services, offered to sponsor my trip to WWDC 2017 if I was lucky enough to win a ticket in the lottery - and I did! I am very lucky to have received such a generous gesture on behalf of LexTech and it is very exciting from a technology perspective to be attending my first ever WWDC live and in person for many different reasons.
Recently, I was working on some Python code where I needed to keep track of an ordered list of functions to where I could call these functions again at any given time based upon a numeric index. Think of this situation like a list keeping track of an object by index, but instead, I wanted to keep track of a functions by index. My first thought was to try and create some sort of generic object that could manage all of these functions and the specific ordering that I needed.
How and why Swift started at Apple is still a bit of a mystery to the outside world and has been the focal point of many rumors and speculation over the years. If I had to pick one place where there is solid evidence of Swift’s roots at Apple, it would have to be with Chris Lattner. Chris Lattner is the internal founder of the Swift language at Apple, with a claim from Lattner on his personal website that the language dates back to 2010 internally at Apple.
Designing server architecture to support multiple applications can be a very tricky and intimidating task to take on. So many different things need to be considered when designing your first initial implementation that often times engineers will find themselves over engineering an achitecture all at once instead of building for their immediate needs and planning to scale over a period of time.