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 (Cocoa-dev@lists.apple.com)

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 arch...@mail-archive.com

Reply via email to