کلوژر
کلوژر (به انگلیسی: Clojure) گویشی از زبان برنامهنویسی لیسپ است که توسط ریچ هیکی ایجاد شدهاست. این زبان، یک زبان همهمنظوره تابعی است[6].
الگو برنامهنویسی | تابعی |
---|---|
طراحی شده توسط | ریچ هیکی |
ظهوریافته در | ۲۰۰۷ |
انتشار پایدار | |
dynamic, strong | |
بنسازه رایانش | JVM, CLR, جاوااسکریپت |
پروانه | پروانه همگانی اکلیپس |
.clj, .cljs, .cljc, .edn | |
وبگاه | |
متأثر از | |
سی پلاسپلاس,[2] سی شارپ, لیسپ معمولی, ارلنگ, هسکل, متمتیکا,[3] امال, پرولوگ, اسکیم, جاوا, راکت,[4] روبی[5] | |
تأثیر گذاشته بر | |
الیکسیر, هایی, پیکسی, راین | |
کد کلوژر به بایتکد ماشین مجازی جاوا کامپایل میشود[7]، و بنابراین میتوانید از کتابخانههای جاوا استفاده کند.
برنامهنویسی همروند
اکثر زبانهای مرسوم، ویژگیهای پایهای همروندی، یعنی ریسمانها و قفلها را در اختیار میگذارند. زبانهایی مانند جاوا، تعدادی کتابخانه کمکی نیز برای کنترل همروندی اضافه میکنند، ولی تغییری اساسی در چگونگی طراحی برنامههای همروند ایجاد نمیکنند، و تنها میزان کد مورد نیاز را کم میکنند[8].
کلوژر بهصورت اساسی از همهٔ لحاظها متفاوت است. کلوژر ابزارهای اولیه، ریسمان و قفل، را در اختیار نمیگذارد. در عوض، مدلهای برنامهنویسی همروند در کلوژر کاملاً متفاوت است بطوریکه نیازی به ریسمانها و قفلها نیست[8].
به علت اینکه دادهساختارهای اصلی زبان تغییرناپذیر هستند، میتوان آنها را بین ریسمانهای اجرا به اشتراک گذاشت[9].
پیوند به بیرون
منابع
- "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.
- دولوپر ورکز آیبیام - زبان برنامهنویسی کلوژر
- سایت کلوژر - میزبانیشده بر ماشین مجازی جاوا
- دولوپر ورکز آیبیام - کلوژر و همروندی
- سایت کلوژر - برنامهنویسی همروند