Paul Graham yeni programlama dili Bel'i duyurdu

Bel dili Bel dilinde yazılmıştır.

Paul Graham yeni programlama dili Bel'i duyurdu
1960 yılında John McCarthy, yeni bir programlama dili türü olan Lisp'i tanımladı. "Yeni tür" diyorum çünkü Lisp sadece yeni bir dil değil, aynı zamanda dilleri tanımlamanın yeni bir yoluydu.

Lisp'i tanımlamak için, bir tür aksiyom olan küçük bir dizi ifadeyle başladı ve daha sonra bunları dilin kendisi için bir yorumlayıcı yazmak için kullandı.

Bilinen anlamda bir programlama dilini (bir bilgisayara ne yapması gerektiğini söylemek için kullanılan bir dili) tanımlamak için yola çıkmadı. 1960 yılındaki çalışmasında Lisp, Turing Makinesi'ne benzer resmi bir hesaplama modeli olarak anlaşıldı. McCarthy, yüksek lisans öğrencisi Steve Russell önerene kadar bunu bilgisayarlarda kullanmayı düşünmedi.

1960 yılındaki Lisp, programlama dillerinde ortak olan özelliklere sahip değildi. Örneğin hiçbir sayı, hata veya G/Ç yoktu. Dolayısıyla bilgisayarları programlamak için kullanılan dillerin temeli olarak Lisp'i kullanan kişilerin bu özellikleri kendilerinin eklemesi gerekiyordu. Ve bunu aksiyomatik yaklaşımı terk ederek yaptılar.

Böylece, Lisp'in gelişimi iki ve görünüşte oldukça bağımsız aşamada ilerledi: 1960 tarihli bir makalede tanıtılan resmi bir aşama ve dilin bilgisayarlarda çalışacak şekilde uyarlandığı ve genişletildiği bir uygulama aşaması. Uygulanan fırsatların sayısıyla ölçülürse asıl çalışma uygulama aşamasında gerçekleşti. Common Lisp'e çevrilen 1960 Lisp'i yalnızca 53 satır içeriyor. Sadece ifadeleri yorumlamak için gerekeni yapar. Geriye kalan her şey uygulama aşamasında eklendi.

Benim hipotezim, zorlu geçmişine rağmen Lisp'in gelişiminin iki aşamada gerçekleşmesinden yararlandığıdır; Bir dili, tercümanını yazarak tanımlamaya yönelik orijinal alıştırmanın Lisp'e en iyi niteliklerini kazandırdığını. Eğer öyleyse, neden daha ileri gitmiyoruz?

Bel Bu şu soruyu cevaplama çabasıdır: Ya resmi aşamadan uygulama aşamasına erken bir aşamada geçmek yerine, bu geçiş mümkün olduğu kadar geç yapılsaydı? Tam bir programlama diline yakın bir şey elde edene kadar aksiyomatik yaklaşımı kullanmaya devam ederseniz, hangi aksiyomlara ihtiyacınız olacak ve ortaya çıkan dil neye benzeyecek?

Bel'in ne olduğu ve ne olmadığı konusunda açık olmak istiyorum. Bel, McCarthy'nin 1960 Lisp'inden çok daha fazla özelliğe sahip olmasına rağmen hâlâ resmi aşamasında olan bir üründür. 1960 tarihli bir makalede anlatılan Lisp gibi, programlamak için kullanabileceğiniz bir dil değildir. Bunun temel nedeni, tıpkı McCarthy'nin Lisp'i gibi verimliliği umursamamasıdır. Bel'e bir şey eklediğimde verimli bir uygulama sağlamaya çalışmadan eklemenin anlamını anlatıyorum.

Ne için? Resmi aşamayı neden uzatalım? Cevaplardan biri aksiyomatik yaklaşımın bizi nereye götürebileceğini görmektir ki bu başlı başına ilginç bir çalışmadır. Bilgisayarlar olmasını istediğimiz kadar güçlü olsaydı diller nasıl görünürdü?

Ancak kısıtlamalar ekleyerek verimli bir Bel tabanlı uygulama yazmanın da mümkün olduğuna inanıyorum. İfade gücü, netliği ve verimliliği olan bir dil istiyorsanız, ters yöne gitmek yerine ifade gücü ve netliğiyle başlayıp ardından kısıtlamalar eklemeniz daha iyi olabilir.

Dolayısıyla Bel'e dayalı bir uygulama yazmayı denemek istiyorsanız devam edin. İlk kullananlardan biri olacağım.

Sonuçta önceki lehçelerden bazı şeyleri yeniden ürettim. Ya tasarımcıları doğru anlamış ya da daha önce kullanılan lehçelerden etkilenmişler, doğru cevabı göremiyorum; bunu zaman gösterecek. Ayrıca Lisp geleneklerinden çok da uzaklaşmamaya çalıştım. Bu, eğer Lisp geleneklerinden uzaklaşıldığını görürseniz, bunun bir nedeni olabileceği anlamına gelir.

Dilin devam eden açıklaması burada.

Çeviri için teşekkürler: Denis Mitropolsky

PS

Kaynak: habr.com

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster