Wie schnell ist Swift?

Ich bin ein passionierter Lotto-Spieler! Aber da mir mein Geld zu schade ist, um es beim Fenster rauszuwerfen bzw. dem Staat zu schenken, simuliere ich das Lottospielen nur. Z.B. in Java oder in Swift.

Mein erster Versuch, einen Lottosimulator in Swift zu programmieren, endete aber mit einer bösen Überraschung. Das Programm war grottenlangsam! Also bin ich der Sache auf den Grund gegangen. Soviel vorweg: Schuld waren Swifts Arrays und Dictionary. Die sind komfortabel in der Handhabung, aber nicht unbedingt schnell.

Update 10.2.2015: Ich habe die Benchmarktests gerade mit XCode 6.3beta / Swift 1.2 wiederholt. Lesen Sie die Updates am Ende des Beitrags!

Wie schnell ist Swift? weiterlesen

Swift — Referenz aller Sonderzeichen

Die Syntax von Swift macht Gebrauch von unzähligen Sonderzeichen und Zeichenkombinationen — nicht nur für Operatoren, sondern auch für diverse andere Sprachfunktionen. Ich habe mich bemüht, hier eine möglichst vollständige Referenz aller Zeichen und ihrer Bedeutung je nach Kontext zusammenzustellen. Wenn etwas fehlt, melden Sie sich bitte, entweder per Mail an kontakt@kofler.info oder per Kommentar am Ende dieses Beitrags.

Swift — Referenz aller Sonderzeichen weiterlesen

Swift — Besondere Operatoren

Swift kennt im Wesentlichen dieselben Operatoren wie die meisten anderen Programmiersprachen — also etwa +, -, * und / für die Grundrechnungsarten, = für Zuweisungen, == und === für Vergleiche etc. Allerdings gibt es in Swift auch einige Besonderheiten, die einen genaueren Blick rechtfertigen. Vorweg ein Überblick:

Operator         Bedeutung
------------     -----------------------------
(a, b) = (1, 2)  Mehrfachzuweisung
a &+ b           Addition ohne Überlaufkontrolle
a &- b           Subtraktion ohne Überlaufkontrolle
a &* b           Multiplikation ohne Überlaufkontrolle
a &/ b           Division ohne Überlaufkontrolle
a &% b           Restwert ohne Überlaufkontrolle
a ?? b           Nil Coalescing
a ~= b           Vergleichsoperator für `switch/case`

Swift — Besondere Operatoren weiterlesen

root-Passwort zurücksetzen in CentOS 7

Wer in die missliche Lage geriet, das root-Passwort eines RHEL- oder CentOS-Systems zurücksetzen zu müssen, konnte bis einschließlich Version 6 im Single User Modus booten. Dort war ein root-Login ohne Passwort möglich. Mit passwd konnte dann ein neues root-Passwort eingestellt werden. Unter RHEL und CentOS 7 müssen nun aber neue Wege beschritten werden.

root-Passwort zurücksetzen in CentOS 7 weiterlesen

Deutsche Textkonsolen in CentOS 7

Im Grafikmodus sowie via SSH funktionieren die bei der CentOS-Installation gewählten Spracheinstellungen problemlos. Wenn Sie aber in Textkonsolen arbeiten möchten (z.B. in einer virtuellen Maschine, bei einer Schulung, im Unterricht), dann zickt CentOS gerne. Mit den folgenden Tipps gelingt Ihnen auch in der Textkonsole die Eingabe von äöüß.

Deutsche Textkonsolen in CentOS 7 weiterlesen

Swift kennenlernen

Vor einem halben Jahr hat Apple seine Entwickler mit der neuen Programmiersprache Swift überrascht. Im Vergleich zu Objective X ist Swift eine moderne Sprache mit einer einfachen und klaren Syntax. Swift mindert damit eine wesentliche Hürde für angehende iOS- oder OS-X-Entwickler und wird Objective C längerfristig wohl ablösen.

Was gibt es Schöneres, als eine neue Programmiersprache kennenzulernen? In diesem Sinne werde ich Ihnen auf diesem Blog in den nächsten Monaten einige Spezialitäten von Swift vorstellen. Den Start macht eine Art »Hello-World«-Blogbeitrag.

Swift kennenlernen weiterlesen

Fedora 21

Ein Monat nach openSUSE 13.2 ist nun auch Fedora 21 fertig geworden. Der gemeinsame Nenner der beiden Distributionen sind die großen Verspätungen bei der Fertigstellung (openSUSE: 12 statt 8 Monate; Fedora: 12 statt 6 Monate) und die Verwendung von Gnome 3.14 als Desktop-System. Was mir ad-hoc sonst noch aufgefallen ist, folgt nach der Versionstabelle.

Fedora 21 weiterlesen

Linux-Speichernutzung mit ps_mem ergründen

Gerade bin ich über ein ebenso nützliches wie empfehlenswertes Python-Script gestolpert: ps_mem hilft dabei, die Speichernutzung auf einem Linux-System nach Programmen aufzuschlüsseln. Im Gegensatz zu top oder ps zählt ps_mem nicht jeden Prozess einzeln auf. Außerdem bemüht sich das Programm so gut wie möglich, gemeinsam genutzte Bibliotheken herauszurechnen (shared memory). Und schließlich wird das Ergebnis in einer wirklich lesbaren Form präsentiert.

Linux-Speichernutzung mit ps_mem ergründen weiterlesen