2013-03-10 6 views
6

मुझे आशा है कि यह (मैं इतना और programmers.stackexchange के बीच झिझक) लेकिन जहां तक ​​मैं इस बता सकते हैं के रूप में एक "व्यावहारिक, जवाबदेह समस्या यह है कि प्रोग्रामिंग पेशे के लिए अद्वितीय है" इतना है अतः के लिए विषय से हटकर नहीं है यह एफएक्यू का पालन कर रहा है।केवल जावा 1.5 पर क्लोजर निर्भरता?

क्लोजर का कौन सा संस्करण (JVM पर क्लोजर, यह प्रश्न क्लोजरस्क्रिप्ट के बारे में नहीं है) चलाने के लिए आपको JVM का कौन सा संस्करण चाहिए?

यहाँ पेज: http://clojure.org/getting_started कहा गया है कि:

Clojure केवल जावा 1.5 या अधिक से अधिक

की आवश्यकता है लेकिन यह मामला हमेशा होने जा रहा है?

और लीजिनिंग जैसे क्लोजर पारिस्थितिकी तंत्र के बारे में क्या?

असल में मैं जानना चाहता हूं कि मैं क्लोजर पर भरोसा कर सकता हूं कि एक डेस्कटॉप ऐप विकसित करने में सक्षम होने के लिए जो ओएस एक्स सिस्टम समेत सिस्टम पर चलाना चाहिए, जो जावा 6 और न ही जावा के हाल के संस्करणों को प्राप्त करने वाले हैं (उदाहरण के लिए कुछ ओएस एक्स संस्करणों पर ऐप्पल ने कहा कि कोई भी JVM 6 कभी प्रकाश नहीं देखेगा)।

उत्तर

5

मैं क्लोजर/कोर टीम पर नहीं हूं, इसलिए मेरे पास जानकारी नहीं है, लेकिन यहां मैं इस स्थिति से कैसे संपर्क करूंगा।

क्लोजर (1.5 इस लेखन के रूप में 1.5) का नवीनतम संस्करण लें और उन चीजों के लिए जावा 1.5 के खिलाफ परीक्षण करें जिन्हें आपको और करने के लिए आवश्यक है, जो क्लोजर लाइब्रेरीज़ आपको उपयोग करने और उसके साथ चिपकने की आवश्यकता है। यदि क्लोजर 1.5 जावा 1.5 compatable है, तो यह हमेशा ऐसा होगा, क्योंकि रिलीज अपरिवर्तनीय है।

मैं धारणा नहीं करता हूं कि 1.5 के बाद सभी क्लोजर संस्करण जावा 1.5 संगत होंगे और आप निश्चित रूप से यह नहीं मान सकते कि क्लोजर लाइब्रेरी होगी। उदाहरण के लिए, मैंने अभी क्लोजर लाइब्रेरी जारी की है जिसके लिए जावा 1.7 की आवश्यकता है (क्योंकि यह जावा 1.7 में पेश की गई java.util.concurrent क्लास का उपयोग करता है)।

चूंकि लीनिंगेन आपको अपने सभी पुस्तकालयों और जावा 1.5 के खिलाफ क्लोजर के आपके चुने हुए संस्करण का परीक्षण करने के लिए मेवेन-जैसे निर्भरता रिज़ॉल्यूशन देता है और वे काम करते हैं, तो आप तब तक संस्करण निर्भरताओं के उस सेट के साथ रह सकते हैं जब तक आप रखना चाहते हैं ऐप चल रहा है। उस बिंदु पर आपका एकमात्र जोखिम यह है कि गैर कोर लाइब्रेरी के कुछ बग फिक्स रिलीज़ जावा 1.5 संगत नहीं हो सकते हैं। यह जोखिम आनुपातिक है कि आपको कितने गैर-कोर क्लोजर पुस्तकालयों का उपयोग करने की आवश्यकता है।

3

यदि आप पुस्तकालयों का उपयोग करने के बारे में चुनिंदा हैं, तो जावा 1.5 को लक्षित करना निश्चित रूप से व्यवहार्य है।

  • क्लोजर जावा संस्करण आवश्यकताओं के बारे में बहुत रूढ़िवादी है - इसलिए केवल संस्करण 1.5 पर निर्भरता।
  • कई पुस्तकालयों Clojure पर ही केवल निर्भर करती है, इसलिए काफी खुशी से 1.5 JVM
  • कुछ पुस्तकालयों> 1.5, इन और अधिक उन्नत पुस्तकालय हैं कि विशिष्ट जावा सुविधाओं के साथ इंटरॉप के लिए आवश्यकताओं को हो जाते हैं की आवश्यकता होती है पर चलेगा (जैसे नए संगामिति कोड)।

नोट: मैं व्यक्तिगत रूप से के बाद से मुझे लगता है कि एक उचित न्यूनतम और जावा आधारित प्रणाली के विशाल बहुमत है 1.6 या इसके बाद के संस्करण पर हैं, जावा 1.6 लक्षित करने के लिए अपने सभी क्षुधा/पुस्तकालयों लिखें। मैं 1.5 पर फंस गए कुछ उपयोगकर्ताओं के संभावित नुकसान के साथ जीने के लिए तैयार हूं। इसके अलावा, भले ही क्लोजर का भविष्य संस्करण 1.5 छोड़ देता है, मुझे उम्मीद है कि यह लंबे समय तक जावा 1.6 के लिए समर्थन जारी रखेगा।

+0

मेरी मदद करने के लिए फिर से धन्यवाद। मैं पुराने ओएस एक्स उपयोगकर्ताओं को छोड़ सकता हूं लेकिन मुझे अभी भी इसके बारे में निश्चित नहीं है। बात यह है: मेरे पास जावा डेस्कटॉप ऐप है जो 1.5 पर फंस गए इन कुछ उपयोगकर्ताओं के लिए ठीक है और उन्हें यह पसंद है कि अभी भी एक ऐप उनका समर्थन कर रहा है (मेरे विशिष्ट डोमेन में)। एक तरह से उन्हें समर्थन देना बंद करना दुखी होगा क्योंकि मैं क्लोजर को कोडबेस के आगे बढ़ने पर विचार कर रहा हूं। इसलिए मैं इसे आज़मा दूंगा और देख सकता हूं कि क्लोजर में 1.5 से चिपके हुए मैं क्या कर सकता हूं (और नहीं कर सकता)। –

0

विशेष रूप से, Clojure 1.6 में वे 1.6 जावा के संस्करण टकरा है CLJ-1268: Require Java 1.6 as minimum for Clojure

तो, "कोई" मूल पोस्टर के लिए जवाब है:

Clojure 1.6 Release Notes इस टिकट में शामिल "लेकिन क्या [क्लोजर केवल जावा 1.5 या उससे अधिक की आवश्यकता है] हमेशा मामला होने जा रहा है?"

संबंधित मुद्दे