Pol Graham yangi Bel dasturlash tilini e'lon qildi

Bel tili bel tilida yozilgan.

Pol Graham yangi Bel dasturlash tilini e'lon qildi
1960 yilda Jon Makkarti dasturlash tilining yangi turi bo'lgan Lispni tasvirlab berdi. Men “yangi tip” deyapman, chunki Lisp shunchaki yangi til emas, balki tillarni tasvirlashning yangi usuli edi.

Lispni aniqlash uchun u kichik bayonotlar to'plamidan, bir xil aksiomalardan boshladi, keyin u tilning o'zi uchun tarjimon yozish uchun foydalangan.

U dasturlash tilini odatiy ma'noda - kompyuterga nima qilish kerakligini aytadigan tilni tasvirlashni maqsad qilmagan. 1960 yilgi ishida Lisp Tyuring mashinasiga o'xshash hisoblashning rasmiy modeli sifatida tushunilgan. Makkarti uning aspiranti Stiv Rassell buni taklif qilmaguncha, uni kompyuterda ishlatish haqida o'ylamagan.

1960 yilda Lisp dasturlash tillari uchun umumiy xususiyatlarga ega emas edi. Misol uchun, raqamlar, xatolar yoki kiritish/chiqarishlar yo'q edi. Shunday qilib, Lisp-ni kompyuterlarni dasturlashda ishlatiladigan tillar uchun asos sifatida ishlatgan odamlar bu xususiyatlarni o'zlari qo'shishlari kerak edi. Va ular buni aksiomatik yondashuvdan voz kechish orqali qildilar.

Shunday qilib, Lispning rivojlanishi ikki bosqichda davom etdi - va juda mustaqil bo'lib ko'ringan: 1960 yilgi maqolada kiritilgan rasmiy bosqich va til kompyuterlarda ishlash uchun moslashtirilgan va kengaytirilgan amalga oshirish bosqichi. Amalga oshirilgan imkoniyatlar soni bilan o'lchanadigan bo'lsa, asosiy ish amalga oshirish bosqichida amalga oshirildi. Common Lisp tiliga tarjima qilingan 1960-yildagi Lisp atigi 53 satrdan iborat. U faqat iboralarni izohlash uchun zarur bo'lgan narsani bajaradi. Qolgan hamma narsa amalga oshirish bosqichida qo'shildi.

Mening farazim shundan iboratki, o'zining murakkab tarixiga qaramay, Lisp uning rivojlanishi ikki bosqichda sodir bo'lganligidan foyda ko'rgan; Tilning tarjimonini yozish orqali aniqlashning dastlabki mashqi Lispga o'zining eng yaxshi fazilatlarini berdi. Agar shunday bo'lsa, nega oldinga bormaysiz?

bel savolga javob berishga urinishdir: agar rasmiy bosqichdan dastlabki bosqichda ijro etilish bosqichiga o'tish o'rniga, bu o'tish imkon qadar kechroq amalga oshirilsa nima bo'ladi? Agar siz to'liq dasturlash tiliga yaqin narsaga ega bo'lguningizcha aksiomatik yondashuvdan foydalanishda davom etsangiz, sizga qanday aksiomalar kerak bo'ladi va natijada til qanday ko'rinishga ega bo'ladi?

Men Bel nima ekanligini va nima emasligini aniq aytmoqchiman. Garchi u McCarthy's 1960 Lisp-dan ko'ra ko'proq xususiyatlarga ega bo'lsa-da, Bel hali ham rasmiy bosqichdagi mahsulotdir. 1960 yilgi maqolada tasvirlangan Lisp singari, u dasturlash uchun foydalanishingiz mumkin bo'lgan til emas. Asosan, chunki, Makkartining Lisp kabi, u samaradorlik haqida qayg'urmaydi. Belga biror narsa qo'shganimda, men samarali amalga oshirishga harakat qilmasdan qo'shimchaning ma'nosini tasvirlayman.

Sabab? Nima uchun rasmiy bosqichni uzaytirish kerak? Javoblardan biri aksiomatik yondashuv bizni qaerga olib borishini ko'rishdir, bu o'z-o'zidan qiziqarli mashqdir. Agar kompyuterlar biz xohlagan darajada kuchli bo'lsa, tillar qanday ko'rinishga ega bo'lar edi?

Lekin, shuningdek, cheklovlarni qo'shish orqali Belga asoslangan samarali dasturni yozish mumkinligiga ishonaman. Agar siz ekspressiv kuch, ravshanlik va samaradorlikka ega bo'lgan tilni istasangiz, buni ifoda kuchi va ravshanligidan boshlab, teskari yo'nalishda emas, balki cheklovlar qo'shishga arziydi.

Shunday qilib, agar siz Belga asoslangan dastur yozishni xohlasangiz, davom eting. Men birinchi foydalanuvchilardan biri bo'laman.

Oxir-oqibat, men oldingi shevalardan ba'zi narsalarni takrorladim. Yo ularning dizaynerlari buni to‘g‘ri tushunishganmi yoki ilgari qo‘llanilgan lahjalar ta’sirida bo‘lgani uchun men to‘g‘ri javobni ko‘rmayapman – buni vaqt ko‘rsatadi. Men ham Lisp konventsiyalaridan uzoqlashmaslikka harakat qildim. Bu shuni anglatadiki, agar siz Lisp konventsiyalaridan uzoqlashishni ko'rsangiz, buning sababi bo'lishi mumkin.

Bu erda tilning davomi tavsifi.

Tarjima uchun rahmat: Denis Mitropolskiy

PS

Manba: www.habr.com

a Izoh qo'shish