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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: کیان در 13 فروردین 1392، 12:28 ق‌ظ

عنوان: زبان برنامه نویسی Clojure
ارسال شده توسط: کیان در 13 فروردین 1392، 12:28 ق‌ظ
Clojure که closure (https://en.wikipedia.org/wiki/Closure_%28computer_science%29) تلفظ میشه، ورژنی است از LISP که توسط Rich Hickey (https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Rich_Hickey.jpg/330px-Rich_Hickey.jpg) ابداع شده و در دسته زبانهای functional general-purpose قرار می گیره. سینتکسش بر  S-expressions (https://en.wikipedia.org/wiki/S-expression) مبتنیه و نسخه پایدارش در March 1, 2013 با مجوز Eclipse Public (https://en.wikipedia.org/wiki/Eclipse_Public_License) منتشر شده.

ویژگی ها:
لینکهای مفیدی رو از صفحه زیر می تونید دنبال کنید:
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
عنوان: پاسخ : زبان برنامه نویسی Clojure
ارسال شده توسط: AmirrezaGhaderi در 16 فروردین 1392، 01:30 ق‌ظ
Clojure یک Lisp هست.
همین جمله‌ی بالا خیلی حرف ها برای گفتن داره! (برای کسانی که درک میکنن!)
یکی از بهترین زبان‌هایی هست که تاحالا باهاش آشنا شدم.
عنوان: پاسخ : زبان برنامه نویسی Clojure
ارسال شده توسط: shervinkh در 16 فروردین 1392، 10:17 ق‌ظ
Clojure یک lisp هست به نظر من جمله غلطیه.

Lisp و ML و Haskell و Clojure و Racket و Ruby و Scala و F# و .... همشون Functional Programming Language هستن.
عنوان: پاسخ : زبان برنامه نویسی Clojure
ارسال شده توسط: محمدرضا ح. در 17 فروردین 1392، 09:41 ب‌ظ
کدنویسی توی هیچ زبان تابعی به اندازه Haskell و در زبانهای مفسری به اندازه Perl حال نمیده. در زبانهای کامپایل شونده هم C/C++ دیگه یه چیز دیگست ;D .

این زبان چطور هست؟ آیا مثل هسکل صاف و روون هست کدنویسیش یا این که پر دردسر تره؟ (البته از این که عضو خانواده Lisp هست میشه نتیجه گرفت که پر از پرانتز باشه ;D) .
عنوان: پاسخ : زبان برنامه نویسی Clojure
ارسال شده توسط: کیان در 28 اردیبهشت 1392، 09:52 ب‌ظ
Clojure یک lisp هست به نظر من جمله غلطیه.
ویکیپدیا: Clojure is a dialect of the Lisp programming language
عنوان: پاسخ : زبان برنامه نویسی Clojure
ارسال شده توسط: کیان در 18 تیر 1392، 12:10 ب‌ظ
Inside Clojure: مصاحبه Brian Beckman با خالق این زبان، Rich Hickey (http://www.youtube.com/watch?v=wASCH_gPnDw)
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
عنوان: پاسخ : زبان برنامه نویسی Clojure
ارسال شده توسط: Borderliner در 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 کار کرده باشید، متوجه میشید که هفتاد درصد وقتتون رو فقط صرف این میکنید که نوع داده هارو مشخص کنید و به همدیگه تبدیلشون کنید. هرچند تا حدی از وجود باگ جلوگیری میکنه، اما خودش هم نوعی سردرگمی ایجاد میکنه.