10 Swift Features, die nicht in C

Bedenkt man, dass Swift ein neu entwickeltes, Objekt # 8208 orientierte Sprache ist, und dass C wurde vor fast einem halben Jahrhundert entwickelt (von Dennis Ritchie in 1969-1973), wenn das Objekt # 8208 orientierte Paradigma nicht einmal weit verbreitet war , könnte man denken, dass diese beiden Sprachen zu vergleichen wäre schwierig, und in vielerlei Hinsicht unfair beiden Sprachen.

Das ist eine Möglichkeit, Dinge zu betrachten, sondern eine andere Art und Weise ist bei C die Auswirkungen auf den modernen Sprachen zu suchen. C ist immer noch in Computer # 8208-Science-Kurse in einer Vielzahl von Programmen von der Grundschule gelehrt # 8208-Graduate-Kurse zu stellen. C ist immer noch gelehrt wird, weil es immer noch eines der am häufigsten verwendeten Sprachen ist. C kann nicht # 8208-Schneide, aber es hat eine wichtige Rolle in der Entwicklung der heutigen Software und die Menschen bedient, die Design und entwickeln es.

Für diejenigen, die mit C vertraut sind und Swift jetzt lernen, erklärt diese Liste die wichtigsten Unterschiede zwischen den beiden Sprachen. Sie wissen, dass Swift wurde für eine Umgebung entwickelt, die große und kleine Computer enthält (das heißt, Macs und mobile iOS-Geräte), während C für mittelgroß und groß entwickelt wurde.

Mit diesem aus dem Weg, hier sind zehn Swift-Funktionen, die nicht in C sind

Starke Typisierung

Swift ist viel stärker getippt als C. Wenn Sie einen Wert in einen anderen Typ umwandeln möchten, müssen Sie es zu tun anstatt auf sie automatisch für Sie erledigt werden. Betrachten wir zum Beispiel diesen Code:

var x = y = 4var 4.0var z = x + y

Die letzte Zeile erzeugt einen Fehler, weil Sie ein nicht hinzufügen Int und Doppelt.

Jedoch eine der beiden folgenden Zeilen funktioniert:

var z = x + Int (y) var z = Doppel (x) + y

Swift Typisierung ist so streng, dass auch die folgende Zeile wird nicht funktionieren:

var z = Float (x) + y

Swift schließt daraus auf die Art Doppelt für den Wert 4,0, es sei denn Sie weisen es ausdrücklich Schweben Typ bei der Verwendung in einer Operation, oder wenn es zu erklären, wie in der folgenden Codezeile:

var y: float = 4

Wenn Sie nicht auf eine stark typisierte Sprache gewöhnt sind, kann dies einige Gewöhnung.

Bibliotheken erweitern C

Bibliotheken sind der primäre Weg C zu verlängern, aber Sie können Swift mit Bibliotheken erweitern (zusätzlich zu den integrierten # 8208-in Swift-Standardbibliothek) sowie mit Rahmen, Klassen und Unterklassen, Erweiterungen zu Klassen, Strukturen und Aufzählungen.

Switch-Anweisungen fallen durch Fälle in C

Sie können manchmal C-Programmierer sagen von Swift Code schreiben ihre Schalter Aussagen. In C ein Schalter Anweisung besteht aus Fall Elemente, wie in der folgenden:

Schalter (Wahl) {case auswahl1: break-Fall choice2: Break-}

Ohne das Unterbrechung Aussagen, geht die Steuerung zur nächsten durch Fall. Dies geschieht nicht in Swift. Es gibt einige C # 8208-Stil-Code, der den Vorteil der Tatsache nimmt, dass ohne Unterbrechung Aussagen, geht die Steuerung an die nächste Fall statement (s). Das war schon immer zweifelhafter Programmierstil in Betracht gezogen worden, aber jetzt wird es nicht in Swift passieren.

C ist ein internationaler Standard

C ist ein internationaler Standard (insbesondere ISO / IEC 9899: 201x) und Swift ist es nicht. Ob dies zählt, ist bis zu Ihnen. Eine Reihe von Menschen (einschließlich des Autors) denken, dass dies ziemlich irrelevant ist zu diesem Zeitpunkt. Sprachen, die nicht von den internationalen Normungsorganisationen geregelt werden, können manchmal schneller entwickeln, und, wenn solche Normen notwendig werden, können sie später hinzugefügt werden.

Internationale Standards haben nicht viel von einer Rolle in der Entwicklungsprozess einer Sprache zu spielen, wenn es wichtiger ist, wie viele Menschen zu erhalten, wie möglich, die Sprache zu verwenden. Dies ist die Phase Swift in jetzt ist.

Swift ist eng mit den Cocoa und Cocoa Touch-Frameworks verknüpft

In der Tat ist es schwer zu sagen, wo Swift aufhört und die Gerüste übernehmen. Bestimmte Sprachfunktionen können nicht ohne Bezugnahme auf die Cocoa und Cocoa Touch-Frameworks beschrieben.

Offensichtlich ist dies nicht der Fall mit C.

Swift umfasst Speicherverwaltung

Automatische Referenzzählung (ARC) in Swift gebaut. In C ist die Speicherverwaltung die Aufgabe der Entwickler.

Swift ist entworfen in einer Multi-Threaded-Umgebung zu funktionieren

In Swift, bestimmte Sprachmerkmale wie Verschlüsse, sind entworfen, um Multi # 8208-Threaded-Umgebungen, in denen eine Anzahl von verschiedenen Aufgaben unterstützen kann gleichzeitig auf mehrere multiple # 8208 Kern-Prozessoren ausgeführt werden. Sprach-Funktionen wie Verschlüsse sind für die Multi # 8208 Thread-Umgebung auf Macs und iOS-Geräte gefunden entwickelt.

Typen können leicht in Swift erstellt werden

Auch im Vergleich mit Ziel # 8208-C, die in vielerlei Hinsicht ist Swift engster Vorgänger, Swift, auf neue Arten zu erstellen (manchmal neben oder anstelle von benutzerdefinierten Klassen) unterscheidet sie von allen anderen Sprachen, darunter C.

Swift hat seine eigene IDE und Compiler

Swift wurde entwickelt mit einer eigenen IDE (Xcode 6 oder höher) und einen eigenen Compiler (LLVM) verwendet werden. keiner von diesen gibt es keinen offensichtlichen Grund, warum eine andere IDE nicht verwendet werden könnte, und ein anderer Compiler geschrieben, aber in dem Moment, in Werken zu sein, und Entwickler scheinen im Allgemeinen zufrieden mit den vorhandenen Werkzeugen zu sein. C und andere Sprachen sind nicht fest mit einem IDE und Compiler integriert.

Typen können Klassen, Strukturen oder Aufzählungen sein

In Swift, können Typen Klassen, Strukturen oder Aufzählungen sein, und jeder von ihnen können Eigenschaften und Methoden haben. Swift Eigenschaften und Methoden sind nicht nur für die Klassen. Dies ist sicher nicht der Fall in C!

Menü