Now that WWDC 2017 has officially come to a close I thought I would write a follow up recapping my wishlist from my previous article, Attending WWDC 2017, and then talk about some of the other big developer announcements from this year as well. First, let's recap Xcode command line tools. Xcode 9 had a lot of really nice updates this year.
Looking ahead to the rollout of Swift 4 on Jun 5th at WWDC I have been scanning the Swift Evolution Github page to get a feeling of which of the proposals will make the cut for Swift 4 and which proposals will push ahead to later version of Swift 4.*. One proposal in-particular that caught my attention was proposal 168, for multi-line string literals.
Throughout my career as a technical lead I have been put in charge of many different projects. Everything from mobile, to web, to server side development, and certainly a combination of all the above at the same time. Over the years, as I have grown as a technical leader and engineer, so have the size of the projects that I lead. And if there is one thing that I have learned along the way, it's that technical leadership and team management most certainly make an impact on the success of any project, large or small.
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.