Objective-C Programlama Dili

Serosoft

Üye
7 Nis 2020
87
1
System.in
Objective-C Nedir?​


- C’nin üzerine yazılmış, nesne yönelimli bir programlama dilidir.
- İlk çıkış tarihi 1983 yılında geliştirilmeye başlanmıştır.
- Apple tarafından 26 Ekim 2007 tarihinde geliştirmeye devam edilmiştir.
- C’nin sözdizimi, ilkel türleri ve akış kontrol deyimlerini miras alır ve sınıfları ve yöntemleri tanımlamak için sözdizimi ekler.
- Objective-C, dinamik yazma ve bağlama sağlayarak, çalışma zamanına kadar birçok sorumluluğu erteleyerek, nesne grafik yönetimi ve nesne hazırlıkları için dil seviyesi desteği de ekler.

Objective-C Tarihçesi

Objective-C 1983 de Brad Cox tarafından Stepstone adlı şirkette geliştirildi. Cox’un takıldığı sorun yazılımlardaki bileşenlerin tekrar kullanılabilmesiydi. Bir başka deyişle, bir problem nesneye yönelik yöntemlerle parçalarına ayrılmış ve bu parçaların bazıları çalışır duruma getirilmiş ise, bu parçaları sorunsuzca başka çözümlerde de kullanmayı kolaylaştırmak lazımdı. Her ne kadar nesne yönelimli yazılım teorik olarak bunu öngörse de, zamanın araçları ile bunu başarmak emek isteyen bir işti. Programlama dili her şeyden önce nesneleri esnek bir şekilde desteklemeli, kullanışlı ve zaman kazandıran kütüphanelerle gelmeli ve kod ve kaynakların ortamlar arası kullanımını kolaylaştırmalıydı. Cox’un temel tasarımı 1986 yılında Nesne Yönelimli Programlama, Evrimsel bir yaklaşım (Object-Oriented Programming, An Evolutionary Approach) adlı kitabında yayınlandı. Kitapta bileşenlerin yeniden kullanımı konusunun sadece programlama dilinden oluşmadığını vurgulamasına rağmen okuyucuların dikkatlerini sadece dile odaklamalarına, Objective-C’yi sunduğu önerilerden ayrı olarak algılamalarına engel olamadı.

Objective-C İle Neler Yapılabilir?

Teorik olarak Objective-C diline hakim bir geliştirici C dili üzerinde tasarlayabileceği her sistemi Objective-C üzerinde tasarlayabilir. C++ üzerinde tasarlanabilecek birçok sistemi de Objective-C maharetiyle tasarlamak mümkündür. gelgelelim tüm bunlar Objective-C’nin Apple odaklı bir programlama dili olduğu gerçeğini değiştirmiyor.

-Objective-C öğrenerek;

1.iPhone ve iPad’de kullanılacak mobil uygulama ve oyunlar
2.tvOS üzerinde kullanılabilecek multimedya uygulamaları
3.macOS üzerinde çalışan yazılımlar
4.watchOS akıllı saat sistemi için uygulamalar
5.Statik kütüphane geliştirmeleri
6.GNUStep için uygulamalar geliştirmek
gibi birçok alanda uygulama ve kütüphane geliştirebilirsiniz.

İlk Programımız Hello World!

Kod:
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
     [USER=298415]auTo[/USER]releasepool {
        NSLog(@"Hello, World!");
    }
    return 0;
}

C programlama dili ile daha önceden uğraştıysanız bu kod yapısı sizlere tanıdık gelecektir. Main fonksiyonunda NSLog metodu yardımıyla ekrana “Hello World” yazdırdık. Geriye bir değer döndürmeyeceği için return 0 yazdık. Noktalı virgüllere dikkat etmelisiniz. Unutursanız kodunuz çalışmayacaktır.

Swift ile Objective C Benzerlikleri

1- Basit sayısal türler (Int, Float, Double) Objective C de olduğu gibi Swift’te de bulunmaktadır.
2- Benzer for…in numaralandırma sözdizimilerine sahiptirler.
3- Apple ürünleri hem Swift hem de Objective C ile geliştirilmesine devam etmektedir.

Swift ile Objective C Farklılıkları

1- Birçok programlama dilinde zorunlu olan noktalı virgül kullanımı Swift ile birlikte artık satırlar noktalı virgül ( ; ) ile bitmek zorunda değil.
2- Objective C de bulunan Başlık dosyaları Swift’te bulunmamaktadır.
3- Swift’te String ifadeler Unicode’u tamamiyle destekler.
4- Syntax yapısı Objective C ‘ye göre oldukça kolay ve anlaşılması basittir.
5- Hafıza/Bellek Yönetimi (Memory Management) Swift’te daha esnek hale getirildi. Objective C deki gibi geliştiricilere zaman kaybettirmeden kodlarını rahat ve güvenli bir şekilde yazmalarına olanak sağlıyor.

Objective-C ile ilgili Kaynaklar​
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.