2016-04-04 26 views
-5

Anahtar bildirimi bugün tüm ana dillerinde (Javascript, Java, PHP, C#, C++, C) sunuldu, ancak bu ifadenin ilk defa hangi dilde yayınlandığını gördünüz?Anahtar deyimi kim icat etti?

+0

([programlama geçmişi hakkında sorular konu dışı Yığın taşması vardır] https://meta.stackoverflow.com/questions/255424/how-should-the-history- tag-be-disambiguated # comment24818_255425) –

+4

Programlama tarihi ve programlama hakkında değil çünkü bu soruyu off-topic olarak kapatmak için oy veriyorum – Dijkgraaf

cevap

2

Lisp, Wikipedia's source 1956-1958 zaman dilimi içinde cond numarasına sahiptir.

FORTRAN'da IBM 704'te M.I.T.'de yazdığım bir dizi satranç yasal taşıma rutini ile ilgili olarak koşullu ifadeler geliştirdim. 1957-58 yıllarında ... Şartlı ifadeleri tanımlayan ve onların Algol'de kullanımını öneren bir makale ACM'nin İletişimine gönderildi, fakat editöre bir mektup yazdı, çünkü çok kısaydı.

- John McCarthy: Lisp Prehistory - Summer 1956 through Summer 1958

+0

Doğru, Lisp şubesini unuttum! BCPL ve ALGOL'den daha erken (daha sonradan FORTRAN'ın henüz tamamen değişmemiş olmasına rağmen). +1 – Amadan

+0

Ben * makalenin CACM cilt 2 sayı 8'de (1959) olacağını düşünüyorum, ancak on-line arşivi editöre mektup içermiyor gibi görünüyor. Eski sürümlere erişimi olan herhangi biri bunu doğrulayabilir veya ideal olarak orijinaline bir bağlantı sağlayabilirse, bu büyük olur. – tripleee

+0

Vikipedi metni, bu olayın 'koşul' icat edildiğinde iddia edildiğini, ancak Lisp Prehistorya makalesinin çirkin bir okumasının bu iddiayı doğrulamayacağı veya çürütmediği iddiasında bulunmaktadır. Vikipedi, sadece "if" - "o zaman" - "yerine" yerine "daha genel * koşullu * bir yapıya" işaret eder, bu yüzden bu cevabı temel aldım. – tripleee

0

Kullandığınız diller arasında, muhtemelen ilk C olacaktır. Bununla birlikte, eğer yakından gözlemlerseniz, kavram, montaj düzeyi dili,

1

gibi daha temel dillerden kaynaklanır. Bir kavramın evrimi olduğu için, gerçekten cevaplanamaz. C (listenizdeki en eski) B'den evrimleşmiştir (ayrıca switch) ve BCPL'den evrilmiştir (switchon bildirimi vardı). BCPL, (AFAIK) olmayan CPL'den geldi. Pascal-vs-C kanyonun diğer tarafında, ALGOL (ALGOL68'de case bildirimi vardı) FORTRAN'dan (hesaplanan GO TO bildirgesinde ilkel bir selefi vardı) evrildi. Hesaplanan GO TO, çok düşük düzeydedir ve montajda kolayca uygulanır.

+0

Tüm popüler dillerde kullanılan sözdizimi hakkında soruyorum. Ben de öyle olduğuna inanıyorum. – Tom