Objective C'den önce Apple'ın gelişimi için “standart” hangi dildi?


27

Objective C'nin Apple donanım geliştirmesinin başından beri kullanıldığını sanmıyorum. Uygulama geliştiricileri Apple II veya Mac Classic gibi önceki Apple bilgisayarları için hangi dilleri kullandı?

Yanıtlar:


35

1985 yılında Larry Tesler , System 6 için standart dil olan Apple, Object Pascal için bir Pascal lezzetini geliştirdi . Ayrıca Apple'da geliştirilen Lisa için 1983 Pascal çeşidi olan Clascal'a dayanıyordu .

Object Pascal, o sırada Apple'ın birincil uygulama çerçevesi olan MacApp'ta kullanıldı . 1991 yılında piyasaya sürülen MacApp 3.0, C ++ dilinde yeniden yazıldı ve Apple daha sonra Motorola'nın 68K yongalarından PowerPC'ye taşındığında Object Pascal için C ++ lehine destek bıraktı.

Bugün Embarcadero Delphi olarak yaşayan Borland’ın Object Pascal’ı, 1986’da Apple’ın Object Pascal’ına benzemesi amaçlanan Turbo Pascal’a bir dizi eklenti olarak başladı . Pascal'ın yaratıcısı olan Niklaus Wirth, ilgili varyasyonları için hem Apple hem de Borland tarafından danışmanlık aldı.

Tersine, Objective C NeXTSTEP'in ana diliydi ve yalnızca 1996'da NeXT'yi satın aldıktan sonra Apple'da tanıtıldı.


4
İyi cevap, ancak kabul edilen durum olduğundan dolayı, hem Pascal hem de C için gerçekten bahsetmelisiniz. En başından itibaren, Mac Toolbox ve İşletim Sistemi Pascal çağrı kurallarını kullandılar ve büyük ölçüde Pascal ile belgelendi. Çok sayıda Pascal derleyicisi mevcuttu; En popüler muhtemelen Lightspeed Pascal oldu. C de baştan beri popülerdi ve Think, hem Lightspeed C hem de Lightspeed Pascal'ı satın aldığında, C muhtemelen indie geliştiriciler için "standart" seçimdi. Ayrıca, C ++ ve PowerPlant metrower'ları da hakediyor.
Caleb

1
Bu cevap , hangi dillerin aksine, geliştirme için hangi çerçevelerin kullanıldığına daha çok eğiliyor gibi görünmektedir . OP'nin sorusu, Cocoa (çerçeve) değil, Objective-C (dil) ile ilgiliydi, ancak cevabın MacApp (çerçeve) hakkında bir paragrafı var ve MacApp'ın kendisine aktarılmasının dışında C / C ++'dan çok az bahsediyor. Bir sürü uygulama Pascal, C ve / veya C Mac OS Toolbox ++ karşı doğrudan yazılmıştır. Aksi halde iyi cevap, ancak daha geniş C / C ++ kapsamı gerektirir.
morgant

12

