My latest project is written in Swift. It was honestly a no-brainer to switch.<p>ObjC seems a bit cobbled together, and a lot of things look a bit more verbose that they need to be. And there&#x27;s some type safety issues lurking in various places, too. And then there&#x27;s the whole having .h and .m files, an inconvenient way to organise things in this day and age. Sure, I was used to it from c++, but that isn&#x27;t the fastest language to code in, either.<p>One needs to get over the trepidation of a new language. I was talking to another CTO about this, a guy who&#x27;s been coding for 30 years. Once you understand the domain and you can solve the problem, language is not a big deal. Of course you need a language that contains the abstractions of the solution, but generally any OO language will be able to do it. What&#x27;s left then is whether the language lends itself to coding tools, terseness, library availability, and the level of granularity you need.<p>As a language that&#x27;s focused on building nice apps, Swift strikes a good balance. If I&#x27;m going to be doing UI stuff, I can assume I won&#x27;t need the fine-tuning that something like c++ gives me. I generally don&#x27;t want to be bothered by the memory management, and I don&#x27;t expect performance to be a big deal (people can wait dozens of ms for something, they won&#x27;t notice). If anything takes a long time, I can use GCD just like in ObjC. I care that things are easy to find in the code, and there aren&#x27;t many contortions (eg pull out something as an id and cast it. Concat a string by using a ludicrously long function with an unobvious name). There&#x27;s library compatibility, so I can pretty quickly glue together an app from the same pieces as ObjC, with less glue.