जब आप जावा का उपयोग कर सकते हैं तो ज्योथन का उपयोग क्यों करें?

मानक जवाब यह है कि यह उपयोगी है जब आपको केवल कोड की कुछ पंक्तियां लिखनी होंगी ...

मेरे पास ग्रहण के अंदर एकीकृत दोनों भाषाएं हैं। चूंकि ग्रहण संकलन, व्याख्यान, चलाना इत्यादि को "रन" दोनों को ठीक से संभालता है।

दोनों के लिए ग्रहण आईडीई समान है - तत्काल "संकलन", इंटेलिजेंस इत्यादि। दोनों डीबग परिप्रेक्ष्य के उपयोग की अनुमति देते हैं।

अगर मैं जावा की कुछ पंक्तियों का परीक्षण करना चाहता हूं, तो मुझे एक पूरी नई जावा प्रोजेक्ट बनाने की ज़रूरत नहीं है - मैं बस स्क्रैपबुक सुविधा जो मुझे एक नया जावा प्रोग्राम बनाने के बिना जावा अभिव्यक्तियों को निष्पादित करने की अनुमति देती है। यह मौजूदा वर्ग का त्वरित परीक्षण करने या मूल्यांकन करने का एक साफ तरीका है कोड स्निपेट "।

Jython जावा पुस्तकालयों के उपयोग की अनुमति देता है - लेकिन फिर तो (परिभाषा के अनुसार) जावा करता है!

तो ज्योथन क्या अन्य लाभ प्रदान करता है?

0
बहुत बुरा है कि यह सवाल बंद है; क्योंकि एक बहुत अच्छा बिंदु है जो किसी भी उत्तर में दिखाई नहीं देता है (जब तक कि मैंने अनदेखा नहीं किया): ज्योथन के साथ, मैं चल रहे जेवीएम के संदर्भ में नया कोड निष्पादित कर सकता हूं। आप जावा के साथ ऐसा नहीं कर सकते।
जोड़ा लेखक GhostCat, स्रोत
मुझे समझ में नहीं आया कि यह खोज बंद क्यों है।
जोड़ा लेखक Icche Guri, स्रोत
मजेदार, मैं पूछने जा रहा था "जब आप ज्योथन का उपयोग कर सकते हैं तो जावा का उपयोग क्यों करें?" ज्योथन से स्विंग करने का प्रयास करें और देखें कि यह कितना सुखद है: btn = JButton ("मुझे क्लिक करें", actionPerformed = SomeFunction) । बटन क्लिक को संभालने के लिए बस एक संपूर्ण कक्षा लिखने से आसान बिट, नहीं?
जोड़ा लेखक Cam Jackson, स्रोत

14 उत्तर

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

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

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

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

0
जोड़ा

मैं जावा कोड के इंटरैक्टिव परीक्षण के लिए ज्योथन का उपयोग करता हूं। यह जावा परीक्षण अनुप्रयोगों या यहां तक ​​कि किसी भी स्क्रिप्टिंग भाषा लिखने से अक्सर तेज़ है। मैं सिर्फ विधियों के साथ खेल सकता हूं और देख सकता हूं कि यह कैसे प्रतिक्रिया करता है। वहां से मैं कुछ वास्तविक कोड या परीक्षण मामलों को लिखने और लिखने के लिए पर्याप्त सीख सकता हूं।

0
जोड़ा

