کلوژر
کلوژر (به انگلیسی: Clojure) گویشی از زبان برنامهنویسی لیسپ است که توسط ریچ هیکی ایجاد شدهاست. این زبان، یک زبان همهمنظوره تابعی است.
پارادایم برنامهنویسی | تابعی |
---|---|
طراحی شده توسط | ریچ هیکی |
ظهوریافته در | ۲۰۰۷ |
انتشار پایدار | ۱٫۸
۱۹ ژانویه ۲۰۱۶ |
dynamic, strong | |
بنسازه رایانش | JVM, CLR, جاوااسکریپت |
پروانه | پروانه همگانی اکلیپس |
.clj, .cljs, .cljc, .edn | |
وبگاه | |
متأثر از | |
سی پلاسپلاس, سی شارپ, لیسپ معمولی, ارلنگ, هسکل, متمتیکا, امال, پرولوگ, اسکیم, جاوا, راکت, روبی | |
تأثیر گذاشته بر | |
الیکسیر, هایی, پیکسی, راین | |
کد کلوژر به بایتکد ماشین مجازی جاوا کامپایل میشود، و بنابراین میتوانید از کتابخانههای جاوا استفاده کند.
برنامهنویسی همروند
اکثر زبانهای مرسوم، ویژگیهای پایهای همروندی، یعنی ریسمانها و قفلها را در اختیار میگذارند. زبانهایی مانند جاوا، تعدادی کتابخانه کمکی نیز برای کنترل همروندی اضافه میکنند، ولی تغییری اساسی در چگونگی طراحی برنامههای همروند ایجاد نمیکنند، و تنها میزان کد مورد نیاز را کم میکنند.
کلوژر بهصورت اساسی از همهٔ لحاظها متفاوت است. کلوژر ابزارهای اولیه، ریسمان و قفل، را در اختیار نمیگذارد. در عوض، مدلهای برنامهنویسی همروند در کلوژر کاملاً متفاوت است بطوریکه نیازی به ریسمانها و قفلها نیست.
به علت اینکه دادهساختارهای اصلی زبان تغییرناپذیر هستند، میتوان آنها را بین ریسمانهای اجرا به اشتراک گذاشت.
مثالها
(println "Hello world!")
تعریف یک تابع:
(defn square [x]
(* x x))
پیوند به بیرون
منابع
- ↑ "Index of /maven2/org/clojure/clojure/1.8.0/". central.maven.org. 2015-06-30. Archived from the original on 23 January 2016. Retrieved 2015-06-30.
- ↑ "Rich Hickey Q&A on Code Quarterly". Retrieved 2016-05-08.
- ↑ "Rich Hickey's Amazon Bookshelf of books that influenced Clojure". Retrieved 2016-05-08.
- ↑ Bonnaire-Sergeant, Ambrose (2012). A Practical Optional Type System for Clojure (Thesis). The University of Western Australia.
- ↑ "Clojure Programming" (PDF). Retrieved 2013-04-30.
- ↑ دولوپر ورکز آیبیام - زبان برنامهنویسی کلوژر
- ↑ سایت کلوژر - میزبانیشده بر ماشین مجازی جاوا
- ↑ دولوپر ورکز آیبیام - کلوژر و همروندی
- ↑ سایت کلوژر - برنامهنویسی همروند