Become a MacRumors Supporter for $25/year with no ads, private forums, and more!

MacRumors

macrumors bot
Original poster
Apr 12, 2001
52,098
13,723



swift-250x250.png
Popular freelancing website Upwork today released its quarterly study ranking the fastest-growing skills employers are looking for, and Apple's Swift programming language scored the number two spot, meaning it's one of the most sought after skills for freelance developers.

Swift, along with the other top 10 skills that made the list in the fourth quarter of 2016, experienced more than 200 percent year-over-year growth. Other skills that have become more essential on Upwork alongside Swift include natural language processing, Tableau, Amazon Marketplace Web Services, and Stripe.

Introduced in 2014, Swift is Apple's programming language, developed in part by Chris Lattner who made headlines recently when he left Apple for Tesla. Designed to be concise yet expressive, Swift replaces Objective-C and is being increasingly adopted by developers.

Swift-Playgrounds-800x558.jpg

Swift is meant to be simple to learn, something Apple highlights with Swift Playgrounds, an app that teaches children to code using the Swift language. Apple has been updating and refining Swift since its 2014 debut, and is set to unveil Swift 3.1 in the spring of 2017.

Upwork's Skills Index measures year-over-year growth rates based on freelancer billings through the Upwork site.

Article Link: Swift Knowledge Quickly Becoming One of the Most In-Demand Skills for Freelance Developers
 

R740

macrumors member
Mar 15, 2015
50
14
London
There are much more and much easier ways to learn Android programming than Swift. Sadly.
 
Comment

Gorms

macrumors 6502a
Aug 30, 2012
556
1,513
UK
Any good books for beginners on swift that have a background in C++ and C#?

To be honest, I'd just pull up a few tutorials from raywenderlich.com and dive in. Swift is a pretty nice language but the entire point of it is objective C without the C. Personally I hate Objective C, it's convoluted and difficult to read but I think it's because I come from a web background. Syntax-wise, Swift feels much closer to ActionScript3 or jQueried JavaScript. If you have any experience with those should should be fine

There are much more and much easier ways to learn Android programming than Swift. Sadly.

Java is gross too.
 
  • Like
Reactions: nrose101
Comment

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,101
5,047
Swift's problem is it seems like it was created by someone who was incapable of the word no. Thus it's a language full of many ideas, great and terrible alike.

In the end, it comes out as a mediocre language.
 
Comment

shansoft

macrumors 6502
Apr 24, 2011
423
252
It's a ****** language with so many bugs underneath the compiler level. Garbage collections are completely broken in certain scenario that has been reported years ago, which still havent fixed yet. Not to mention the terrible performance with Swift compare to Objective C. There is a reason why even Apple themselves are not bothering adapting to it internally.

The syntax itself is even more bizarre and crazy to read. The entire idea of unwrap and wrap is like the a beginner's protection against null pointer. They tried so hard to reinvent a language with all other language combine, it just not working out. Essentially a DoA project.

Whoever think this language is on demand, you must be on some special kind of kool-aid. Most company's CTO or engineering director have no clue or any idea on what to use, they just follow the news and hype train to decide.
 
Comment

edenwaith

macrumors 6502a
Aug 7, 2001
688
87
Any good books for beginners on swift that have a background in C++ and C#?

Check the Apple iBookstore for the official documentation about Swift.

If you come from a more C-centric background, the syntax is more familiar than trying to learn Objective-C, which is somewhat odd with its extraneous use of square brackets.

One of my co-workers, an Android programmer, said he likes Swift and found it easier to learn than Objective-C.
 
Comment

lincolntran

macrumors 6502a
Jan 18, 2010
843
471
Swift's problem is it seems like it was created by someone who was incapable of the word no. Thus it's a language full of many ideas, great and terrible alike.

In the end, it comes out as a mediocre language.

Right.....


It's a ****** language with so many bugs underneath the compiler level. Garbage collections are completely broken in certain scenario that has been reported years ago, which still havent fixed yet. Not to mention the terrible performance with Swift compare to Objective C. There is a reason why even Apple themselves are not bothering adapting to it internally.

