জাভা থেকে ক্লোজার কীভাবে স্বাধীন?


13

ক্লোজার জগতে আমি বেশ নতুন। ক্লোজুর ইন্টারপ বৈশিষ্ট্যগুলির মাধ্যমে সকল জাভা গ্রন্থাগারে কারও কাছে সহজে প্রবেশাধিকার রয়েছে এই বিষয়টিটির আমি প্রশংসা করি, তবে আমি ভাবছিলাম যে ক্লোজার তার নিজের পায়ে কতটা দাঁড়িয়ে আছে।

অবশ্যই কিছু প্ল্যাটফর্ম রয়েছে যেমন অ্যান্ড্রয়েডের মতো, যেখানে জাভা সহ আন্তঃযোগিতা সবসময় প্রয়োজন হবে কারণ মূল লাইব্রেরিগুলি জাভায় লিখিত বা উন্মুক্ত রয়েছে। অধিকন্তু, ক্লোজুর স্ট্রিংগুলি জাভা স্ট্রিং, তাই আমি আশা করি যে স্ট্রিং ম্যানিপুলেশন লাইব্রেরিগুলি জাভা স্ট্রিং পদ্ধতিতে মোড়ক হিসাবে থাকবে।

তবে অন্যান্য কাজের জন্য আমি স্থানীয় ক্লোজার লাইব্রেরিগুলি কেন বিকাশ করা যায়নি তার কোনও কারণ দেখছি না। এইচটিটিপি, তারিখের ম্যানিপুলেশন, এক্সএমএল বিশ্লেষণ, টেম্প্লেটিং, জেএসএন সিরিয়ালাইজেশন এবং ডিসরিয়ালাইজেশন, ওআউথ, গণিত গ্রন্থাগার ইত্যাদির কথা ভাবেন।

সুতরাং আমার প্রশ্নটি হ'ল:

ক্লোজার কীভাবে জাভা ইকোসিস্টেমের থেকে স্বাধীন হয়ে উঠেছে? এর বেশিরভাগ এবং অন্যান্য কাজের জন্য এর নিজস্ব আইডোম্যাটিক লাইব্রেরি আছে?


ক্লোজার সিসিআরআর । নেট ফ্রেমওয়ার্কের একটি ক্লোজার বন্দর।
এসএল বার্থ - মনিকা

1
আমার স্বাদের জন্য, ক্লোজার কোরের বেশিরভাগটি জাভাতে প্রয়োগ করা হয়েছে, এটি সঠিকভাবে বুটস্ট্র্যাপ হয় না।
এসকে-যুক্তি

@ বার্থ: আমি জানি অন্য প্ল্যাটফর্মের বন্দরগুলি বিদ্যমান, তবে এটি প্রশ্ন সম্পর্কে খুব বেশি কিছু জানায় না। এটি সিএলআরতে চলতে পারে এবং এখনও তার নিজস্ব লাইব্রেরি নেই।
Andrea

1
@ জেরেমি হিলার, অবশ্যই নিখুঁত মনে যে কেউ এই লক্ষ্য অর্জনের চেষ্টা করবেন। প্রশ্নটি হল - ক্লোজুরে প্রথম থেকেই এভাবে প্রয়োগ করা হয়নি কেন? এটি জাভাতে একটি সংকলক কোডিংয়ের চেয়ে অনেক সহজ।
এসকে-লজিক

1
@ এসকে-যুক্তি, আমি যা বলতে পারি সেগুলি থেকে, ক্লোজারকে সঠিকভাবে বুটস্ট্র্যাপ করার জন্য রিচ হিকি যে বৈশিষ্ট্যগুলি চেয়েছিল সেগুলি কার্যকর হতে সময় নিয়েছে। এটি হ'ল তিনি ডিজাইনের সিদ্ধান্তগুলিতে তাড়াহুড়ো করতে চাননি যা ভাষার উপর বিরূপ প্রভাব ফেলতে পারে, নির্দিষ্ট বৈশিষ্ট্যগুলি কীভাবে কাজ করতে পারে তা ভেবে আরও বেশি সময় ব্যয় করা হলে এমন সম্ভাব্য ফলস্বরূপ সম্ভবত আরও ভাল ফলাফল হতে পারে। হতে পারে আমি পুরোপুরি বন্ধ, তবে বিষয়টি আমার গ্রহণ।
জেরেমি হিলার

উত্তর:


2

কোড কোডটি বৃদ্ধি পেতে এবং প্রাকৃতিকভাবে বৈচিত্র্য আনতে ক্লোজার জাভা গ্রন্থাগারগুলির থেকে আরও বেশি স্বাধীন হয়ে উঠছে। ক্লোজারের একটি বড় শক্তি হ'ল এটি জাভা কল করতে পারে, তাই ভবিষ্যতে ক্লোজার কোডটি দেখতে যে জাভা ব্যবহার করে না তা অসম্ভাব্য। হচ্ছে বললেন, 'আমি উন্নয়নের একটি ভাল চুক্তি করেছ W / O জাভা লিব (কমান্ড লাইন args, মৌলিক টেক্সট minupulation, ইত্যাদি) কলিং। খাঁটি ক্লোজার লাইব্রেরির একটি তালিকা এখানে রয়েছে: http://www.clojure-toolbox.com/


