Swift vs C# for iOS dev

Can anyone that uses both Swift and C# for iOS development share a few of their thoughts? I’m an experienced C# developer tasked with a challenging iOS AR project and was wondering if I should pick up Swift?

Why not!!! Pick up all the languages!!! It’s just syntax and approach to problems and toolkit for the most part.

Just realize that any particular language has a range of uses, a range of good uses and also a range of targets upon which you can expect it to operate.

Outside of that, it’s just a language. Learn 'em all. Why wouldn’t you?

Just understand that Unity is not programmed in Swift, at least today AFAIK.

I once used swift for a project for the apple watch. Overall I really liked the language.

The Syntax can be a bit confusing with all the exclamation marks (cannot be null) and question marks (can be null), but after you got into this, it is quiet nice to have such a feature.

What I didn’t like was xcode (back then the only ide which could debug swift, not sure if there are better options now). What annoyed me a bit were some missing features for restricting generics (like forcing a type parameter being of the current class including that type parameter - this is helpful if you want to achieve a base class for singletons) but AFAIK the language is now more powerful than in 2016.

However, I cannot tell you if you should pick swift over c# in your case. I would personally probably go for c# with a multi platform framework for most projects, because I feel more comfortable with c# and often it is a plus for customers if you are also able to support other platform.

Thanks. Great feedback.

I agree it’s good to get experience in multiple languages. That said, it’s also possible (at least in my experience) to spread oneself too thin. This can lead to being OK at a lot of them but not advanced in any of them…which might be perfectly fine in some cases, but in others it might be a drawback. There are limits to how much one can retain and be verbose with regarding syntax, toolsets, and libraries. Just my two cents.

I’ve merely played with Swift and found it annoying. It’s kind of cool that it uses reference-counting for garbage collection, but only academically. I wrote a several-page summary a while ago: taxesforcatses-dot-com/codeNotes/swift.html