The syntax itself is even more bizarre and crazy to read. The entire idea of unwrap and wrap is like the a beginner's protection against null pointer. They tried so hard to reinvent a language with all other language combine, it just not working out. Essentially a DoA project.

Whoever think this language is on demand, you must be on some special kind of kool-aid. Most company's CTO or engineering director have no clue or any idea on what to use, they just follow the news and hype train to decide.

I genuinely like to see examples of this please.

The latest version of Swift has been very nice to me.
 
  • Like
Reactions: CarlJ and xPad
Comment

khaan

macrumors newbie
Sep 22, 2015
3
8
It's a ****** language with so many bugs underneath the compiler level. Garbage collections are completely broken in certain scenario that has been reported years ago, which still havent fixed yet. Not to mention the terrible performance with Swift compare to Objective C. There is a reason why even Apple themselves are not bothering adapting to it internally.

The syntax itself is even more bizarre and crazy to read. The entire idea of unwrap and wrap is like the a beginner's protection against null pointer. They tried so hard to reinvent a language with all other language combine, it just not working out. Essentially a DoA project.

Whoever think this language is on demand, you must be on some special kind of kool-aid. Most company's CTO or engineering director have no clue or any idea on what to use, they just follow the news and hype train to decide.

This is some quality ********. First of all Swift does not have a garbage collector, it uses ARC(automatic reference counting). If you don't understand what a retain cycle is, you will have memory leaks.

Optional, what you call wrap/unwrapping is not an idea that Swift came up with, a lot of functional languages like Haskell, Scala have it. It's not a beginner's protection, it's a way to guarantee that you never touch dangling pointers, the best part is the compiler does the heavy lifting and checks it for you. Once you grok the idea that you can map over optionals, they can even save you time and lines of code.

I agree that it has somewhat of a learning curve compared to objective-c, but it's nowhere near rust. And who told you that it has worse performance than objective-c?

I seriously believe that Swift will become the go-to language in a couple of years, both in the server-side space and in the mobile space.
 
Comment

DMH0630

macrumors newbie
Jul 18, 2016
17
22
It's a ****** language with so many bugs underneath the compiler level. Garbage collections are completely broken in certain scenario that has been reported years ago, which still havent fixed yet. Not to mention the terrible performance with Swift compare to Objective C. There is a reason why even Apple themselves are not bothering adapting to it internally.

The syntax itself is even more bizarre and crazy to read. The entire idea of unwrap and wrap is like the a beginner's protection against null pointer. They tried so hard to reinvent a language with all other language combine, it just not working out. Essentially a DoA project.

Whoever think this language is on demand, you must be on some special kind of kool-aid. Most company's CTO or engineering director have no clue or any idea on what to use, they just follow the news and hype train to decide.

Garbage collection? Swift and Objective-C both use reference counting.

Performance in apps is no longer greatly different between Swift and Objective-C since probably Swift 2.2.

The entire syntax is incredibly similar to Objective-C, especially semantically.

You do realize that Apple has nearly 20 years of code written in Objective-C right? No company would rewrite their entire codebase just because they have a new language, they'll phase it out with probably new development being done in Swift.

Seeing as null pointers and null pointer exceptions are one of the biggest causes for bugs I think safety is good, also Java has also adopted it the Optional type in Java 8.

Apparently someone is paying for people that do know Swift so regardless of it being hype or anything else the money is flowing and also its the language supported by Apple for all of its platforms so I doubt it'll die although it might become a niche used only for Apples platforms (thats the case of Objective-C anyway) and IBM is also spending money on Swift for the server.

So either IBM, Apple and everyone else spending money on it are stupid and you're incredibly smart or the other way around, the future will tell which is which.
 
Comment

shansoft

macrumors 6502
Apr 24, 2011
423
252
This is some quality ********. First of all Swift does not have a garbage collector, it uses ARC(automatic reference counting). If you don't understand what a retain cycle is, you will have memory leaks.