খাঁটি ক্লোজার লাইব্রেরির ভাণ্ডারের লিঙ্কের জন্য আমি এই উত্তরটি বেছে নিয়েছি।
Andrea

7

আমার কাছে মনে হয় এটা ঠিক যে Clojure একটি হোস্ট করা ভাষা হিসাবে ডিজাইন করা হয়েছে এবং এর এখন তিনটি বাস্তবায়ন রয়েছে:

  • জেভিএম-এ ক্লোজার
  • .NET এ ক্লোজার সিএলআর
  • জাভাস্ক্রিপ্টে ClojureScript

যেহেতু এটি একটি হোস্ট করা ভাষা হিসাবে নকশা করা হয়েছে, আইডিয়ামটি অন্তর্নিহিত প্ল্যাটফর্মের লাইব্রেরিগুলি লাভ করতে পারে যেখানে এটি বোধগম্য হয় তবে "মূল" লাইব্রেরির একটি সেট সরবরাহ করে যা বহনযোগ্য (কোনও ব্যবহারের pov থেকে, কোড পর্যায়ে প্রয়োজনীয় নয়)। আমি সময়ের সাথে সাথে প্রত্যাশা করি আমরা তিনটি প্ল্যাটফর্মে আরও অনেক ক্লোজার লাইব্রেরি চলতে দেখব, যেখানে এটি উপলব্ধিযোগ্য।

আমি Clojure.java.jdbc এবং clj-time (জোদাটাইমের চারপাশে একটি মোড়ক) বজায় রাখি যাতে * সিএলআর বা * স্ক্রিপ্ট সংস্করণগুলিতে ব্যবহার করা বুদ্ধিমান হয় না তবে বিভিন্ন নামের জায়গাগুলিতে এপিআই-সামঞ্জস্যপূর্ণ লাইব্রেরিগুলি সম্ভাবনা হতে পারে।

"খাঁটি" ক্লোজার লাইব্রেরির অনেকগুলি ইতিমধ্যে * সিএলআর বা * স্ক্রিপ্ট সংস্করণগুলিতে ব্যবহার করার জন্য সোজা হওয়া উচিত।

ওপি-র প্রশ্নের কাছে: "ক্লোজার-দ্য ল্যাঙ্গুয়েজ" বেশ পোর্টেবল তবে "ক্লোজার-দ্য-ইমপ্লিমিশন" ইচ্ছাকৃতভাবে জাভা ইকোসিস্টেমের সাথে আবদ্ধ, যেমন ক্লোজিউর সিএলআর থেকে নেট এবং জাভাস্ক্রিপ্টের ক্লোজিউরস্ক্রিপ্ট।


2

ক্লোজুর বিকাশ অব্যাহত রাখার সাথে সাথে এটি অবশ্যই আরও বেশি বেশি নিজস্ব লাইব্রেরি তৈরি করবে, যাতে অন্যান্য ভিএমগুলিতে সহজ বন্দর স্থাপনের সুযোগ দেয়। যতদূর জেভিএমের ক্লোজুর সম্পর্কিত, আমি বিশ্বাস করি দীর্ঘমেয়াদী লক্ষ্য হ'ল ক্লোজুর বিকল্পগুলির সাথে বেশিরভাগ লিবসকে প্রতিস্থাপন করা হবে (যার ফলে ডিফল্টরূপে এটি অপরিবর্তনশীলতা থাকবে, এসটিএম ইত্যাদি), জাভা ইন্টারপ স্তরটি আদিম এবং বেসের নিম্নতম স্তরে নিয়ে আসবে স্ট্রিং হিসাবে বস্তু। জাভা প্ল্যাটফর্মটি জাভা 8 (2013)-এ জিগা / ওএসজিআই দিয়ে সংশ্লেষিত হয়ে গেলে এটি বিশেষভাবে সত্য হবে 8

যাইহোক, আমি বিশ্বাস করি যে ক্লোজুর তখনও ইনভোকেডাইনামিক (জাভা in-এ বাইকোড নির্দেশিকা হিসাবে প্রবর্তিত) এর ব্যবহার এবং সুবিধা গ্রহণ করতে চাইবে এবং কোন লাইব্রেরিগুলি কখন প্রতিস্থাপন করবে সে সম্পর্কে যথেষ্ট বাস্তববাদী পদ্ধতি গ্রহণ করবে (যদি জাভাটির পুরোপুরি ভাল কাজ থাকে তবে কেন) তাড়াতাড়ি পরিবর্তন করুন)।

দ্রষ্টব্য: আমি ক্লজুর সম্প্রদায়ের সাথে গভীরভাবে জড়িত নই, সুতরাং এটি আংশিক শ্রবণশক্তি / অনুমানমূলক কাজ।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.