Apple devices have the top reputation for quality and excellent design. The majority of those who have devices from Apple enjoy them more than anything else they have used. The way one device can seamlessly flow into another is an experience that does not exist on any other platform today. Apple really strives to keep data secure. In these times, that is a quality many of us can appreciate. The digital experience that Apple fosters is unique in the world of devices.
Apple Remains a Great Investment
People should buy Apple devices because they are truly world-class. My true reason for saying this is that I believe in quality. Apple is one way to get high quality in digital solutions. Samsung is equal to Apple. Little space here to go into that. I really like Samsung, but today I am talking about software programming languages.
Apple Swift Programming Language
Apple has a computer programming language called Swift. An intense surge in the use of this language is in progress. Apple has the leading mobile device experience. Active units in circulation may trail others but the experience of the devices ranks higher. That creates greater user loyalty to the platform that comes from the genuine care Apple has applied in crafting their solutions. This careful design has come to programming languages in the form of Swift.
When Swift was announced, I dismissed it because it was limited just to the Apple environment. Now, Swift will be open source as of the 2.0 version. That changes things tremendously.
Maximum Productivity Languages
Opinions differ on what is a great programming language. I will not talk about what could have been but just the reality of today. A great programming language is streamlined and with a minimal set of conventions gives you the widest control over the computer. That is what I look for in a programming language. Such languages maximize both productivity and power.
That is the potential of languages from Google, Apple, Microsoft, and Mozilla. Microsoft has C# which is my favorite language. Google has Go, Apple has Swift, and Mozilla has Rust. I privately use C++ for practical reasons and because C++ is an all encompassing programming language. That can be useful but the qualities I admire in a language are not part of the current design of C++. That may change in the coming years. Many streamlined and minimal languages exist but most of them eventually fail in some scenarios. When they fail, you return to C++. Knowing C++ and C then is a good fallback.
I am looking beyond technical comparisons between Rust, Go, Swift, and C#. Each of these languages will have a huge audience. One of these will become more dominant than others. Who can win? I go back to achieving the widest range of ideas in useful forms with the least cost of capital and time. None of these languages and no other achieves this at a maximum level. Which comes closest to the ideal?
Productivity is a Reality
Corporate environments that are all Microsoft achieves the useful combination of streamlined design and control today with C#. Yet, people are choosing Apple for reasons of value that extend far beyond what is realized in a classic deployment of Microsoft technology. At a very basic level, Apple’s programming language design in Swift has side-effects that are far more beneficial than the .NET run time. This will be a huge benefit in its favor.
Android is a great solution in limited cases, but Android is not a total solution like Apple. Java for Android is not an advantage long-term. Java in the corporate sphere imparts great advantages like C# and has the same failings. Until Apple’s decision to make Swift open source, I thought Google Go would take over where Java and C# fell short.
Swift Leads in Mind share
Apple has momentum and genuine design that favors the ascendancy of Swift among programming languages. Google Go is currently better technically except it is more focused at the moment on server and systems level applications. That is good, you want your language to be able to address those areas but Swift may end up doing those things at a sufficient level. All things being equal then, Swift has the edge in design considerations as well as already having made greater headway with user interface technology.
I did read about Rust. I looked at the official materials about Rust as well as the points of view of others. I am the least optimistic about Rust but things can change. Cross-platform Swift could still fail or simply be a symbolic activity. If it does not have a future, that will not be the end of the world. Despite this sober realization, the failure of Swift is actually what this whole article is about.
Swift Could Fail
Swift might fail in several ways. It is in these ways that I will ponder, in the future, whether or not to adopt it. A great potential exists with a streamlined programming language that maximizes control over a computer in a productive way. Even more so when that language results in programs that runs lean and native.
First, based on the wisdom of the past, it will be imperative that Swift has clean, productive, seamless integration with both C and C++ code. Too much expert and superior crafted code with no equivalent in any other language exists in these two languages. You can recreate the effects of C# and Java in Swift but not C++ and you need the integration with C at a fundamental level.
Second, someone, not necessarily Apple, will need to make sure an effective cross-platform graphical interactive applications toolkit is available in Swift. Without that, Swift simply becomes a way to write middle ware code, common libraries, and background code cross-platform but is muted in its broader relevance to end-user applications. The toolkit does not necessarily have to be as good as the first party solution native to Apple devices. It simply has to exist for economical use of Swift.
Third, Swift will have to be competent for networked data interchange. Google Go has the lead in this area. Web developers may not care about mobile apps and decide to emphasize Google Go or PHP anyway to implement REST APIs but a uniform language you can use either way favors that language’s uptake.
Swift Optimistically Heralds Possibilities
It is true C# and Java already has many of these points addressed. Although, cross-platform UI is there with them, it is not in an entirely favorable way. Passable, but Swift has the advantage that if competent user interface existed through it cross-platform, those interfaces would be better in how they ran and were supported. That is why I am interested in Swift and Go. They are like C++ and C in many ways but far more streamlined and productive and that is a huge possibility that Apple has in the wake of making Swift open source.