back

by madrox·8y ago·view on hn ↗
All the junior mobile engineers I’m interviewing now are learning iOS development on Swift. Junior engineers are probably the most pragmatic programmers on the planet. When they’re choosing to learn Swift vs ObjC, none of them are saying “...but ABI stability!” They’re learning Swift because they’ve found they can make apps faster with it.

Tells you all you need to know about the future right there.

6 comments
> Junior engineers are probably the most pragmatic programmers on the planet

As a cranky senior engineer (and Swift fan), I'd say that junior engineers tend to overvalue novelty and undervalue stability.

As a dev forced into web development, you're not kidding. Frameworks and tooling are a dime a dozen. I learn this and in 6 weeks it's old and busted and not cool. You can't really become an expert at anything, but plain old javascript.
>> As a cranky senior engineer (and Swift fan),

> As a dev forced into web development, you're not kidding.

But he's not web programmer, he's mobile programmer.

That seems like a narrow definition of "pragmatic". Are they choosing Swift out of experience, or from lack of it? If they are junior engineers, how much experience have they had in building, and then iterating and maintaining apps with a significant userbase?
Yes, it tells me juniors still don't have any experience maintaining systems. And that in turn tells me I won't be out of work any time soon.
That said, I should follow up by saying...we recently did an assessment and determined it wasn’t yet worth the time to refactor our ObjC apps into Swift apps. We’ll probably wait for Swift 5 and reevaluate.
Or, you know, it's an objectively better language, clearly the future of the platform, and ABI stability doesn't usually affect the day-to-day life of an iOS developer.
How does one “make apps faster with it” when the compiler takes 3x as long?
You don't spend days tracking down memory corruption issues caused by C underpinnings.
Not bashing Swift, but I can't remember the last time I had a memory issue when using ARC in ObjC.
ARC in Objective-C only applies to classes following Cocoa retain/release patterns.

Anything else is not under ARC support and thus fails under the same memory allocation patterns as C.

Additionally there are the C pointer manipulation, strings and arrays.