What, Where and Why Swift

Slides:



Advertisements
Similar presentations
Javascript Code Quality Check Tools Javascript Code Quality Check Tools JavaScript was originally intended to do small tasks in webpages, but now JavaScript.
Advertisements

INF 212 ANALYSIS OF PROG. LANGS Type Systems Instructors: Crista Lopes Copyright © Instructors.
CIS 101: Computer Programming and Problem Solving Lecture 8 Usman Roshan Department of Computer Science NJIT.
Google Web Toolkit - Gufran Mohammed. Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications.
UFCFX5-15-3Mobile Device Development iOS Development Review.
SM3121 Software Technology Mark Green School of Creative Media.
CSE 332: C++ program structure and development environment C++ Program Structure (and tools) Today we’ll talk generally about C++ development (plus a few.
Lesson 4 Computer Software
Its all just code by group 8 张亚东,杨杰,甘伟,余青龙,肖春亮 chapter 2.
CSC3315 (Spring 2009)1 CSC 3315 Programming Languages Hamid Harroud School of Science and Engineering, Akhawayn University
Objective C Basics. It’s C with Some Extras!  Cross Platform language  Mac  Linux/UNIX  Windows  Layer above C (Superset)  Adds Object-Oriented.
An Intertech Course Introduction to Swift for iOS Jason Shapiro, Intertech.
RUBY by Ryan Chase.
How to execute Program structure Variables name, keywords, binding, scope, lifetime Data types – type system – primitives, strings, arrays, hashes – pointers/references.
Swift. Introduced in 2014 Replaces Objective-C as “recommended development language” “safer, succinct, readable” Emphasizes type safety.
Quiz 1 A sample quiz 1 is linked to the grading page on the course web site. Everything up to and including this Friday’s lecture except that conditionals.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
AxisTechnoLabs is leading provider of software development, web design & development solutions. We provide offshore software development outsourcing solutions.
Clojure Macros. Homoiconicity All versions of Lisp, including Clojure, are homoiconic This means that there is no difference between the form of the data.
Benefits of choosing AngularJS to develop Next Generation Applications A few years back, the pattern of present day AngularJS was being formed. Currently.
Swift by Kevin Gamboa Teky Alvarado Hieu Tran Elizabeth Sanchez
PHP Web Application Development Trends
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
The language focusses on ease of use
Lecture 1b- Introduction
Lecture 1-Part 2: Operating-System Structures
CSCI 351 – Mobile Applications Development
Programming Languages Dan Grossman 2013
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Learning to Program D is for Digital.
CSE341: Programming Languages Lecture 4 Records, Datatypes, Case Expressions Dan Grossman Autumn 2017.
Chapter 1 Introduction to Computers, Programs, and Java
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
Programming for Mobile Technologies
Google Web Toolkit - Gufran Mohammed
Holy Quran Application
Introduction to JSP Liu Haibin 12/09/2018.
Ruby, Rails, GUIs, and More
CSE341: Programming Languages Lecture 4 Records, Datatypes, Case Expressions Dan Grossman Spring 2017.
CSCI 351 – Mobile Applications Development
Web App vs Mobile App.
Node.Js Server Side Javascript
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
Design by Contract Fall 2016 Version.
Mobile App Development
CSCI1600: Embedded and Real Time Software
CISC101 Reminders Slides have changed from those posted last night…
Winter 2018 CISC101 12/1/2018 CISC101 Reminders
Java Programming Arrays
CSE341: Programming Languages Lecture 4 Records, Datatypes, Case Expressions Dan Grossman Winter 2018.
PHP.
Lecture 1-Part 2: Operating-System Structures
CSE341: Programming Languages Lecture 4 Records, Datatypes, Case Expressions Dan Grossman Autumn 2018.
Type & Typeclass Syntax in function
Programming Languages
Explaining issues with DCremoval( )
CSE341: Programming Languages Lecture 4 Records, Datatypes, Case Expressions Dan Grossman Spring 2016.
JavaScript CS 4640 Programming Languages for Web Applications
Data Structures & Algorithms
PHP an introduction.
Subject:Object oriented programming
Hans Zaunere, Managing Member
CSC 581: Mobile App Development
CSE341: Programming Languages Lecture 4 Records, Datatypes, Case Expressions Dan Grossman Spring 2019.
The Three Attributes of an Identifier
CSCI1600: Embedded and Real Time Software
Brett Wortzman Summer 2019 Slides originally created by Dan Grossman
CSE341: Programming Languages Lecture 11 Type Inference
Intro to Programming (in JavaScript)
Popular Programming Languages for Mobile Apps In recent years, Mobile App development industry has gained huge popularity as more and more people are.
Presentation transcript:

What, Where and Why Swift SwiftCLT Meetup – 10/24/2016

What is Swift The development of Swift as a language started in the summer of 2010. Released as 1.0 in the fall of 2014. Combine the best of all languages to produce one language to rule them all.

What is Swift “Swift is a new programming language for iOS, macOS, watchOS, and tvOS apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift’s clean slate, backed by the mature and much- loved Cocoa and Cocoa Touch frameworks, is an opportunity to reimagine how software development works.” developer.apple.com

What is Swift Do a search for “What coding language is Swift most like” You will get lots of answers such as Swift syntax looks like this but functionally behaves like that. Or Swift borrowed this from Ruby, but fits more with Haskell. The point is is borrows from everywhere and this question does not have a clear answer.

What is Swift Swift was designed with a few things in mind Clarity Modern Safe Performance

What is Swift Clarity & Safe let & var – Constants and Variables No Mutable or Immutable Must have a value after init Encourages constants then vars

What is Swift Modern Type inference

What is Swift Safe Type safety Arrays must hold same type Dictionary keys must all be the same type, values must be of the same type

What is Swift Clarity & Modern Clean loops

What is Swift Modern Powerful switch statements Interval Matching

What is Swift Modern Powerful switch statements Tuples

What is Swift Modern Powerful switch statements Cases can have where clauses

What is Swift Modern Powerful switch statements Compound cases

What is Swift Clarity, Safe & Modern guard use a guard statement to require that a condition must be true in order for the code after the guard statement to be executed. Allows error handling close to where the check is defined

What is Swift Safe Optionals Hold a value or nil Designated by the ? Allow you to declare vars that don’t need a value at time of init When you go to use an optional you must unwrap it

What is Swift Clarity Optional Binding – avoid the pyramid of doom

What is Swift Modern Functions as first class citizens

What is Swift Safe Static typing - types are known at compile time, not deferred to run time All variables, constants, and functions must have their types declared in advance Type cannot change after declared

What is Swift Safe Static typing - types are known at compile time, not deferred to run time All variables, constants, and functions must have their types declared in advance Type cannot change after declared

What is Swift Safe Static typing - types are known at compile time, not deferred to run time All variables, constants, and functions must have their types declared in advance Type cannot change after declared

What is Swift Performance Value type - Except class which pass by reference optimized memory usage as well as optimized CPU cycles for fast performance Dropping legacy C conventions has greatly improved Swift under the hood Fewer name collisions with implicit namespaces 

Where is Swift iOS watchOS macOS tvOS Linux https://swift.org/blog/swift-linux-port/

Where is Swift Server Side Simplify the management and deployment of your app to the cloud IBM Cloud tools for Swift is a popular Mac App, providing developers with a familiar Xcode environment to easily deploy Swift apps to. IBM Bluemix, the only cloud optimized for Swift end-to-end. developer.ibm.com

Where is Swift Android “About the time Swift was going open source, representatives for three major brands — Google, Facebook and Uber — were at a meeting in London discussing the new language. Sources tell The Next Web that Google is considering making Swift a “first class” language for Android, while Facebook and Uber are also looking to make Swift more central to their operations.” “Google’s Android operating system currently supports Java as its first-class language, and sources say Swift is not meant to replace Java, at least initially. While the ongoing litigation with Oracle is likely cause for concern, sources say Google considers Swift to have a broader “upside” than Java.” http://thenextweb.com/

Why Swift It is predicted that by 2020, 70% of the world’s population will be using smartphones. http://blog.careerfoundry.com/ In January, Swift overtook Objective-C to become the 14th most popular language in the TIOBE index. 9to5mac.com See the previous slides about Where is Swift

Why Swift Easy To Learn Easier to read: no @ or ; or [[[]]] Playground Doesn’t have to be compiled (REPL)– see results real time Clean and simple syntax, Simplifies the special characters many languages need Compile time errors and warnings Simplified memory management (ARC supported throughout)

Why Swift Easier to maintain No legacy to hold it back - not tied to C No header files No maintaining two files

Why Swift Open Source The Swift community is now driving where Swift goes Follow the updates suggestions and discussions Even suggest something yourself Could be ported to just about anywhere in the future

Why Swift Young With Swift 3.0 we really have our first stable version and it just came out

Why Swift Apple, Apple, Apple This was Apple’s baby, they are not likely to be going anywhere soon

Why Swift Because all the cool kids are doing it!