This discussion about Swift vs Objective-C is interesting, but I think it omits something important. Both those languages only build apps for Apple products.
It's not such a big deal for iOS. iPhones are dominant enough that people can write just for that. Phone/pad apps are also relatively small, so a rewrite for Android is not too difficult if you want to go cross-platform. For PCs it's a different story. Mac has about 10% market share overall, but it varies. In our market, architects are about 20% Mac, engineers less than 1%, construction maybe 2%. The apps are bigger and more complex. Nobody is every going to write a full CAD, project management or business accounting app in either Swift or Obj-C. TurtleSoft has a big investment in C++ source code that's full of construction business logic. Unfortunately, with the death of Carbon its future value is in doubt. I just checked a half dozen sites that measure popularity of programming languages. The Stack Overflow survey seemed the best, since they directly asked folks what they use. For 2019, their top 5 app-development languages are Python, Java, C#, C++ and C in that order. 42% of respondents use Python, down to 20% for C. Interestingly, there is a huge gap after that. Their next most popular app-dev language is Go at 8.8%. Swift rated 6.6% and Objective-C was 4.8%. Then there is a long, long tail of other languages with a few % or less. PYPL puts the top 5 in the same order. TIOBE index ranks them as Java, C, Python, C++, C#. Both those lists put Obj-C ahead of Swift, with the Apple languages well ahead of Go. Popularity is important. Those top few languages are frequently-used for reasons. Many people and organizations are working to improve them. High schools and colleges teach them. They have a wide range of books and tutorials. Good libraries and open source projects. Lots of blogs and Stack Overflow answers. Job opportunities. Success breeds success. I think it's fair to say that Python, Java and C++ deserve special respect because they dominate so much. Call them the "mainstream". I'm excluding C because it's more often used for low-level work, and C# because it's mostly limited to Microsoft's ecosystem. The minor languages certainly have their fanatics. Some have corporate sponsors. I'm sure Apple has fantastically talented and dedicated engineers working on Swift and Objective C. Both have many good features. But they are minority languages. It has an impact. We bought every book in existence about Objective C and Swift. Read close to everything we could find online. Looked at every archived post on this list. Built all of Apple's example apps. It still wasn't enough to help us finish a Cocoa conversion in time. Even worse, the future for Mac is starting to look like a required Swift front end to get new features (and maybe ARM compatibility). Using C++ at all means having Objective-C in the middle. It just gets too complicated. Yesterday I checked up on a few other companies we know who have Mac software in the AEC market. Most died off years ago. Two are now Windows-only. Three will have 64-bit apps "soon". So far, nobody is ready for Catalina yet. Casey McDermott TurtleSoft.com _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