Optional, what you call wrap/unwrapping is not an idea that Swift came up with, a lot of functional languages like Haskell, Scala have it. It's not a beginner's protection, it's a way to guarantee that you never touch dangling pointers, the best part is the compiler does the heavy lifting and checks it for you. Once you grok the idea that you can map over optionals, they can even save you time and lines of code.

I agree that it has somewhat of a learning curve compared to objective-c, but it's nowhere near rust. And who told you that it has worse performance than objective-c?

I seriously believe that Swift will become the go-to language in a couple of years, both in the server-side space and in the mobile space.

ARC is a form of garbage collection, just because it wrap the invisible autoreleasepool doesn't mean its really automatic.

Optional is nothing but a beginner protection. It doesn't save code, it add extra codes to save awful engineers from making corporate / enterprise software into oblivion.
 
Comment

khaan

macrumors newbie
Sep 22, 2015
3
8
ARC is a form of garbage collection, just because it wrap the invisible autoreleasepool doesn't mean its really automatic.

Optional is nothing but a beginner protection. It doesn't save code, it add extra codes to save awful engineers from making corporate / enterprise software into oblivion.

ARC is not garbage collection.

ARC is compiler being smart and adding the retain/release calls to correct places automatically during compile time. The downside is every retain/release has some overhead.

A garbage collector sweeps the object graph in regular intervals during program execution, detects objects to release, and cycles. The downside is for large object graphs, this is a quite expensive operation and sometimes results in the application being frozen while the collector is running.

Optionals are an abstraction that makes life easier. You may see it as a beginner feature for awful engineers. But to be honest you sound like a beginner too.
 
Comment

Zwopple

macrumors regular
Dec 27, 2008
119
1,906
ARC is a form of garbage collection, just because it wrap the invisible autoreleasepool doesn't mean its really automatic.

Optional is nothing but a beginner protection. It doesn't save code, it add extra codes to save awful engineers from making corporate / enterprise software into oblivion.

Swift actually makes little use of auto release pools anymore that was an Objective-C thing and ARC in Swift mostly releases in the spot. Auto release pools are 100% non-existant on server side Swift and only there still for compatibility with Objective-C.
 
  • Like
Reactions: tzm41
Comment

chrono1081

macrumors 604
Jan 26, 2008
7,767
2,228
Isla Nublar
Any good books for beginners on swift that have a background in C++ and C#?

Honestly the only book that make Swift click for me was "Hacking With Swift". Too many books put too much information up front and its hard to weed through what is necessary and what isn't. HWS doesn't do that and gives you what you need up front and expands on it as you go.
[doublepost=1485483785][/doublepost]
ARC is a form of garbage collection, just because it wrap the invisible autoreleasepool doesn't mean its really automatic.

Optional is nothing but a beginner protection. It doesn't save code, it add extra codes to save awful engineers from making corporate / enterprise software into oblivion.

I personally had a really hard time learning Swift and I hated optionals, but after being forced to work in C# for awhile, optionals (and many other things) in Swift suddenly made sense. Now I like them.
 
Comment

bartvk

macrumors 6502
Dec 29, 2016
386
149
The Netherlands
I can attest to its popularity. I picked up the language when it was still in its 1.0 phase, in the evenings of my day job as a Python/C++ developer. Put my resume online and within two months, had a client. Now I'm freelancing fulltime and almost every week, a recruiter asks me if I'm available for a project.

Right now it's a good business.
 
  • Like
Reactions: adib
Comment

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,101
5,047
Why would they? Google has Go and they already support a bunch of more popular third party languages, e.g. C, Java and Python. Swift doesn't bring anything new to the table.

How do you explain Google endlessly introducing new languages and frameworks then promptly dropping support for them? Dart, Go, GWT, ART, etc...

It seems like every year Google introduces a completely new developer framework or language that completely throws out the one from last year.
 
  • Like
Reactions: adib and Mascots
Comment
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.