एक त्वरित उदाहरण ( http://coreygoldberg से। blogspot.com/2008/09/python-vs-java-http-get-request.html ):

आपके पास जावा में बैक एंड है, और आपको HTTP GET रिकॉर्ड्स करने की आवश्यकता है।

मूल रूप से:

import java.net.*;
import java.io.*;

public class JGet {
    public static void main (String[] args) throws IOException {
        try {
            URL url = new URL("http://www.google.com");

            BufferedReader in = 
                new BufferedReader(new InputStreamReader(url.openStream()));
            String str;

            while ((str = in.readLine()) != null) {
                System.out.println(str);
            }

            in.close();
        } 
        catch (MalformedURLException e) {} 
        catch (IOException e) {}
    }
}

पायथन में:

import urllib
print urllib.urlopen('http://www.google.com').read()

ज्योथन आपको जावा मजबूती और जब आवश्यक हो, पाइथन स्पष्टता का उपयोग करने की अनुमति देता है।

और क्या ? जैसा कि जॉर्जेस कहेंगे ...

0
जोड़ा
हाँ, आपको बस इसे स्वयं कोड करना होगा। बाकी सब कुछ की तरह।
जोड़ा लेखक e-satis, स्रोत
सबसे पहले, जावा कोड इतना अधिक नहीं करता है। पायथन कोड पूर्ण ओओ है और खुली() एक फ़ाइल ऑब्जेक्ट लपेटती है जो स्ट्रीमिंग करता है। इसके अलावा, मुझे यहां एक ढांचे के बारे में कुछ भी नहीं दिख रहा है। तो हाँ, अपवाद हैंडलिंग है, लेकिन आप इसे पायथन में भी कर सकते हैं। यहां वास्तविक समस्या यह है कि जावा आपको कम सुविधाओं के साथ, इसे किसी भी छोटे तरीके से करने की अनुमति नहीं देता है। यह जावा के खिलाफ हमला नहीं है। मेरा मुद्दा बस है: आप ज्योथन का उपयोग करेंगे क्योंकि कभी-कभी, आप कुछ पतला चाहते हैं।
जोड़ा लेखक e-satis, स्रोत
आप मेरा मुद्दा बना रहे हैं: यही कारण है कि आप ज्योथन का उपयोग करेंगे, न केवल जावा।
जोड़ा लेखक e-satis, स्रोत
जावा-आधारित ज्योथन कोड पायथन के रूप में संक्षिप्त हो सकता है: inStream = URL (" python.org ")। openConnection ()। getInputStream() परिणाम = एस = स्कैनर (इनस्ट्रीम) .useDelimiter (" \\ ए ")। अगला ()
जोड़ा लेखक tnorgd, स्रोत
जावा को यूटिलिटी क्लास रखने से कुछ भी नहीं रोकता जो UrlUtil.open ("www.google.com") करता है। पढ़ें ()।
जोड़ा लेखक Marcio Aguiar, स्रोत
जावा से पायथन की तुलना में कोरी गोल्डबर्ग उदाहरण इंटरनेट पर पाया जा सकता है, और उपरोक्त उदाहरण बहुत बेहतर नहीं है। (इसके अलावा, यह एक मजबूती/स्पष्टता डिचोटोमी पर संकेत देता है जो बहस योग्य है।) ऊपर जावा कोड पायथन कोड (ओओ, buffered पढ़ने, अपवाद ढांचे, आदि) से कहीं अधिक है। ज्योथन का उपयोग करने के कारण हैं, लेकिन अल्पसंख्यक का एक संक्षिप्त उदाहरण बहुत प्रेरक नहीं है।
जोड़ा लेखक Glenn, स्रोत

पायथन पुस्तकालय;) उदाहरण के लिए सुंदर सूप - एक HTML पार्सर जो गलत मार्कअप स्वीकार करता है। AFAIK कोई समान शुद्ध जावा lib नहीं है।

0
जोड़ा
आप सही हे। स्थिर रिलीज पायथन 2.2 समतुल्य है। यह बहुत पुराना हो सकता है ... और ज्योथन 2.5 अभी भी अल्फा राज्य में है। स्थिर रिलीज उपलब्ध होने के बाद भी इसे काम करना चाहिए।
जोड़ा लेखक sumek, स्रोत
क्या आप वाकई ज्योथन के तहत काम करते हैं?
जोड़ा लेखक Cristian Ciupitu, स्रोत

पायथन सिंटैक्स (ज्योथन द्वारा उपयोग किया जाता है) कई प्रोग्रामर के लिए विकसित करने के लिए काफी संक्षिप्त और तेज़ है।

इसके अतिरिक्त, आप जावा अनुप्रयोग में मौजूदा पायथन पुस्तकालयों का उपयोग कर सकते हैं।

