کلوژر
| گونه | برنامهنویسی تابعی |
|---|---|
| منتشر شده در | ٢٠٠٧ |
| طراح(ها) | ریچ هیکی |
| آخرین نسخه پایدار | ١.٤ (۱۸ آوریل ۲۰۱۲) |
| تاثیر گرفته از | لیسپ معمولی، ارلنگ، هسکل، پرولوگ، امال، اسکیم، جاوا |
| اجازهنامه | پروانه همگانی اکلیپس |
| وبگاه | clojure.org |
کلوژر (به انگلیسی: Clojure) گویشی از زبان برنامهنویسی لیسپ است که توسط ریچ هیکی ایجاد شده است. این زبان، یک زبان همهمنظوره تابعی است[۱].
کد کلوژر به بایتکد ماشین مجازی جاوا کامپایل میشود[۲]، و بنابراین میتوانید از کتابخانههای جاوا استفاده کند.
محتویات |
برنامهنویسی همروند [ویرایش]
اکثر زبانهای مرسوم، ویژگیهای پایهای همروندی، یعنی ریسمانها و قفلها را در اختیار میگذارند. زبانهایی مانند جاوا، تعدادی کتابخانه کمکی نیز برای کنترل همروندی اضافه میکنند، ولی تغییری اساسی در چگونگی طراحی برنامههای همروند ایجاد نمیکنند، و تنها میزان کد مورد نیاز را کم میکنند[۳].
کلوژر بهصورت اساسی از همهی لحاظها متفاوت است. کلوژر ابزارهای اولیه، ریسمان و قفل، را در اختیار نمیگذارد. در عوض، مدلهای برنامهنویسی همروند در کلوژر کاملا متفاوت است بطوریکه نیازی به ریسمانها و قفلها نیست[۳].
به علت اینکه دادهساختارهای اصلی زبان تغییرناپذیر هستند، میتوان آنها را بین ریسمانهای اجرا به اشتراک گذاشت[۴].
مثالها [ویرایش]
(println "Hello world!")
تعریف یک تابع:
(defn square [x] (* x x))