The second day of courses really expands upon the basics learned in the pre-reading and day 1 content.

It mostly is centered around the object oriented parts of the language such as structs and classes, their properties and initializers, protocols (interfaces) and generics. Swift also adds the concept of extensions and carries forward Apple’s Objective-C automatic reference counting (ARC).

Many of these concepts are liberally borrowed from another languages and environments but have their own Swift spin on the concept. I haven’t used a concept of extensions before, and it is both awesome and scary. Extensions allow you to do what its name implies: extend existing constructs to add functionality; this isn’t inheritance, it is more like genetically altering nature globally. Like I said; great… and scary.

After a twelve hour day, my brain is fried but there’s a smile on my face.

As I said yesterday, I’m taking notes on the slides and instruction being presented each day. I’m using two tools for note-taking this week: TextMate and Marked 2. I chose to write in Markdown for several reasons:

  1. I needed to learn Markdown since it is so widely used.
  2. I wanted my notes easily searchable through as many means as possible. (grep, Spotlight… everything)
  3. I wanted to evaluate some of the associated tools such as Marked 2

Xcode has had some rough edges during the development process, which is not surprising given the rapid rate of development and features added recently. Most of the (admittedly minor) issues involved a few warts with Playgrounds but nothing that couldn’t be coded around.

I’m really enjoying the content and the instructors. This is exactly the experience I was hoping for.