| I've been coding full-time in Swift for the last three months and at this point our source base is about 10K lines of code. Given this experience, if I had to do it all over again, I'd probably choose Swift again. The good: - Swift is a far better language than Objective-C. It's much safer, the type system is great, and the functional features are a joy to use. - Everything largely works as advertised; even for a super new language, the amount of total brokenness is minimal. The bad: - The current compiler's error messages are frequently bad to the point of being useless. Try to mutate an immutable dictionary? You get a type mismatch when you could get an error about immutability. - The compiler is a lot slower than I think they mean for it to be. - The debugger takes several seconds to evaluate an expression compared to almost instantaneous evaluation in Objective-C. - 8 MB of standard library in your app binary. The ugly: - "SourceKitService crashed" messages in Xcode flashing on the screen at 30 hertz. But at the end of the day, if you're hiring an outside company to do this, why does it matter to you what language it's written in? Shouldn't they be able to use their best tools? |
The owner should weigh why they wanted Swift in the first place vs. the consultant's recommendation and then decide from there.