Merhaba Dünya

Swift 3 ile başladım!

Uzunca bir süre hep geriden takip ettiğim Swift programlama diline en sonunda versiyon 3’te bulaştım!

Apple’ın geçtiğimiz yıllarda duyurduğu, açık kaynaklı programlama dili sadece macOS üzerinde değil Linux üzerinde de çalışıyor. Bu bakımdan da daha geniş kitlelere hitap ediyor. Ben macOS kullandığım için vereceğim örnekler hep macOS tabanlı olacak. Umarım bu siteyi takip edenler arasında Linux üzerinde Swift geliştirenler çıkar ve bizlerle deneyimlerini paylaşırlar.

Python, Ruby gibi dillerde çok sıkça rastladığım REPL kullanımı Swift’le de mümkün. Bu başlangıç için süper bir olay. XCode ilk anda ciddi korkutucu. Önce XCode’u öğrenmek gerekiyor. Ben uzunca zaman sırf bu yüzden giremedim olaylara. En kötü ihtimalle basit bir metin editörü ile kodu yazıp çalıştırabilmem gerekiyordu. Belki bu mümkündü ama gözümde çok büyümüştü o zamanlar.

Swift ile işler süper kolaylaşmış. XCode’u kurduğunuz an zaten komut satırından kod yazabilir hale geliyorsunuz. Swift var mı? kontrolü için; Terminal (ya da ne kullanıyorsanız) açıp:

$ command -v swift
/usr/bin/swift

görmeniz gerekiyor. Eğer burada bir sıkıntı varsa şurayı bir okuyun. REPL dedim ya, hemen swift yazıp enter’a basın:

$ swift
Welcome to Apple Swift version 3.0.1 (swiftlang-800.0.58.6 clang-800.0.42.1). Type :help for assistance.
  1> print("merhaba", "DÜNYA")
merhaba DÜNYA
  2>

IRB (Ruby), IPython (Python), Node (JavaScript) gibi (R)ead (E)valuate (P)rint (L)oop yapabiliyorsunuz. Basit bir matematik işlemi için:

2> 5 * 4
$R0: Int = 20

yapmanız yeterli.

let myFirstName = "Uğur"
// myFirstName: String = "Uğur"

TAB-Completion yani ⇥ (TAB) tuşuna basarak herşeyi tamamlayabiliyorsunuz.

let numbers = [1, 2, 3]
// numbers: [Int] = 3 values {
//   [0] = 1
//   [1] = 2
//   [2] = 3
// }

dump(numbers)
// $R1: [Int] = 3 values {
//   [0] = 1
//   [1] = 2
//   [2] = 3
// }

Keza, sistem modüllerini, yani işletim sistemi ilen gelen C fonksiyonlarını da;

// macOS için
import Darwin
arc4random_uniform(10)
// $R2: UInt32 = 1

// Linux için
import Glibc
random() % 10
// $R0: Int32 = 4

gibi kullanmak mümkün. Ben TextMate kullanıyorum. İçinde Swift için Bundle bulunuyor ve yazdığım kodu anında çalıştırabiliyorum. Yapmam gereken tek şey: + R tuşlarına basmak. Keza mutlaka Vim, Emacs, Sublime hatta Atom için de bunu yapabilirsiniz diye düşünüyorum.

TextMate ve Swift çıktısı

Çok güzel şeyler keşfettim ve öğrendim. Diğer geliştiriciyiz projelerinde olduğu gibi ilgili arkadaşların da desteğini bekliyoruz!