ALGOL 68

ALGOL 68 (Algorithmic Language 1968'in ifadesinin kısaltması), çok daha geniş bir uygulama kapsamı ve daha titiz bir şekilde tanımlanmış sözdizimi ve anlambilim hedefiyle tasarlanmış, ALGOL 60 programlama dilinin halefi olarak tasarlanan programlama dilidir.

Standart olmayan terminolojiyle dolu birkaç yüz sayfaya kadar çalışan dil tanımının karmaşıklığı, derleyici uygulamasını zorlaştırdı ve "hiçbir uygulaması ve kullanıcısı olmadığı" söylendi. Bu kısmen doğruydu; ALGOL 68, özellikle International Computers Limited (ICL) makinelerinde ve öğretim rollerinde popüler olduğu Birleşik Krallık'ta olmak üzere bir dizi niş pazarda kullanım buldu. Bu dairelerin dışında kullanım nispeten sınırlıydı.

Bununla beraber, ALGOL 68'in bilgisayar bilimi alanına katkıları derin, kalıcı ve geniş kapsamlı olmuştur, ancak bu katkıların çoğu ancak sonradan geliştirilen programlama dillerinde yeniden ortaya çıktıklarında halka açık olarak tanımlanmıştır. Çoğu dil, dilin algılanan karmaşıklığına yanıt olarak özel olarak geliştirildi, en dikkate değer olanı Pascal'dı veya Ada gibi belirli roller için yeniden uygulamalardı.

1970'lerin birçok dili, tasarımlarını özellikle ALGOL 68'e kadar izler, bazı özellikleri seçerken, verilen roller için çok karmaşık veya kapsam dışı olduğu düşünülen diğerlerini terk eder. Bunlar arasında, özellikle güçlü yazımı ve yapıları nedeniyle ALGOL 68'den doğrudan etkilenen C dili de var. Çoğu modern dil, sözdizimlerinin en azından bir kısmını C veya Pascal'a ve dolayısıyla doğrudan veya dolaylı olarak ALGOL 68'e izler.

ALGOL 68 özellikleri, ifade tabanlı sözdizimi, kullanıcı tanımlı türler ve yapılar / etiketli birleşimler, değişkenler ve referans parametreleri için bir referans modeli, dizi, dizi ve matris dilimleme ve eşzamanlılığı içerir.

ALGOL 68, Uluslararası Bilgi İşlem Federasyonu (IFIP) IFIP Çalışma Grubu 2.1 tarafından tasarlanmıştır. 20 Aralık 1968'de, dil grup tarafından resmi olarak kabul edildi ve ardından IFIP Genel Kurulu tarafından yayınlanmak üzere onaylandı.

ALGOL 68, Adriaan van Wijngaarden tarafından icat edilen iki seviyeli bir biçimsel gramer olan bir biçimcilik kullanılarak tanımlandı. Van Wijngaarden gramerleri, belirli bir ALGOL 68 programını tanıyacak sonsuz sayıda prodüksiyon oluşturmak için bağlamdan bağımsız bir gramer kullanır; özellikle, diğer birçok programlama dilinde teknik standartların anlambilim olarak etiketlendiği ve belirsizliğe yatkın doğal dil düzyazı ile ifade edilmesi ve daha sonra derleyicilere biçimsel dil ayrıştırıcısına eklenmiş geçici kod olarak uygulanması gereken türden gereksinimleri ifade edebilirler. .

. . . C tarafından benimsenen tip kompozisyon şeması, Algol 68'e hatırı sayılır miktarda borçludur, ancak bu belki de Algol'un taraftarlarının onaylayacağı bir biçimde ortaya çıkmamıştır. Algol'dan yakaladığım ana fikir, atomik türlere (yapılar dahil) dayalı, diziler, işaretçiler (referanslar) ve işlevler (prosedürler) şeklinde oluşan bir tür yapısıydı. Algol 68'in sendika ve alçı kavramı da daha sonra ortaya çıkan bir etkiye sahipti. Dennis Ritchie Nisan 1993.

Gerçek azınlık raporlarının 1970'ten alıntıları: "[. . . ] Yeterli bir programlama aracından, programcıya işinin en zor yönlerinde yapısal olarak yardımcı olması her zamankinden daha fazla istenecektir, yani. karmaşık programların güvenilir şekilde oluşturulmasında. Bu bakımdan, burada dilin nasıl önerildiğini göremiyoruz. [Algol68] ileriye doğru atılmış önemli bir adımdır: tam tersine, programcının görevine ilişkin örtük görüşünün, diyelim ki on yıl önceki ile hemen hemen aynı olduğunu hissediyoruz. Bu, bir programlama aracı olarak kabul edildiğinde, dilin modası geçmiş olarak görülmesi gerektiği sonucunu bize zorlar. [. . . ] " İmza: Dijkstra, Duncan, Hoare, Randell, Seegmueller, Turski, Woodger . Jan V. Garwick ile 23 Aralık 1968'de.