Main event press conference on the opening of WWDC 2014 happened at the end of it. He paid quite a bit of time. Chris Latner, able to capture the audience’s attention and make it anything you want, was constrained and unlike herself. Nevertheless, WWDC 2014 went down in history as “WWDC presented by Swift”. A new programming language, the name of which translates simply ploys as “swift”, has replaced Objective-C.
26, this language was used in NeXTSTEP and all heirs of this system (Mac OS X, iOS, GnuStep, tvOS), became one of the most popular languages in the world, and in my opinion he was (is?) best of the best. I can’t be objective, from 2001 to 2016 Objective-C was my main programming language. Before him was ObjectPascal and C++.
Everything else announced and presented at the press conference (the new version of OS X, iOS and Xcode, and even Metal) produced a much weaker effect.
This is a continuation of a series about WWDC 2014, previous parts here:
First part: WWDC 2014: Apple’s 25th WWDC;
Second part: WWDC 2014: Remembering QuickDraw 3D;
Third part: WWDC 2014: Metal is serious business.
The excitement that gripped various people, sincere and genuine, I do not share. It was painful and frustrating to read and hear praise to the new language, which is carried in a cohesive series writing for “Apple” systems division and confusion.
In source code libraries for iOS and OS X dozens (if not hundreds) of millions of lines of code in Objective-C to copy them to Swift in the next ten or twenty years was unrealistic, especially rewriting the smart way not to lose something important and gain something very important and necessary.
Even if Apple has been able to build is significantly different in nature language over all these millions of rows, the problems would be inevitable. And difficult never makes perfect.
As for the language, at first I really did not like. Download a book about Swift (it’s a masterpiece of technical documentation, without a hint of irony), and opening it for the first time, I saw something like let aNumber = 42. As in the most ancient versions of Basic is! Backward already when I studied them for 20 years until the end of the previous Millennium. The assignment operator in them looked exactly, almost exactly (something like this: LET ANUMBER = 42).
I spat and shut down this e-book. Returning home from work and breaking myself, I began to read. It turned out that “let” in Swift has a very worthy purpose, but the language I actively didn’t like.
Strict control over the data types, a solid “no” and “definitely” – it’s a nightmare, isn’t it? The idea of optionals interesting, but somehow all unusual. Not like human beings! And I’ll live with it.
Language I didn’t like for very long. An entire era. A week or two. A month later I was overcome by delight.
The public Swift was introduced as Objective-C without C. Like to master it will be easier. Young people it will attract, and write masterpieces of incredible power. Wait…
Person who is unable to learn C, can be a genius in any field, but a masterpiece of programming art he doesn’t ever write. This is not it.
Fortunately it is only a marketing slogan. C e Swift present at every step, it’s a C-like language. Although the actual C, as separate entities, it is really not.
Swift is designed rationally, it has a lot of things before, no one cared. The language is very predictable, safe, many of the most common mistakes it is physically impossible – but he’s actually harder than C. there are a lot of rules which need somewhere to learn.
Modern, fast, compact, well thought out, safe – perhaps these promises in the new language was done from the beginning.
But what Swift, from day one, will be a “first-class citizen” in iOS and OS X I don’t believe it. In this direction Apple his team of Latner has done many things possible and impossible, and even (looking ahead, in 2014 about it no one knew) a few times all this is altered, improving and furthering.
Some of these improvements I liked even more than the Swift. Have you seen the coregraphics framework in Swift, and other libraries originally written in C?
When the systems are at least half will be written in Swift, then this promise will be fulfilled.
Pleased that no one promised that even the most abled comrades will be able to write Swift in excellent “soft”. Alas. No language in the world does not guarantee from.
Promises (there were a dozen and a half) was “invented” in the marketing Department, according to engineers and managers who knew about Swift and programming languages firsthand. Their communication was most likely nervous but productive.
Marketers almost never lied. So, a little bit, in the bounds of decency. And just so impossible to catch on deception and convincingly to prove it.
For all his amazing qualities, the first Swift was very crude, much of it led not behave as promised by the Book (free, excellent written, a book on Swift).
According to the theory of Jean-Paul Gasse, any complex piece of engineering (computer program, operating system, graphics or CPU) can’t “place” earlier than the third version.
Theory does not always work: processors from Apple “held” in their first version, in that which was called Swift (this is Apple A6 and Apple A6X), and Cyclone (Central processor in the Apple A7) has just smashed the competition. There were opposite examples (but sad about not going).
Swift-which is the language took place in the third version.
When Chris left Apple, the most important in the Swift project became Ted Kremenek, one of those who invented, developed and made a reality is a language. It seemed to me that the miracle came to an end – but judging by the current version of the language, I was wrong.
What language is better – Swift or Kotlin or modern C++?
Jeff Raskin said that to compare complex entities on the better/worse it is also ridiculous to compare the point on the plane for more/less. Jeff said a lot of different things. With very many of his assertions I don’t agree – but not with this one.
About the language don’t write about him so much already written.
To be continued
We offer you to subscribe to our channel in “Yandex.Zen”. There you can find the exclusive materials that are not on the website.