Elma] [genellikle BASIC veya 6502 makine kodunda programlandı.

Lisa genellikle Pascal'da programlandı.

İlk Macintosh uygulamaları Pascal'da, önce Lisa'da ve daha sonra da Mac'te yazılmıştır.

Bir zamanlar en popüler gelişme ortamı olan Pascal olduğunu düşünün ve daha sonra Think C'yi düşünün. Ayrıca, uygun bir şekilde, Düşün Sınıf Kütüphanesi olarak adlandırılan kendi sınıf kütüphanesine sahipti.

Apple'dan MPW, dilleri (genellikle Pascal, C, C ++ ve assembler) karıştırmanıza izin verdiğinden ve sentaks çok farklı olmasına rağmen, bir unix ortamına benzer bir komut dosyası oluşturduğundan, popülerdi.

MacApp Object Pascal'da yazılmıştır ve birinin dediği gibi, daha sonra C ++ 'a taşınmıştır. PowerPC sistemlerine geçiş ile birçok programcı bir geliştirme ortamı olarak Metrowerks CodeWarrior ve C ++ sınıfı kütüphanesi PowerPlant'a geçti.

Mac OS X uygulamaları Apple'ın "Carbon" API'sı ile C / C ++ dilinde de yazılabilmesine rağmen, NeXT'de ve ardından Mac OS X'te Objective-C kullanıldı. Bugünlerde çoğu Mac ve iOS uygulamaları Cocoa / Obj-C ile yazılmıştır, ancak birçoğunun altında C veya C ++ kütüphanesi vardır.


1
Apple /// ayrıca Pascal'da da programlandı (ISTR ayrıca bir BASIC çeşidi vardı). Sanırım UCSD pSystem'ı kullandık ama Apple Pascal derleyicisi de vardı.
TMN

Apple /// hiç programlamadığım tek Apple bilgisayarıydı. Ben de Apple için bir UCSD pSystem'ı hatırlıyorum] [aynı zamanda içinde yazılı uygulamaları dağıtmanın iyi bir yolu olduğunu sanmıyorum.
EricS

8

Mac OS Classic'in standart dili Pascal'dı. İşletim sisteminin API belgelerinin tümü Pascal için yazılmıştır ve işletim sisteminin çoğu el ile optimize edilmiş ASM'de yazılmadığı gibi Pascal'da yazılmıştır.

PowerPC mimarisine geçtikten sonra, işletim sistemini C ++ 'da yeniden yazdılar, buna ek olarak sistem stabilitesinde gözle görülür bir azalma oldu ve bu da Pascal ve C ++ ile aşina olmayan kimselere şaşırtıcı gelmeyecek. API belgeleri, Pascal için yazılmaya devam etse de, Steve Jobs geri dönüp Objective-C'yi herkesin boğazına sokmaya çalışmaya başlayana kadar.


4
“Sistem stabilitesinde gözle görülür bir düşüşe eşlik eden, Pascal ve C ++ 'ı tanıyan hiç kimseyi şaşırtmayacak”:: Her iki dilde de çalıştım, buna kolayca inanabilirim. Neden bazen Pascal'ın (veya herhangi bir nesne yönelimli uzantısının) şu anda C ++ 'dan daha az popüler olduğunu hala merak ediyorum: sonuçta geliştirme ve hata düzeltme zamanları çok pahalıya mal oluyor. Belki de bunun nedeni Pascal'ın C ++ 'a benzeyen güçlü ve kompakt bir topluluk oluşturmadığıdır.
Giorgio

3
Pascal çoğunlukla başarısız oldu çünkü standart yoktu (standart çok geç geldi) ve ortak alt küme çok kısıtlayıcıydı (ayrı derlemeler yapmak için uzantılara güvenmek zorundaydınız, dizileri kabul edebilecek bir alt yordam yazmak için uzantılara güvenmek zorundaydınız. değişen uzunluklarda, uzantılara güvenmek zorunda
kaldınız

4
Brian Kernighan "Pascal Neden Favori Programlama Dilim Değil" yazdı .
Keith Thompson,

4
@KeithThompson, ne yazık ki, birçok kişi bu makaleyi herhangi bir Pascal uzantısına karşı çıkan bir argüman olarak teklif ediyor. Bu denilen varsayımsal makale alıntı gibi hipotetik uygun sınıflar ve miras eksikliği hakkında konuşmak, ve ya C ++ veya Amaç C. karşı bir argüman olarak kullanmak istiyorsunuz, "Neden C Programlama Dili Değil Benim favori olduğunu"
acelent

2
@ Paulo: Heck, C ++ 'ın hala uygun sınıf ve mirasa sahip olmadığını iddia ediyorum. Bir nesne bir referans türü değil, bir değer türü ise, başlangıçtan itibaren mirasın ve OOP'un temel ilkesi olan LSP'yi kırdınız. Bu sebeple, diğer tüm ana nesne yönelimli dillerin (kavramı temel alan Simula ve "nesne yönelimli programlama" terimini içeren Smalltalk dahil) bu şekilde yapmadılar
Mason Wheeler

2

... ve Mac'ten önce (Apple II), çoğu programlama BASIC'di. (Apple II'nin IIgs'deki tüm varyantları için)

Ayrıca Metroworks CodeWarrior kullanarak Sistem 7'de C ++ geliştirmeyi de hatırladım - bu (elbette) PowerPC sonrasıydı.


4
Pek sayılmaz. Eski Elmalar, BASIC'in yerleşik haliyle geldi, ancak günün standartlarına göre, düşük performansı ve ses ve grafikler için minimum desteği nedeniyle çoğunlukla oyuncak dili olarak kabul edildi. Elbette istisnalar da vardı, ancak Apple II sistemlerindeki en ciddi programlama ya Pascal'da ya da ASM'de yapıldı.
Mason Wheeler

2
Ah teşekkürler. Apple II'deki programlama deneyimim, genel olarak programlamaya ilk maruz kalmam olduğu için BASIC'ti. (Bu nedenle BASIC ve bu talimat setine bağlı kaldık.). Ayrıca "Logo" yaptığını da hatırlıyorum, ancak herhangi biriyle ciddi bir iş yapıp yapmadığını bilmiyorum.
Chad Thompson,

UCSD Pascal, Apple için kullanılabilen tek "gerçek" dildi. Eğer BASIC sizin için çok yavaştıysa, genellikle doğrudan montaja gittiniz.
Robotun

Sınırlamalarına rağmen, o günlerde "çoğu programlama" nın BASIC'te yapıldığından şüphem olmazdı.
dan04

@ dan04: Hatırlayabildiğim kadarıyla derleme Apple'ı programlamak için yaygın olarak kullanılıyordu]. İzleme moduna geçmek, bilgisayar korsanlarının öğrendiği ilk şeylerden biriydi.
Giorgio
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.