Ciao (dasturlash tili) - Ciao (programming language)

Ciao
Ciao dasturlash tili uchun logotip.png
ParadigmaMantiq, funktsional, modulli, ob'ektga yo'naltirilgan
Birinchi paydo bo'ldi1984; 36 yil oldin (1984)
OSO'zaro faoliyat platforma (Unix, Mac OS X, Windows )
LitsenziyaGPL, LGPL
Veb-saytwww.ciao-lang.org
Ta'sirlangan
Prolog

Ciao umumiy maqsad dasturlash tili qaysi qo'llab-quvvatlaydi mantiq, cheklash, funktsional, yuqori tartib va ob'ektga yo'naltirilgan dasturlash uslublar. Uning asosiysi dizayn maqsadlari baland ta'sirchan kuch, kengaytirilishi, xavfsizlik, ishonchlilik va samarali ijro.[1]

Til xususiyatlari

Ciao to'liq etkazib beradi Prolog tizim (qo'llab-quvvatlovchi ISO -Prolog), deklarativ pastki to'plamlar va Prolog kengaytmalari, funktsional dasturlash (shu jumladan dangasa baholash ), yuqori darajali (abstrakt abstraktlar bilan), cheklash dasturlash va ob'ektlar, shuningdek, atamalar (yozuvlar), qat'iyatlilik, bir nechta nazorat qoidalari (birinchi navbatda qidirish, takroriy chuqurlashtirish, ...), bir vaqtda (iplar / dvigatellar), tarqatilgan ijro (agentlar) va parallel ijro. Kutubxonalar, shuningdek, WWW dasturlarini, soketlarini, tashqi interfeyslarini qo'llab-quvvatlaydi (C, Java, TclTk, relyatsion ma'lumotlar bazalari va boshqalar) va boshqalar.

Ciao kengaytiriladigan modulli dizayni bilan yadroni ustiga qurilgan bo'lib, tilni cheklash va kengaytirishga imkon beradi - bu tilni yaratish tili sifatida qaralishi mumkin. Ushbu cheklovlar va kengaytmalar har bir modulda alohida ravishda faollashtirilishi mumkin, shunda bir nechta kengaytmalar turli xil modullar uchun bitta dasturda mavjud bo'lishi mumkin.

Xavfsiz va ishonchli dasturlarni ishlab chiqish

Ciao-da katta dasturlash quyidagilar orqali qo'llab-quvvatlanadi:

  • Sog'lom modul / ob'ekt tizimi. Bu modulga asoslangan alohida / qo'shimcha ravishda kompilyatsiyani ta'minlaydi (bu makiyajlarsiz avtomatik ravishda amalga oshiriladi).
  • Dastur xususiyatlarini (texnik shartlarini) e'lon qilish uchun birlashtirilgan tasdiqlash tili. Bunga turlar, rejimlar, qat'iyatlilik, muvaffaqiyatsizlik, xarajatlar (vaqt, xotira) va boshqalar kiradi.
  • Avtomatik xulosa chiqarish va bunday tasdiqlarni statik / dinamik tekshirish (shu jumladan birlik sinovlari).

Ciao kichik dasturlashni qo'llab-quvvatlaydi: kompilyator kichik bajariladigan fayllarni ishlab chiqarishga qodir (faqat dastur tomonidan ishlatilgan dasturlarni o'z ichiga oladi) va tarjimon skriptlarni qo'llab-quvvatlaydi.

The atrof-muhit O'rnatiladigan manba darajasida tuzatuvchi va bir qator ijro vizualizatsiya vositalari bilan klassik yuqori darajadagi va rivojlangan emacsinterface-ni o'z ichiga oladi.

Ciao oldingi protsessori statik nosozliklarni tuzatishni va tekshirishni tasdiqlashni tasdiqlashni va manbadan dasturga o'tkazishni optimallashtirishni qo'llab-quvvatlaydi. Ushbu vazifalar Ciaopp tomonidan amalga oshiriladi, alohida tarqatiladi).

Avtomatik hujjatlar

Ciao avtomatik hujjat ishlab chiqaruvchisi lpdoc-ni o'z ichiga oladi. (Ciao) tasdiqlari va mashinada o'qiladigan dasturlar bilan bezatilgan dasturlarni qayta ishlaydi va ko'plab formatlarda qo'llanmalarni, shu jumladan HTML, pdf, texinfo, info, man va boshqalarni yaratadi, shuningdek on-layn yordam, ascii READMEfiles, qo'llanmalar (ma'lumot) indekslari uchun yozuvlarni yaratadi. , WWW, ...) va tarqatish saytlarini saqlaydi.

Portativlik va samaradorlik

Ciao kompilyatori (yuqori darajadagi qobiqdan tashqarida ishlatilishi mumkin) arxitekturadan mustaqil va yakka holda bajariladigan dasturlarning bir nechta shakllarini yaratadi, ular tezkorlik, samaradorlik va bajariladigan hajm bilan ishlaydi, ular boshqa yuqori darajadagi tillar bilan umuman raqobatdosh, xususan tijorat bilan va akademik Prolog / CLP tizimlari. Modullarni ixcham bayt kodi yoki C manba fayllariga to'plash va ularni statik, dinamik yoki avtomatik ravishda yuklash mumkin.

Qo'shimcha o'qish

  • Manuel V. Hermenegildo; va boshq. "Ciao va uning dizayn falsafasiga umumiy nuqtai". arXiv:1102.5497.
  • Ciao rivojlanish jamoasi. "Ciao System Home".
  • Enriko Pontelli (tahrir). "CIAO multiparadigma tili va dasturini ishlab chiqish muhiti".
  • Kei Devis, Yorg Strignits. "Ob'ektga yo'naltirilgan tillarda multiparadigma dasturlash: MPOOL'07 ustaxonasi bo'yicha joriy tadqiqot hisoboti". ECOOP'07 Ob'ektga yo'naltirilgan texnologiyalar bo'yicha 2007 yilgi konferentsiya materiallari.

Adabiyotlar

  1. ^ "Ciao tizimi". ciao-lang.org. Olingan 2017-08-12.