By Guest Author: Joe Ellegood
In my last post, we looked at how software development work (TIOBE) is being done on a few staid languages and asked the question of their being enough room for improvement to justify more programming languages being added to the mix. When you work in programming, you can expect plenty of improvements to existing languages that you already have in your toolbox – all while new languages emerge on the market that seek to “revolutionize” with new features and syntax that older languages cannot match (yet).
For any developer, keeping up with all of the updates and additions to the market can be time-consuming and overwhelming. It can be hard to determine which languages are worth learning and contributing to (if that’s an option or interest) and which you can take a pass on. Bottom line: We all want solid tools that will allow us to do our work with greater ease and be maintainable in the future.
Swift is the newest of the programming languages discussed in this article. Swift was announced by Apple at WWDC in June 2014 and its 1.0 version was released in September of 2014. Swift is Apple’s next programming language, their “Objective-C without the baggage of C”. Compared to Objective-C, Swift is a massive change in terms of syntax and features. Swift supports playgrounds (an interactive development environment, also known as a REPL), optionals (either “x has a value and it is _” or “x has no value”), type inference, extensions, protocols, and many others. Swift is scalable in some respects as it can be a scripting or application development language (the main purpose).
Even though Swift is a replacement for Objective-C, it also is fully compatible with Objective-C libraries and runs in the same runtime as C and Objective-C code. As of right now Swift is solely in development at Apple and there are no current plans to open-source it (however the creator of Swift, Chris Lattner, has also worked on LLVM and Clang at Apple and that has since been open sourced). With that in mind, Swift is currently limited in use to products running Mac OS X or iOS. The main draw of Swift is providing an alternative to the polarizing Objective-C to the millions of developers currently creating applications for iOS devices and Mac OS X devices.
My Take: Swift seems to have drawn from the right inspirations as it has a simple, clean syntax that has a lot of capabilities. As an Apple-only language I think it will flourish with iOS developers as it is much easier to code in than Objective-C. I appreciate Apple’s strict control over the language right now in order to build a solid foundation, though I will be interested to see how it develops over time (especially if it is open sourced).
About Guest Author Joe Ellegood:
Joe Ellegood is a Software Engineer based in St. Louis, MO. A graduate of Missouri University of Science and Technology, Joe spends his free time researching and learning new programming languages, working on small hardware side projects, and gaming. He has worked with such notable companies as Garmin International, The Boeing Company, and Thompson Reuters.