Elbette, hayatınızda gördüğünüz her şey Hedef C ise, sözdizimi mümkün olan tek şey gibi görünür. Size "programlama bakiresi" diyebiliriz.
Ancak C, C ++, Java, JavaScript, Pascal ve diğer dillerde çok sayıda kod yazıldığından, ObjectiveC'nin hepsinden farklı olduğunu, ancak iyi bir şekilde olmadığını göreceksiniz. Bunun için bir nedenleri var mıydı? Diğer popüler dilleri görelim:
C ++, C'ye birçok ekstra ekledi, ancak orijinal sözdizimini yalnızca gerektiği kadar değiştirdi.
C #, C ++ 'ya kıyasla çok fazla ekstra ekledi, ancak yalnızca C ++' da çirkin olan şeyleri değiştirdi (arayüzden "::" yi kaldırmak gibi).
Java birçok şeyi değiştirdi, ancak değişikliğin gerekli olduğu kısımlar dışında tanıdık sözdizimini korudu.
JavaScript, ObjectiveC'nin yapamadığı birçok şeyi yapabilen tamamen dinamik bir dildir. Yine de yaratıcıları, dünyanın geri kalanından farklı olmak için yeni bir yöntem çağırma ve parametre geçirme yolu icat etmediler.
Visual Basic, tıpkı ObjectiveC gibi parametreleri sırayla aktarabilir. Parametreleri adlandırabilirsiniz, ancak bunları normal yolla da iletebilirsiniz. Ne kullanırsanız kullanın, herkesin anlayacağı normal virgülle ayrılmış bir yöntemdir. Virgül, yalnızca programlama dillerinde değil, kitaplarda, gazetelerde ve genel olarak yazı dilinde de olağan sınırlayıcıdır.
Nesne Pascal'ın C'den farklı bir sözdizimi vardır, ancak sözdizimi aslında programcı için okumak KOLAYDIR (belki bilgisayar için değil, ancak bilgisayarın ne düşündüğü kimin umurunda). Yani belki konuya girdiler, ama en azından sonuçları daha iyi.
Python'un farklı bir sözdizimi vardır ve okuması (insanlar için) Pascal'dan daha kolaydır. Yani onu değiştirdiklerinde, farklı hale getirdiklerinde, en azından biz programcılar için daha iyi hale getirdiler.
Ve sonra ObjectiveC'ye sahibiz. C'ye bazı iyileştirmeler eklemek, ancak kendi arayüz sözdizimini, yöntem çağrısını, parametre geçişini ve ne olmadığını icat etmek. Merak ediyorum neden + ve - değiştirmediler ki bu artı iki sayıyı çıkarır. Daha da havalı olurdu.
Steve Jobs, ObjectiveC'yi destekleyerek batırdı. Elbette daha iyi olan ancak en kötü rakibine ait olan C # 'ı destekleyemez. Yani bu politik bir karar, pratik değil. Politik nedenlerle teknik kararlar alındığında teknoloji her zaman zarar görür. İyi yaptığı şirketi yönetmeli ve programlama konularını gerçek uzmanlara bırakmalıdır.
Eminim iOS yazmaya ve kitaplıkları ObjectiveC dışında herhangi bir dilde desteklemeye karar verirse iPhone için daha da fazla uygulama olurdu. Sıkı hayranlar, bakire programcılar ve Steve Jobs dışında herkese ObjectiveC gülünç, çirkin ve iğrenç görünüyor.