کلوژر

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
کلوژر
Clojure
Clojure-icon.png
طراحی‌شده توسط ریچ هیکی
ظهوریافته در ٢٠٠٧
١.٤ / ۱۸ آوریل، ۲۰۱۲؛ ۲ سال پیش (۲۰۱۲-۰۴-18)
پروانه پروانه همگانی اکلیپس
وب‌گاه clojure.org

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

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

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

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

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

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

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

Hello World:

(println "Hello world!")

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

(defn square [x]
  (* x x))

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

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