کلوژر

کلوژر
پارادایم برنامه‌نویسیتابعی
طراحی شده توسطریچ هیکی
ظهوریافته در۲۰۰۷ (۲۰۰۷-خطا: زمان نامعتبر}})
انتشار پایدار
۱٫۸ [۱] / ۱۹ ژانویه ۲۰۱۶ (۲۰۱۶-19}})
dynamic, strong
بن‌سازه رایانشJVM, CLR, جاوااسکریپت
پروانهپروانه همگانی اکلیپس
.clj, .cljs, .cljc, .edn
وبگاه
متأثر از
سی پلاس‌پلاس,[۲] سی شارپ, لیسپ معمولی, ارلنگ, هسکل, متمتیکا,[۳] ام‌ال, پرولوگ, اسکیم, جاوا, راکت,[۴] روبی[۵]
تأثیر گذاشته بر
الیکسیر, هایی, پیکسی, راین

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

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

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

    برنامه‌نویسی هم‌روند

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

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

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

    مثال‌ها

    Hello World:

    (println "Hello world!")
    

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

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

    پیوند به بیرون

    منابع

    1. "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.
    2. "Rich Hickey Q&A on Code Quarterly". Retrieved 2016-05-08.
    3. "Rich Hickey's Amazon Bookshelf of books that influenced Clojure". Retrieved 2016-05-08.
    4. Bonnaire-Sergeant, Ambrose (2012). A Practical Optional Type System for Clojure (Thesis). The University of Western Australia.
    5. "Clojure Programming" (PDF). Retrieved 2013-04-30.
    6. دولوپر ورکز آی‌بی‌ام - زبان برنامه‌نویسی کلوژر
    7. سایت کلوژر - میزبانی‌شده بر ماشین مجازی جاوا
    8. 1 2 دولوپر ورکز آی‌بی‌ام - کلوژر و هم‌روندی
    9. سایت کلوژر - برنامه‌نویسی هم‌روند