Welcome!

Blog Feed Post

Learning Swift Programming Book Review

I started programming with Swift the first day it was available. Back then all we had available was Apple's The Swift Programming Language, and Using Swift with Cocoa and Objective-C eBooks. I got in a few weeks of heads down work before the plug was pulled on our project.

When the project was shut down I was handed a project that required 100% of my attention so I was forced to shut down Xcode for a few months. That was a blessing and a curse. Curse because I don't remember anything I was doing, and a blessing because now there are several books available for getting started with Swift.

I am reading 4 books on Swift before moving on to iOS. This might seem like over kill since I have spent a lot of time in Objective-C, but this is what I do to learn when I am trying to learn something I am not using at work. I am not that quick or smart, so I need to repeatedly pound stuff into my head for it to stick. I have a real world app I will be coding after I finish the books.

Although I started all 4 books at the same time this is the one that I started running away with and finished first. The reason for that is this one is the least robust and contains straight to the point content. No filler at all. Below are the chapters included in the book.

Introduction
1. Getting Your Feet Wet
2. Collecting Data
3. Making Things Happen: Functions
4. Structuring Code: Enums, Structs, and Classes
5. Making a Game
6. Reusable Code: Closures
7. Subscripts and Advanced Operators
8. Protocols
9. Becoming Flexible with Generics
10. Games with SpriteKit
11. Games with SceneKit
12. Apps with UIKit

My favorite thing about the book is the concise, yet thorough, explanation of language features. The author also has a great feel for which topics need more attention. For example, Closures, Generics, and Protocols get a whole chapter dedicated to themselves.

My biggest gripe with the book is not a legitimate one, because it is actually with the author, and complaining about it would not be right. I thought it may be an issue when I read at the beginning of the Introduction that the last thing the author would provide in the Introduction is where we can find the code. Where to find the code is not in the Introduction, or any where else that I can find.

Looking for it I eventually found my way to a cloud implementation of a Swift programming environment that was broken. That was where the author said he promised to house all the examples from the book. I saw the promise on one of the sites that came up in my search for the code. I have no doubt, that he eventually will get it working. Regretfully, I could not retrace my tracks back to it. Although I did find some other online Swift compilers.

So my big gripe is that the author is doing too much for the community. He needs to slow down, take a small break, clean up his web presence, and then get back to full on teaching with a less outlets. The Skip Wilson videos are great, but trying to find the code led me all over the place. I also couldn't find an easy way to ping the author.

Like I said at the beginning of the explanation of my only gripe, my issue is not with the book. It's not really against the author either, I really appreciate all his contributions to the community. He does a great job. I just know I have seen people 1 star an Amazon review simply because a book came with no code.

This book is the place to start with Swift if you have prior programming experience. The author's writing style is great so the book is a nice short cover to cover read, but it also makes an excellent reference. Looking up a topic you will find examples easy enough to not have to get your head around the domain's context, but complex enough to show the feature in detail.

The reader for this book is the experienced programmer that wants a quick look at what Swift has to offer. It is not a book about how to build applications, although the author uses a few apps in his examples, it is a book about Swift. If you want a swift introduction to Swift, this is a great place to start.

Learning Swift Programming

Learning Swift Programming

Read the original blog entry...

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

Latest Stories
Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like “How is my application doing” but no id...
Join us at Cloud Expo June 6-8 to find out how to securely connect your cloud app to any cloud or on-premises data source – without complex firewall changes. More users are demanding access to on-premises data from their cloud applications. It’s no longer a “nice-to-have” but an important differentiator that drives competitive advantages. It’s the new “must have” in the hybrid era. Users want capabilities that give them a unified view of the data to get closer to customers and grow business. The...
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to...
It is ironic, but perhaps not unexpected, that many organizations who want the benefits of using an Agile approach to deliver software use a waterfall approach to adopting Agile practices: they form plans, they set milestones, and they measure progress by how many teams they have engaged. Old habits die hard, but like most waterfall software projects, most waterfall-style Agile adoption efforts fail to produce the results desired. The problem is that to get the results they want, they have to ch...
IoT solutions exploit operational data generated by Internet-connected smart “things” for the purpose of gaining operational insight and producing “better outcomes” (for example, create new business models, eliminate unscheduled maintenance, etc.). The explosive proliferation of IoT solutions will result in an exponential growth in the volume of IoT data, precipitating significant Information Governance issues: who owns the IoT data, what are the rights/duties of IoT solutions adopters towards t...
With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...
Wooed by the promise of faster innovation, lower TCO, and greater agility, businesses of every shape and size have embraced the cloud at every layer of the IT stack – from apps to file sharing to infrastructure. The typical organization currently uses more than a dozen sanctioned cloud apps and will shift more than half of all workloads to the cloud by 2018. Such cloud investments have delivered measurable benefits. But they’ve also resulted in some unintended side-effects: complexity and risk. ...
The taxi industry never saw Uber coming. Startups are a threat to incumbents like never before, and a major enabler for startups is that they are instantly “cloud ready.” If innovation moves at the pace of IT, then your company is in trouble. Why? Because your data center will not keep up with frenetic pace AWS, Microsoft and Google are rolling out new capabilities. In his session at 20th Cloud Expo, Don Browning, VP of Cloud Architecture at Turner, posited that disruption is inevitable for comp...
In 2014, Amazon announced a new form of compute called Lambda. We didn't know it at the time, but this represented a fundamental shift in what we expect from cloud computing. Now, all of the major cloud computing vendors want to take part in this disruptive technology. In his session at 20th Cloud Expo, Doug Vanderweide, an instructor at Linux Academy, discussed why major players like AWS, Microsoft Azure, IBM Bluemix, and Google Cloud Platform are all trying to sidestep VMs and containers wit...
While DevOps most critically and famously fosters collaboration, communication, and integration through cultural change, culture is more of an output than an input. In order to actively drive cultural evolution, organizations must make substantial organizational and process changes, and adopt new technologies, to encourage a DevOps culture. Moderated by Andi Mann, panelists discussed how to balance these three pillars of DevOps, where to focus attention (and resources), where organizations might...
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
No hype cycles or predictions of zillions of things here. IoT is big. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, Associate Partner at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He discussed the evaluation of communication standards and IoT messaging protocols, data analytics considerations, edge-to-cloud tec...
New competitors, disruptive technologies, and growing expectations are pushing every business to both adopt and deliver new digital services. This ‘Digital Transformation’ demands rapid delivery and continuous iteration of new competitive services via multiple channels, which in turn demands new service delivery techniques – including DevOps. In this power panel at @DevOpsSummit 20th Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, panelists examined how DevOps helps to meet the de...
When growing capacity and power in the data center, the architectural trade-offs between server scale-up vs. scale-out continue to be debated. Both approaches are valid: scale-out adds multiple, smaller servers running in a distributed computing model, while scale-up adds fewer, more powerful servers that are capable of running larger workloads. It’s worth noting that there are additional, unique advantages that scale-up architectures offer. One big advantage is large memory and compute capacity...
Cloud applications are seeing a deluge of requests to support the exploding advanced analytics market. “Open analytics” is the emerging strategy to deliver that data through an open data access layer, in the cloud, to be directly consumed by external analytics tools and popular programming languages. An increasing number of data engineers and data scientists use a variety of platforms and advanced analytics languages such as SAS, R, Python and Java, as well as frameworks such as Hadoop and Spark...