هل Clojure أقرب إلى المخطط أو lisp المشترك من منظور المبتدئين؟ [مغلق

StackOverflow https://stackoverflow.com/questions/1412981

  •  06-07-2019
  •  | 
  •  

سؤال

إذا أردت أن أتعلم clojure ، هل يجب أن أبدأ بمخطط التعلم أو LISP المشترك؟

أم أن Clojure مختلف بما فيه الكفاية عن كلاهما ، يجب أن أبدأ فقط في تعلم clojure في حد ذاته؟

هل كانت مفيدة؟

المحلول

سيكون من مصلحتك أن تتعلم الثلاثة ، إذا كان يمكنك فقط اختيار أي واحد هو الأفضل لتلبية احتياجاتك. الثلاثة لديهم نقاط القوة والضعف الخاصة بهم.

يشبه Clojure بشكل غامض مخططًا لأنه لغة وظيفية في الغالب وهي أ LISP1. يستعير Clojure أيضًا الأشياء من LISP المشتركة ، مثل Multimethods و Macros ، والأشخاص دائمًا ينقلون الأشياء الشائعة الرائعة إلى Clojure كمكتبات. كان منشئ Clojure هو نفسه متسلل شائع قبل كتابة clojure. يستعير Clojure الكثير من المصطلحات والاتفاقيات من المخطط و CL على حد سواء (ولكن له أيضًا نكهات خاصة به في العديد من المناطق).

لا يوجد الكثير من الأدب لـ Clojure في الوقت الحالي ، إنها لغة جديدة (هناك فقط كتاب واحد clojure حتى الآن). ولكن هناك الكثير من الكتب الموجه نحو المخطط ، مثل SICP و المخطط الصغير / المخطط المخضرم. هناك أيضًا كتب جيدة CL ، مثل PCL, ، واشياء أخرى عديدة.

لدى Lasps أيضًا الكثير من التاريخ ، ومن مصلحتك أن تفهم التاريخ ، لمعرفة أين ولماذا ينحرف Clojure عن ذلك إذا لم يكن هناك شيء آخر.

أوصي بالبدء في المخطط لأنه أبسط لغة من الثلاثة وبالتالي أسهل في التعلم. ثم اشبه في CL و Clojure حتى يكون لديك مقبض على الأشياء ، ثم انتقل إلى أي من الاثنين الذي تنجذب إليه.

نصائح أخرى

لأغراضك ، أعتقد أنك آمن للبدء في تعلم clojure. لا ينبغي أن تكون الاختلافات بين Lisp و Scheme (و Clojure نفسها لهذه المسألة) مصدر قلق خاصة إذا كنت قد بدأت للتو في التعلم.

كانت أول تجربة تعليمية LISP هي مع Scheme ، لم أتطرق إلى Lisp المشتركة (شعرت أنها كانت معقدة للغاية) ، وأنا الآن أبدأ في Clojure.

لقد استخدمت مخطط Dorai Sitaram الخاص بـ Dorai Sitaram لتعلم مخطط التعلم وحصلت على حد بعيد على الرغم من أنني لم أجد نفسي أبدًا أرغب في استخدام مخطط في مشاريع حقيقية.

Clojure ، لأنه يزعم أنه يعطي وصولًا لطيفًا ونظيفًا إلى الكون الضخم من مكتبات J2Se/J2EE ، من ناحية أخرى ، يشجعني على إعادة تعلم هذه لهجة Lisp لأنها قد تكون في النهاية ذات استخدام عملي.

بالنسبة إلى الشخص الذي يبدأ به ، أود أن أقول إن المخطط أبسط ، وبالتالي قد يكون أكثر ملاءمة للبدء به. من ناحية أخرى ، إذا كان لديك معرفة جيدة Java و Python ، فقد لا تمانع في الغوص مباشرة إلى clojure لأنه ، على عكس المخطط ، يحتوي على عناصر من هذه اللغتين الأخريين (مثل هياكل البيانات التي تذكرنا بالبيثون و jvm/java api التعليميات) وقد تساعد التضاريس المألوفة.

منذ أن جئت من الثلاثة (Java ، Python ، Scheme) ، أجد نفسي في وضع جيد لتقدير ما يجلبه Clojure على الطاولة المختلفة عن المخطط. أنا لست مخططًا من ذوي الخبرة ، لكنني أقول إنه إذا بدأت على الفور مع Clojure ، فستظل تحصل على تجربة LISP العامة ، لذلك لن تفقد ذلك بالتأكيد عن طريق التخطيط.

يعتمد ذلك على ما إذا كنت تريد التركيز على التعلم أو اللعب. إذا كنت ترغب حقًا في دراسة LISP ، فإن المخطط هو مكان جيد للبدء. إذا كنت تفضل اللعب وأنت تتعلم clojure هو أفضل.

في النهاية أعتقد أن Clojure قد تكون لغة تعليمية أفضل. إنه دعم للتزامن هو فتح العين حقًا. القليل من اللغات تجعل الأمر بسيطًا للغاية بالنسبة للمبتدئين في كتابة البرامج المتزامنة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top