beanz Magazine

Swift

Apple's new Swift programming language is an interesting language to study and learn, plus an opportunity to watch a new language evolve.

It’s rare to be able to learn and use a new software programming language with an instant audience of tens of thousands of developers creating apps used by millions of people. Google did create and launch the Go language in 2009 which has increasing adoption rates. However, Apple’s recent launch of Swift has a built in audience of app developers interested in a simpler more powerful language than what they currently use, Objective-C, Cocoa, and Cocoa Touch.

Swift is the perfect language to investigate today then watch as it evolves. Chances are very good Swift will influence other languages and be influenced by changes in other languages. In that sense, Swift is an opportunity to experience a programming language as a living entity.

What Makes Swift Special?

Apple’s new language, announced in June 2014, does what you would expect: it improves on the current software tools developers use to build applications for phones, tablets, and computers that run iOS, Apple’s operating system.

However, the Swift programming language is far more ambitious than a simple replacement tool. Swift uses technology called LLVM (Low Level Virtual Machine) to run Swift programs on almost any computer and operating system. Like the Java language, Swift aims to be “write once, use anywhere.” Unlike Java, Swift benefits from the latest thinking about how to make this happen at the lowest levels of any computer, as close as possible to where the software instructions of a programming language are converted to ones and zeros.

Swift also introduces a mostly new paradigm called Playgrounds which makes it easier for developers to create applications. It’s mostly new because Playgrounds is inspired partly by Light Table, an integrated development environment and now open source project designed to make programming much easier and more intuitive. As with Light Table, Playgrounds lets you type in new code then immediately see your changes on the right side of your screen, no compiling needed until you’re finished and ready to ship.

But there are other equally important and interesting inspirations the Swift language incorporates and evolves. Definitely check out the Vimeo links to talks by designer Bret Victor for additional inspirations for Swift. There has been a lot of thought, over decades, about how to make programming more simple and human friendly. Many of those ideas are in Swift or inspired features included in the new language.

How is Swift Used?

The primary use for Swift is in building software applications for Apple phones, tablets, and computers, any device that runs iOS. Anyone interested in serious programming of applications for these platforms should find Swift interesting and useful. In theory, the language is simpler then Objective-C and use of LLVM makes the language faster. Tools like Playground also should encourage people who normally would not be interested to use traditional tools for programming.

Learn More

Swift

https://developer.apple.com/swift/
https://developer.apple.com/library/ios/documentation/swift/conceptual/Swift_Programming_Language/GuidedTour.html
https://developer.apple.com/swift/resources/
http://en.wikipedia.org/wiki/Swift_%28programming_language%29

Swift Inspirations

http://www.nondot.org/sabre/
http://lighttable.com/2014/06/10/light-table-and-apples-swift/
http://lighttable.com/2012/06/24/its-playtime/
http://vimeo.com/36579366 (Bret Victor)
http://vimeo.com/66085662 (Bret Victor)

Why Apple's Swift Language Will Instantly Remake Computer Programming

http://www.wired.com/2014/07/apple-swift/

Why Coders Are Going Nuts Over Apple's New Programming Language

http://www.wired.com/2014/06/apple-swift-language/

The One Last Thread Holding Apple and Google Together

Describes how Google and Apple both use LLVM to run apps on their operating systems.
http://www.wired.com/2013/07/apple-google-llvm/all/

Building Your First Swift App

https://developer.apple.com/swift/blog/?id=16

Introduction to the Swift Programming Language

http://www.sitepoint.com/introduction-swift-programming-language/

Swift Tutorial: A Quick Start

http://www.raywenderlich.com/74438/swift-tutorial-a-quick-start
http://www.raywenderlich.com/74904/swift-tutorial-part-2-simple-ios-app

6 Best Free Swift Tutorials for Apple's New Programming Language

http://www.skilledup.com/learn/programming/6-best-free-swift-tutorials-programming-new-language/

Objective-C

http://en.wikipedia.org/wiki/Objective-C
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

Cocoa

http://en.wikipedia.org/wiki/Cocoa_%28API%29
http://developer.apple.com/library/mac/navigation/#section=Frameworks&topic=Cocoa%20Layer
http://www.cocoadevcentral.com/

Cocoa Touch

http://en.wikipedia.org/wiki/Cocoa_Touch
http://developer.apple.com/technologies/ios/cocoa-touch.html
http://developer.apple.com/library/ios/#documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/iPhoneOSTechnologies/iPhoneOSTechnologies.html%23//apple_ref/doc/uid/TP40007898-CH3-SW1

50 Tools and Resources for Swift Programming

http://www.computersciencezone.org/swift-programming-language-tools/

Also In The April 2015 Issue

Why Do Designers Hate Comic Sans?

The history of the font and the reasons people hate Comic Sans are great ways to learn about typography.

Learn Typography Online

Learn typography online and practice basic typography skills.

The 10 Principles of Good Web Design for Developers

Design basics for developers who do not have a designer around to say "no comic sans!"

Mary Glendening Talks about Library Makerspaces as Community Technology Centers

Librarian Mary Glendening describes how they created their library makerspace.

An Interview with Joe Dytrych and Dee Saigal, Creators of Erase All Kittens

Learn how two people created a fun online game to teach HTML and CSS.

Swift

Apple's new Swift programming language is an interesting language to study and learn, plus an opportunity to watch a new language evolve.

A designer is an emerging synthesis of artist, inventor, mechanic, objective economist and evolutionary strategist.

Online Security Tips

How to create secure passwords, manage your email accounts, securely backup data, and more.

April 2015 News Wire

Interesting stories about computer science, software programming, and technology.

April 2015 Learn More Links

Links from the bottom of all the April 2015 articles, collected in one place for you to print, share, or bookmark.

Code Golf

Problems software programmers can do to practice their skills, from beginner to advanced.

Design Patterns and Anti-Patterns

How programmers use design patterns and anti-patterns to develop software.

Help Build Applications Online

This website lets anyone practice their coding and design skills.