Tofffl
deaktivierter Benutzer
- Registriert
- 02.08.08
- Beiträge
- 941
Du musst ja nicht gleich in eine schlagende Verbindung eintreten..
Sind wir noch beim Programmieren?
Du musst ja nicht gleich in eine schlagende Verbindung eintreten..
Ich finde es schade, dass Swift zu nächst nur zahlenden Entwicklern vorbehalten ist (Xcode 6 beta). Gerne hätte ich jetzt im Sommer damit herum experimentiert um die Sprache mittels den Playgrounds und dem iBook zu entdecken. Mal sehen, ob ich die 99$ dafür locker mache...
Ich finde es schade, dass Swift zu nächst nur zahlenden Entwicklern vorbehalten ist (Xcode 6 beta). Gerne hätte ich jetzt im Sommer damit herum experimentiert um die Sprache mittels den Playgrounds und dem iBook zu entdecken. Mal sehen, ob ich die 99$ dafür locker mache...
Ich habe hier schon jemand anderen meine Meinung geschrieben warum man mit C anfangen sollte:Sagt mal, wenn ich mich als Programmiernoob dafür interessiere, mit Swift anzufangen zu programmieren (habe da 2-3 Appideen, nix kommerzielles, nur etwas für mich, was ich brauche, es aber nicht gibt), wie sollte ich da beginnen? Sollte ich andere Sprachen zu erst lernen?
Hmm, als Craig Federighi Swift auf der Keynote vorgestellt hat, hat er ja gesagt, Swift ist Objective-C ohne C.Mit C wirst du auf jeden Fall eine Sprache beherrschen die einfach und effektiv ist. Da Swift scheinbar auch mit C kompatibel sein soll (ich bin nicht nicht so weit im Buch) ist das auf jeden Fall ein wichtiger Punkt.
Bei mir war es sehr ähnlich. Obwohl ich vom Wissen her weit weg vom Programmieren einer richtigen App bin, hab ich mir jetzt den Entwickleraccount gegönnt. Ich hatte erst ein halbes Objektive-C Buch durchgearbeitet und war jetzt vor die Wahl gestellt, Objektive-C weitermachen, oder gleich von Anfang an Swift lernen. Ich hab mich für Swift entschieden und finde es bis jetzt ganz gut.Für mich war Swift jetzt der Anlass mich endlich als zahlender Developer anzumelden. Wenn nicht jetzt in Swift einsteigen, wann dann? ich hatte zwar endlich Obj-C relativ gut drauf, jedoch sieht Swift für mich deutlich leichter und unbeschwerter aus.
if (variable != nil) {
[variable doSomething];
}
variable!.doSomething()
Das müsstest du in Swift genauso, wenn es da kein ARC gäbe. Swift benutzt wie Objective-C Reference Counting für die Speicherverwaltung.Und: ObjC ist WESENTLICH schwieriger als Swift aus diesen Gründen:
- Man muss sich selbst um die Speicherverwaltung kümmern, wenn kein ARC verwendet wird.
Oh, ja. Das macht die Sache extrem kompliziert.
- Jede Klasse hat einen Header, der das Interface vorgibt.
Dieses Totschlagargument darf natürlich nicht fehlen.
- Die unglaublich hässliche Syntax.
Der Umgang mit Xcode ist von der Programmiersprache unabhängig. Dieses Beispiel zeigt, dass du von Objective-C keinen Plan hast, denn in Objective-C schreibt man dafür einfach nur:Und neben der Programmiersprache muss man ja mit Xcode auch noch umgehen können - das lernt man auch nicht in 2 Tagen. Swift nimmt einem vorallem solche Dinge ab:
Code:if (variable != nil) { [variable doSomething]; }
Das wird zu:
Code:variable!.doSomething()
[variable doSomthing];
Dieses Beispiel zeigt, dass du von Objective-C keinen Plan hast
Und das Swift schnell sein soll, muss es auch erst mal beweisen. Das hier sieht noch nicht so pralle aus.
Du hast entweder das Buch nicht richtig gelesen oder du verstehst das Prinzip nicht. Das Ausrufezeichen zwingt das Programm die Variable zu entpacken und das wird in Swift ebenso zum Absturz führen wie in Objective-C. Den Test musst du in beiden Sprachen machen wenn du es so tust. In Swift müsstest du auch schreibenSwift nimmt einem vorallem solche Dinge ab:
Code:if (variable != nil) { [variable doSomething]; }
Das wird zu:
Code:variable!.doSomething()
Ich kann Apple zu Swift nur loben!
if variable {
variable!.doSomething()
}
Nee, Objective-C stürzt eben nicht ab, weil Nachrichten an nil erlaubt sind.Das Ausrufezeichen zwingt das Programm die Variable zu entpacken und das wird in Swift ebenso zum Absturz führen wie in Objective-C
struct Optional<T> {
bool isNil
T value
}
var myVar: SomeType? // Zucker für `myVar: Optional<SomeType>`
myVar.value.doSomething() // äquivalent zu myVar!.doSomething
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Für die Ihnen angezeigten Verarbeitungszwecke können Cookies, Geräte-Kennungen oder andere Informationen auf Ihrem Gerät gespeichert oder abgerufen werden.
Anzeigen und Inhalte können basierend auf einem Profil personalisiert werden. Es können mehr Daten hinzugefügt werden, um Anzeigen und Inhalte besser zu personalisieren. Die Performance von Anzeigen und Inhalten kann gemessen werden. Erkenntnisse über Zielgruppen, die die Anzeigen und Inhalte betrachtet haben, können abgeleitet werden. Daten können verwendet werden, um Benutzerfreundlichkeit, Systeme und Software aufzubauen oder zu verbessern.
Durch das Klicken des Buttons "Zustimmen" willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden.