کلوژر

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
کلوژر
Clojure logo.svg
پارادایم تابعی
طراحی‌شده توسط ریچ هیکی
ظهوریافته در ۲۰۰۷؛ ۱۰ سال پیش (۲۰۰۷)
۱٫۸ [۱] / ۱۹ ژانویه، ۲۰۱۶؛ ۲۰ ماه پیش (۲۰۱۶-۰۱-19)
dynamic, strong
سکو JVM, CLR, جاوااسکریپت
پروانه پروانه همگانی اکلیپس
.clj, .cljs, .cljc, .edn
وب‌گاه clojure.org

Clojure Programming در ویکی‌کتاب (انگلیسی)

کلوژر (به انگلیسی: Clojure) گویشی از زبان برنامه‌نویسی لیسپ است که توسط ریچ هیکی ایجاد شده است. این زبان، یک زبان همه‌منظوره تابعی است[۶].

کد کلوژر به بایت‌کد ماشین مجازی جاوا کامپایل می‌شود[۷]، و بنابراین می‌توانید از کتابخانه‌های جاوا استفاده کند.

برنامه‌نویسی هم‌روند[ویرایش]

اکثر زبان‌های مرسوم، ویژگی‌های پایه‌ای هم‌روندی، یعنی ریسمان‌ها و قفل‌ها را در اختیار می‌گذارند. زبان‌هایی مانند جاوا، تعدادی کتابخانه کمکی نیز برای کنترل هم‌روندی اضافه می‌کنند، ولی تغییری اساسی در چگونگی طراحی برنامه‌های همروند ایجاد نمی‌کنند، و تنها میزان کد مورد نیاز را کم می‌کنند[۸].

کلوژر به‌صورت اساسی از همه‌ی لحاظها متفاوت است. کلوژر ابزارهای اولیه، ریسمان و قفل، را در اختیار نمی‌گذارد. در عوض، مدل‌های برنامه‌نویسی هم‌روند در کلوژر کاملاً متفاوت است بطوری‌که نیازی به ریسمان‌ها و قفل‌ها نیست[۸].

به علت اینکه داده‌ساختارهای اصلی زبان تغییرناپذیر هستند، می‌توان آن‌ها را بین ریسمان‌های اجرا به اشتراک گذاشت[۹].

مثال‌ها[ویرایش]

Hello World:

(println "Hello world!")

تعریف یک تابع:

(defn square [x]
  (* x x))
ریچ هیکی در سان فرانسیسکو

پیوند به بیرون[ویرایش]

منابع[ویرایش]