Welcome!

Blog Feed Post

Swift for Programmers Book Review

This is one of the best laid out programming books I have read in a while. The way it starts out providing summaries of Swift features found in other programming languages, Swift features that eliminate common programming errors, the list of Cocoa and Cocoa Touch frameworks, new key features in Xcode 6, special characters, numeric and boolean types, operators, conditional and loop statements, compound assignment operators, Classes, access modifiers, properties, initializers, methods, value and reference types, and making use of built in frameworks is perfect for developers from any other language.

By the time you are done the first few chapters you have gained a great deal of knowledge about Swift that is familiar from your experience with other languages. Below is a list of all the chapters included in the book.

1. Introduction to Swift and Xcode 6
2. Introduction to Swift Programming
3. Introduction to Classes, Objects, Methods and Functions
4. Control Statements; Assignment, Increment and Logical Operators
5. Functions and Methods: A Deeper Look; enums and Tuples
6. Arrays and an Introduction to Closures
7. Dictionary
8. Classes: A Deeper Look and Extensions
9. Structures, Enumerations and Nested Types
10. Inheritance, Polymorphism and Protocols
11. Generics
12. Operator Overloading and Subscripts
13. iOS 8 App Development: Welcome App
14. iOS 8 App Development: Tip Calculator App
A. Keywords
B. Operator Precedence Chart
C. Labeled break and continue Statements

After the initial introductory chapters the book digs deep into different topics by giving each major language feature a chapter of its own. The chapter names are reflective of the topics covered.

Object-oriented programming topics are covered throughout the book when topics being covered create the right context to cover them. However, chapter 10 is dedicated to covering Inheritance, Polymorphism and Protocols. This chapter does a good job of explaining how Swift is different than most object-oriented languages because it does not have a common superclass from which all other classes inherit basic capabilities.

The last two chapters of the book give us a glimpse into developing iOS 8 applications. Each chapter builds a small application and covers a bunch of topics at a high level. They also introduce storyboards and the Xcode interface. These two chapters are from the book iOS 8 for Programmers: An App-Driven Approach with Swift, which gives you an idea of whether or not you would like to read a book which takes you through building a bunch of small applications to introduce you to iOS 8 development.

The book includes code samples you can download, but one of the things I liked best about the book is the amount of code found in the book and the format in which they were presented. I could carry the book around and read it without feeling like I had to run the code samples on my Mac.

The samples include the results of running the code in the book. I know a lot of books do the opposite, making you type everything in, which is effective for the beginner, but this format is much more appealing to me.

The downloadable samples are very well organized by chapter and then labeled with the same figure name used in the book, making finding the really easy. I upgraded to iOS 8.3 and Xcode 6.3 and all the samples easily upgraded. I didn't have any problems with any of the examples before or after the upgrade.

Another thing I like about the book is the sidebars throughout the book. They have 5 different types of them including Good Programming Practices, Common Programming Errors, Error-Prevention Tips, Performance Tips, and Software Engineering Observations. They are usually 1 to 4 sentences, and are related to the material being covered in the section they are placed.

I saw that there is now a Swift Fundamentals LiveLessons available by the author. I have not seen this course, but have seen other LiveLessons, and they are usually pretty good. There are a few sample videos available on the publisher's web site.

The author's writing style and the layout of the book makes this an easy cover to cover read. The way the topics are covered also makes the book a good reference. There is no fluffy filler. The authors get right to the point of a topic and stick to it until it is thoroughly covered.

All in all I think this book is the perfect place for the experienced programmer of C#, Java, Objective-C, or C++ to get started with Swift.


Swift for Programmers (Deitel Developer Series)

Swift for Programmers (Deitel Developer Series)

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...