Swift Nasıl Bir Dildir?

Swift Nasıl Bir Dildir?

Swift çok modelli (multi paradigm) bir programlama dilidir. Swift ile nesne yönelimli (object oriented), fonksiyonel (functional) ve prosedürel (procedural) programlama modelleri kullanılabilir. Swift Objective-C’den pek çok özellik almıştır. Yani belli ölçülerde Objective-C’ye benzemektedir. Adeta Apple’ın kendi deyişiyle “C’siz bir Objective-C”yi andırmaktadır. Swift’te C’deki gibi gösterici kullanımı yoktur. İsimli parametreler gibi, protokoller gibi, kategoriler gibi Objective-C özellikleri Swift’te de bulundurulmuştur.

Swift başta Objective-C olmak üzere C#, Java, Python ve Haskell gibi dillerin pek çok güçlü özelliğini almıştır. Bu nedenle bu programlama dillerinden Swift’e geçenler pek çok tanıdık öğeyle karşılaşmaktadır.

Swift’te Merhaba Dünya Programı

Ekrana “Merhaba Dünya” yazısını çıkaran bir Swift programı herhangi bir text editör kullanılarak yazılabilir. Text editör olarak Mac’in standart TextEdit’i biraz zahmet verebilir. Çünkü TextEdit temelde rich text editördür. (Windows’taki WordPad gibi). Bu da başlangıçta biraz karışıklığına yol açabilir. Eğer TextEdit kullanacaksanız iki şeye dikkat etmelisiniz:

1) TextEdit/Tercihler menüsünden “Düz Metin”i seçin.
2) Tırnakların normal ASCII tırnak olarak ele alınması için Sistem Tercihleri / Klavye / Metin kısmından gerekli değişikliği yapın.

Text editör olarak BlueFish gibi, JEdit gibi açık kaynak kodlu bir editör kullanabilirsiniz. Ben editör olarak uzun zamandır Sublime Text 2’yi kullanıyorum. Merhaba Dünya programını yazmak için masaüstünde ’deneme.swift’ adında bir dosya oluşturalım ve aşağıdaki kodları dosyaya ekleyelim.

// deneme.swift
import Swift
print(“Merhaba Dünya”)

Programı derlemek için komut satırına geçilip şu komut uygulanır:

swiftc -o deneme deneme.swift

Hatırlatıcı Not : Konsol ekranından yukarıdaki komutun çalışabilmesi için cd komutu ile dektop’a gelinmelidir.

Eğer -o seçeneği belirtilmezse çalıştırılabilen dosyanın (executable file) ismi program isminin aynısı olur. (Yani örneğimizde “deneme”) UNIX/Linux sistemlerinde olduğu gibi çalıştırılabilen dosyanın bir uzantısı olmak zorunda değildir.

Programı çalıştırmak için kabuk üzerinde:

./deneme

komutunu uygulayabilirsiniz. Mac OS X’in UNIX türevi bir işletim sistemi olduğunu unutmayınız. Bu nedenle komut satırında standart UNIX komutlarını uygulayabilirsiniz.

swift yorumlayıcısı ve REPL swift komutuyla çalıştırılabilir. swift komutunun yanına dosya ismi verilmezse bir komut satırı karşımıza çıkar. Buna REPL (Read+Evaulate+Print+Run) denilmektedir. REPL denemeler için kullanılabilen karşılıklı etkileşimli bir ortamdır. swift komutunun yanına komut satırı argümanı olarak dosya ismi verilirse o dosyadakiler yorumlama yöntemiyle (yani executable kod üretilmeden) çalıştırımaktadır. Örneğin:

swift deneme.swift

Yorumlama işleminin sonucunda çalıştırılabilir (executable) bir dosya üretilmez. Yorumlayıcı programı okuyarak doğrudan çalıştırmaktadır. Genel olarak Swift programlarının yorumlayıcı yoluyla çalıştırılmasının derleyici yoluyla çalıştırılmasından biraz daha yavaş olduğu söylenebilir. Yorumlama özelliği Swift’tin script tarzı kullanımını kolaylaştırmaktadır.

Merhaba Dünya Programının Açıklaması

Merhaba Dünya programının başındaki import bildirimi Swift isimli modülün programa dahil edileceğini belirtir. import komutu ileride ayrıntılarıyla ele alınacaktır. Bu sayede biz bu modüldeki isimleri niteliklendirmeden doğrudan kullanabiliriz. print Swift’in standart kütüphanesine ilişkin bir fonksiyondur. Swift yukarıda da sözü edildiği gibi çok modelli (multi paradigm) bir progmlama dilidir. Dolayısıyla biz onu prosedürel biçimde (yani sınıf olmadan fonksiyonlarla) kullanabiliriz.

Swift programları nereden çalışmaya başlar? Pek çok dilde main isminde bir başlangıç fonksiyonu (entry point function) bulunmaktadır. Swift’te program kaynak kodun tepesinden çalışmaya başlar. (Bu konuda bazı ayrıntılar var. İleride ele alınacaktır.) Dolayısıyla Merhaba Dünya programında akış kaynak dosyanın tepesinden başlar. Orada print fonksiyonu çağrılmıştır.

Atom (Token) Kavramı

Bir programlama dilindeki kendi başına anlamlı olan en küçük birime atom (token) denilmektedir. Program aslında atomların biraraya getirilmesiyle oluşturulur. Atomlar doğal dillerdeki sözcüklere benzetilebilirler. Derleyiciler de derleme işleminin ilk aşamasında kaynak kodu atomlarına ayırmaktadır.

Atomlar 6 gruba ayrılırlar:

1) Anahtar Sözcükler (keywords / reserved words): Dil için özel anlamı olan değişken olarak kullanılması yasaklanmış sözcüklere anahtar sözcük denilmektedir. Örneğin if, for, while gibi atomlar birer anahtar sözcüktür.

2) Değişkenler (identifers / variables): İsmini bizim ya da başkalarının istediği gibi verebildiği sözcüklerdir. Örneğin x, y, count, print birer değişken atomdur.

3) Operatörler (Operators): Bir işleme yol açan işlem sonucunda bir değer üretilmesini sağlayan atomlara operatör denir. Örneğin +, -, / gibi atomlar birer operatördür.

4) Sabitler (literals / constants): Doğrudan yazılan sayılara sabit denir. Örneğin 100, 200 gibi.

5) Stringler (strings): İki tırnak içerisinde yazılan yazılar iki tırnaklarıyla birlikte tek bir atomdur. Bunlara string denir.

6) Ayıraçlar (delimeters / punctuators): Yukarıdaki atom gruplarının dışında kalan ’;’ gibi , ’{’ gibi atomlara ayıraç atom denilmektedir.

Boşluk Karakterleri (White Space)

Klavyeden boşluk duygusu oluşturmak için kullanılan karakterlere boşluk karakterleri denir. Örneğin SPACE, TAB, ENTER, VTAB tipik boşluk karakterleridir. Swift’te de diğer pek çok dilde olduğu gibi boşluk karakterleri atom ayıracı (token delimeter) olarak kullanılmaktadır.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir