انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: زبان برنامه نویسی Clojure  (دفعات بازدید: 4275 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
زبان برنامه نویسی Clojure
« : 13 فروردین 1392، 12:28 ق‌ظ »
Clojure که closure تلفظ میشه، ورژنی است از LISP که توسط Rich Hickey ابداع شده و در دسته زبانهای functional general-purpose قرار می گیره. سینتکسش بر  S-expressions مبتنیه و نسخه پایدارش در March 1, 2013 با مجوز Eclipse Public منتشر شده.

ویژگی ها:
  • یک زبان برنامه نویسی تابعی است
  • مانند هسکل رویکرد lazy evaluation داره
  • مانند هسکل خالص نیست و به برنامه نویس تحت شرایط خاصی اجازه mutation/side effects رو می دهد.
  • بخشی از اکوسیستم Java/JVM محسوب میشه که به شما اجازه دسترسی به بزرگترین محدوده ابزارهاو کتابخانه ها رو میده. بنابراین در عرصه تجاری جایی که جاوا کار کنه از این زبان نیز میشه استفاده کرد.
لینکهای مفیدی رو از صفحه زیر می تونید دنبال کنید:
https://en.wikibooks.org/wiki/Clojure_Programming

لیست متغیرها وووو: http://clojuredocs.org/quickref/Clojure%20Core
این ویدیو رو ببینید: http://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey

اولین قدم شروع: www.clojure.org/getting_started
« آخرین ویرایش: 16 فروردین 1392، 01:39 ق‌ظ توسط کیان »

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
پاسخ : زبان برنامه نویسی Clojure
« پاسخ #1 : 16 فروردین 1392، 01:30 ق‌ظ »
Clojure یک Lisp هست.
همین جمله‌ی بالا خیلی حرف ها برای گفتن داره! (برای کسانی که درک میکنن!)
یکی از بهترین زبان‌هایی هست که تاحالا باهاش آشنا شدم.

آفلاین shervinkh

  • Full Member
  • *
  • ارسال: 197
  • جنسیت : پسر
  • An ENFP
    • سایت شخصی
پاسخ : زبان برنامه نویسی Clojure
« پاسخ #2 : 16 فروردین 1392، 10:17 ق‌ظ »
Clojure یک lisp هست به نظر من جمله غلطیه.

Lisp و ML و Haskell و Clojure و Racket و Ruby و Scala و F# و .... همشون Functional Programming Language هستن.
Gentoo KDE x86_64
Notebook:Asus N53SN
www.shervin.org

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : زبان برنامه نویسی Clojure
« پاسخ #3 : 17 فروردین 1392، 09:41 ب‌ظ »
کدنویسی توی هیچ زبان تابعی به اندازه Haskell و در زبانهای مفسری به اندازه Perl حال نمیده. در زبانهای کامپایل شونده هم C/C++ دیگه یه چیز دیگست ;D .

این زبان چطور هست؟ آیا مثل هسکل صاف و روون هست کدنویسیش یا این که پر دردسر تره؟ (البته از این که عضو خانواده Lisp هست میشه نتیجه گرفت که پر از پرانتز باشه ;D) .
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
پاسخ : زبان برنامه نویسی Clojure
« پاسخ #4 : 28 اردیبهشت 1392، 09:52 ب‌ظ »
Clojure یک lisp هست به نظر من جمله غلطیه.
ویکیپدیا: Clojure is a dialect of the Lisp programming language

آفلاین کیان

  • High Hero Member
  • *
  • ارسال: 2338
  • جنسیت : پسر
پاسخ : زبان برنامه نویسی Clojure
« پاسخ #5 : 18 تیر 1392، 12:10 ب‌ظ »
Inside Clojure: مصاحبه Brian Beckman با خالق این زبان، Rich Hickey
If you don't know much about Clojure and the general problems it aims to solve, well, watch and listen carefully to this great conversation with plenty of whiteboarding and outstanding questions. Expert to Expert simply rocks! Thank you for spending time with us, Rich! Clojure is great

آفلاین Borderliner

  • Full Member
  • *
  • ارسال: 115
  • جنسیت : پسر
  • macOS Sierra 10.12.6
    • Borderliner | GitHub
پاسخ : زبان برنامه نویسی Clojure
« پاسخ #6 : 18 امرداد 1395، 07:44 ب‌ظ »
Clojure یک lisp هست به نظر من جمله غلطیه.

Lisp و ML و Haskell و Clojure و Racket و Ruby و Scala و F# و .... همشون Functional Programming Language هستن.

Clojure یک گویش از خانواده زبانهای Lisp هست. Lisp در قدیم یک زبان برنامه نویسی یکتا بود که بهش میگفتن Lisp 1.5، ولی بعدتر زبانهای مشابه با ساختار مشابهی پدید اومدن. درحال حاضر زبانهای Common Lisp، Scheme و Clojure پرکاربردترین زیر شاخه های Lisp هستن.
تفاوت بین Clojure و دو زبان Common Lisp و Scheme اینه که Clojure روی JVM اجرا میشه، و یک کامپایل مشخص داره، درحالی که Common Lisp و Scheme فقط Standard هستن و کامپایلرهای متنوعی برای اینها وجود داره، از جمله Racket و Chicken و GNU Guile برای Scheme، و CLISP و SBCL و EmacsLisp (که مورد آخر زبان Scripting برنامه Emacs هستش). Lisp ها به طور عجیبی متنوع و زیادن، و همچنین ناسازگار باهم. برای همین خیلی سخت میتونن از Library های همدیگه استفاده کنن. Clojure با توجه به اینکه روی JVM اجرا میشه، ساختار یکپارچه تری نسبت به بقیه Lisp ها داره، و همچنین به توابعی که برای Java نوشته میشن، دسترسی داره.
یکی از خصوصیات مهم زبانهای خانواده Lisp، که شامل Clojure هم میشه، ساده بودن ساختار خود زبانه. Lisp در کل زبان ساده ای نیست، ولی همه چی یک شکل کار میکنه و Syntax عجیب غریب بهش اضافه نمیشه. یادمه قدیم که ++C میخوندم، وقتی خواستم وارد 14++C شم، انقد گیج شدم که کلا این زبان رو گذاشتم کنار، بیشتر فلسفی میشه تا کاربردی.
خصوصیت مهم بعدی، داشتن Macro های بسیار قویه. اینگونه که به زبان Lisp میگن "lisp is a programmable programming language"، چون بسیار منعطفه، و ساختار هایی که درون این زبان وجود نداره رو به راحتی میشه ساخت و مورد استفاده قرار داد. به هیچ وجه محدود نیستید.
نکته مهم بعدی، Dynamic typing بودنشه، که لازم نیست نوع داده هارو توش مشخص کنید. به نظرم نکته مثبتیه. اگه Java کار کرده باشید، متوجه میشید که هفتاد درصد وقتتون رو فقط صرف این میکنید که نوع داده هارو مشخص کنید و به همدیگه تبدیلشون کنید. هرچند تا حدی از وجود باگ جلوگیری میکنه، اما خودش هم نوعی سردرگمی ایجاد میکنه.
..::Borderliner::..