0
जोड़ा

जावा प्रोग्राम के भीतर ज्योथन को एम्बेडेड स्क्रिप्टिंग भाषा के रूप में भी इस्तेमाल किया जा सकता है। आप अंतर्निहित विस्तार भाषा के साथ कुछ लिखने के लिए किसी बिंदु पर इसे उपयोगी पा सकते हैं। यदि जावा जैथन के साथ काम करना इस के लिए एक विकल्प है (ग्रोवी एक और है)।

मैंने मुख्य रूप से जावा सिस्टम पर खोजी प्रोग्रामिंग के लिए ज्योथन का उपयोग किया है। मैं एप्लिकेशन के कुछ हिस्सों को आयात कर सकता हूं और यह देखने के लिए एपीआई के चारों ओर पोक कर सकता हूं कि इंटरैक्टिव ज्यथन सत्र से कॉल का आह्वान करके क्या हुआ।

0
जोड़ा

कुछ भाषाओं में कुछ कार्यों में कुछ आसान हैं। अगर मुझे कुछ फाइल का विश्लेषण करना पड़ा, तो मैं एक झपकी में जावा पर पायथन चुनूंगा।

0
जोड़ा
मुझे एक कच्ची फ़ाइल पढ़ने की जरूरत है, और डेटा के महत्वपूर्ण बिट्स को पार्स करना है। मेरे जावा ऐप के बीच में ज्योथन एम्बेड करना मुझे नियमित अभिव्यक्तियों और सूची की समझ का उपयोग करके फ़ाइल को आसानी से स्कैन करने देता है, और फिर मेरे निष्कर्षों को मेरे जावा कोड पर वापस कर देता है।
जोड़ा लेखक gregturn, स्रोत

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

0
जोड़ा

एनालॉजी: कॉफी क्यों पीते हैं जब आप गर्म नल के पानी पी सकते हैं और भुना हुआ कड़वा बीन्स पर चबा सकते हैं। :-)

कुछ कार्यों के लिए, पायथन बस बेहतर स्वाद लेता है, बेहतर काम करता है, और पर्याप्त तेज़ है (ब्रूव करने में समय लगता है?)। यदि आपका प्रोग्रामिंग या परिनियोजन वातावरण JVM पर केंद्रित है, तो ज्योथन आपको पायथन कोड करने देता है लेकिन आपकी तैनाती और रनटाइम वातावरण को बदले बिना।

0
जोड़ा

सिंटेक्स चीनी

0
जोड़ा
हाँ। असली प्रोग्रामर एक चुंबकीय सुई और एक स्थिर हाथ (सी) xkcd.com/378 का उपयोग करते हैं। बाकी सब कुछ एक वाक्यविन्यास चीनी है।
जोड़ा लेखक jfs, स्रोत

संकलन करने की कोई ज़रूरत नहीं है। हो सकता है कि आप एक प्रोटोटाइप की तरह संकलित भाषा का उपयोग करने से कुछ तेजी से रोल करना चाहते हैं।

... और आप अपने ऐप्स में ज्योथन दुभाषिया को एम्बेड कर सकते हैं। अच्छी सुविधा, मैं नहीं कह सकता कि मैंने इसका इस्तेमाल किया है, लेकिन फिर भी शांत है।

0
जोड़ा

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

0
जोड़ा

पाइथन में लैंबडास जैसे कार्यात्मक प्रोग्रामिंग की कुछ विशेषताएं हैं। जावा में ऐसी कार्यक्षमता नहीं है, और यदि कुछ समर्थन उपलब्ध था तो कुछ प्रोग्राम लिखना काफी आसान होगा। इस प्रकार पाइथन में कोड लिखना कभी-कभी आसान होता है और जावा में कोड लिखने का प्रयास करने के लिए ज्योथन के माध्यम से इसे एकीकृत करता है।

0
जोड़ा
जावा 8 में लैम्बडास है।
जोड़ा लेखक Daniel, स्रोत

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

यानी यह एक प्रतिबाधा विसंगति से निपटने का माध्यम है।

0
जोड़ा