انتخاب بین زبان کلوژر و lisp

درود
دوستان من روبی کار میکنم ولی میخوام کنارش یه زبان دیگه هم یاد بگیرم خیلی از سینتکس lisp خوشم میاد حالا گفتم ببینم ارزش یادگیری داره و تحقیقی که کردم مثل اینکه کلوژر هم خیلی شبیه lisp

1 پسندیده

همه‌ی اینا lisp-based هستن و احتمالا خوشت بیاد. کلوژر برخلاف روبی که خیلی OO هست، فقط FP هست تا اونجا که میدونم. روی JVM اجرا میشه و threading میتونی استفاده کنی.

3 پسندیده

فکر میکنم clojure ارزش یادگیری بیشتری داشته باشه

تا اونجایی که من میدونم کلوژر ی نوع لیسپه

2 پسندیده

من کار با Nim رو شروع کردم اگر وجود کتابخونه خیلی واست مهم نیست چیز خوبیه :grinning:
هنوز بالغ نشده ولی خب برای تجربه بد نیس

قابلیت های macro اش رو از لیسپ گرفته

لیسپ، یه خانواده از زبانهاست (زبانی به نام lisp نداریم!) شامل Common Lisp (احتمالا منظور شما از لیسپ، این بود) و Clojure و یه سری زبانهای دیگه میشه:

کلوژر یک لیسپ مدرنه که دیزاین خیلی خوبی داره.
من با common lisp هم کار کردم، به خاطر قدیمی بودنش و اینکه implement کردن چیزهای جدید توی لیسپها خیلی راحته، یه کم شلوغ‌پلوغ شده و همه‌چی توش هست. این ویژگی رو زیاد دوست ندارم.
کلوژر، functional هست و این به نظرم یه ویژگی مثبته. روی JVM‌ ران میشه، پس به تمام اکوسیستم جاوا (و کاتلین و الکسیر اسکالا و…) دسترسی دارید. مثلا من الآن دارم یه نرم‌افزار گرافیکی مینویسم و با JavaFX کار میکنم برای ساخت GUI. البته کلوژر یه کامپایلر دیگه هم داره به نام clojurescript که کد javascript تولید میکنه (پس توی بروزر ران میشه) میتونید یه پروژه‌ی کامل با Clojure + ClojureScript بنویسید که backend+frontend باشه!

اگه میخواید لیسپ‌های دیگه رو امتحان کنید، Scheme خوبه. ویژگی مثبتش Tail Call Optimization هست (چیزی که توی clojure نمیشه زیاد روش حساب کرد، چون جاوا این قابلیت رو نداره)
و Racket از Scheme اومده و یه جورایی اسکیم‌مدرن به حساب میاد. (با اسکیم و رکت هم کار کردم)

اگه میخواید با خود Common Lisp کار کنید، انتخابهای زیادی برای کامپایلرش دارید، پیشنهاد من SBCL هست. به native code کامپایل میکنه و یه سری ویژگیها داره که توی کامپایلرهای دیگه‌ی لیسپ، وجود نداره.

یه انتخاب دیگه هم دارید به نام eLisp که اصلا زبان به‌درد‌بخوری نیست (مثلا namespace نداره!!!) و فقط به درد emacs میخوره. زبانیه که emacs باهاش نوشته شده و توسعه داده میشه. پلاگینها (mode)ی ایمکس با eLisp نوشته میشه و همین تبدیلش کرده به خفنترین ادیتور موجود.
اینو یه نگاه بندازید:

https://www.youtube.com/watch?v=cU6enj38bGA

مساله‌ی خیلی مهم اینه که اگه با یه Lisp کار کنید و یاد بگیریدش،‌ سویچ به لیسپهای دیگه کار سختی نیست.
خلاصه من #clojure رو پیشنهاد میکنم.

4 پسندیده

پویا جان فکر کنم حواست نبوده و به جای اسکالا نوشتی الکسیر

1 پسندیده

اتفاقا حواسم بود. مساله اینه که بلد نیستم :sweat_smile:

1 پسندیده

بلدی خوبم بلدی
الکی ادای نابلدها رو در نیار :joy:

1 پسندیده

آره الیکسیر روی ماشین مجازی ارلنگ هست نه جاوا. البته با این تفاوت که مستقیم تبدیل میکنه به کد ارلنگ بجای بایت‌کد مخصوص Beam.

2 پسندیده