2010-08-19 10 views
18

संभव डुप्लिकेट स्थानांतरण करने के लिए:
Tips for moving from C# to Java?नेट से जावा

एक काफी अनुभवी नेट डेवलपर के रूप में (1.0 के बाद से), मैं काफी कुछ दिलचस्प नौकरियों देखा है स्थानीय क्षेत्र जो मुख्य रूप से जावा ईई, ईएसबी, वेबस्पेयर, जेएसपी आदि पर केंद्रित हैं। अब, मैं अधिकांश .NET "तकनीक" से काफी परिचित हूं, लेकिन जावा एक रहस्य है। मैंने विश्वविद्यालय (2003 आईएसएच) में जे 2 एसई प्रोग्रामिंग का थोड़ा सा किया, लेकिन तब से कुछ भी नहीं।

क्या किसी ने भी एक ही संक्रमण (या विपरीत एक) बनाया है और कुछ जानकारी, चेतावनी, वास्तव में कुछ भी साझा कर सकता है! .NET और जावा कौशल कितने तुलनीय हैं, और संक्रमण कितनी आसानी से कर सकते हैं?

+0

आपने अभी तक किस खोज शब्द का उपयोग किया है? –

+0

संबंधित: http://stackoverflow.com/questions/295224/what-are-major-differences-between-c-and-java –

+0

ठीक है, अनिवार्य रूप से मैं सिंटैक्स मतभेदों की बजाय पूरी चीज़ के बीच मौलिक अंतर की तलाश में हूं सी # और जावा के बीच। उदाहरण के लिए, ईजेबी .NET में क्या सहसंबंधित करता है? – Jamie

उत्तर

8

मुझे एक ही समस्या का सामना करना पड़ रहा है: जावा ईई से .NET।

मुझे दो भाषाओं के बीच भाषा संरचनाओं के मानचित्रण के साथ बहुत अधिक परेशानी नहीं है। एक भाषा या दूसरे में संबंधपरक डेटाबेस पहुंच को समझना मुश्किल नहीं है। लूप्स लूप हैं, अगर आईएसएस हैं, तो बच्चे। वहां कोई चिंता नहीं है।

मैं जॉन Skeets "सी # गहराई में" पढ़ा है, इसलिए मुझे लगता है कि सी # में जोड़ा गया है अच्छा चीजें हैं जो जावा के पार जाने से कुछ के लिए सराहना मिल गया है: आदि LINQ, बन्द प्रतिनिधियों

मेरी समस्याओं को अन्य विवरणों के साथ और अधिक करना था।

विजुअल स्टूडियो मेरे लिए एक रहस्य है। मैं IntelliJ के लिए उपयोग किया जाता है। ReSharper मदद करता है। लेकिन किसी अन्य आईडीई की तरह, जब तक कि आप इससे परिचित न हों, आप किसी ऐसे सिस्टम को मैप करने की कोशिश कर रहे हैं, जिसे आप जानते हैं कि किसी अन्य सिस्टम पर नए सिस्टम को कैसे अच्छा करना है। विजुअल स्टूडियो एक्सप्रेस एक ही चीज़ प्रतीत नहीं होता है।

मैं भी आयोजन, पैकेजिंग और अनुप्रयोगों को तैनात करने से अनजान हूं। मैं नेट मॉड्यूल पर अंधेरा, आईआईएस के बजाय वेबलॉजिक की तरह एक जावा ईई अनुप्रयोग सर्वर से तैनाती, आदि

मेरी जावा परियोजनाओं में JUnit और TestNG का उपयोग में हूँ दूसरा स्वरूप है। मेरे पास न्यूटिट के साथ आराम का स्तर नहीं है।

मेरे पास बस मेरी उंगलियों की युक्तियों पर नहीं है। यह एक विदेशी देश में एक व्यक्ति की तरह है जो भाषा के लिए एक गाइड बुक है: "मैं यह कैसे कहूं?" मैं बस .NET में धाराप्रवाह नहीं हूँ।

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

मैं पाइथन के साथ उसी पथ को लेकर अधिक आरामदायक हूं। मेरे पास JetBrains से PyCharm है, इसलिए आईडीई एक गैर-मुद्दा है। पाइथन मॉड्यूल तीसरे पक्ष के ओपन सोर्स स्टफ के रूप में उपयोग करने के लिए भरपूर और उपयोग करने में आसान है जिसका उपयोग मैं करता हूं। मुझे एक महान पुस्तक "कोर पायथन" मिली है जो मुझे चल रहा है। और जितना अधिक मैं भाषा का उपयोग करता हूं, उतना ही मुझे यह पसंद है। मेरे पास एक ही पैकेजिंग और तैनाती के मुद्दे हैं, लेकिन मुझे पूरा भरोसा है कि मैं उन्हें नेट पर पाइथन के साथ स्वयं हल कर दूंगा।

+0

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

+0

यहां तक ​​कि एक जादूगर के साथ, आपको अभी भी मांस को विधियों में रखना है। और यदि आपका जादूगर आपको "खुश पथ" परीक्षण देता है, तो मैं कहूंगा कि यह आपको एक अक्षमता कर रहा है। कभी-कभी जो लोग जादूगरों से प्यार करते हैं उन्हें एक कदम वापस लेना चाहिए। – duffymo

+0

विजुअल स्टूडियो दुनिया के सर्वश्रेष्ठ संपादकों में से एक है, यह आपके लिए रहस्य हो सकता है क्योंकि आप इसके लिए बहुत नए हैं, और आप इसमें रिशेर्पर प्लगइन भी जोड़ सकते हैं, जो इसमें कुछ और तकनीकी शक्ति जोड़ देगा, लेकिन वीएस 2013 और अब वीएस 2014 अधिकांश अतिरिक्त उपकरणों के साथ लोड कर रहे हैं। – Ambuj

2

जब तक आप जटिल क्लासलोडर इंटरैक्शन से दूर रहते हैं, तब तक भाषा और मानक पुस्तकालय को घर महसूस करना चाहिए, माइक्रोसॉफ्ट की दुकानों से आने वाले किसी के लिए डरा क्या हो सकता है पुस्तकालयों और मिडलवेयर विकल्पों की भारी मात्रा है, जबकि भाषा सरल है , पारिस्थितिक तंत्र गहरा, बहुत गहरा है, और कोई वास्तविक मानक विकल्प नहीं है।

मैं सबसे उद्यम की दुकानों के लिए J2EE tutorial में 'मानक' techs पर ध्यान केंद्रित है, लेकिन अगर आप कभी भी एक परियोजना पर तकनीकी नेतृत्व मिलता है, अपनी शैली के लिए उपकरणों का इष्टतम सेट शोध में बहुत समय खर्च करने के लिए तैयार हो।

4

मेरी राय में जावा और .NET (सी #) के बीच का अंतर एक भाषा परिप्रेक्ष्य से इतना बड़ा नहीं है। मैं स्वयं अक्सर दोनों का उपयोग करता हूं हालांकि मैं सी # से अधिक जावा का उपयोग कर रहा हूं।

समस्या नीचे और अधिक मंच है और कक्षा पुस्तकालयों की एक अलग संरचना है और एक ही चीज़ के लिए कभी-कभी अलग-अलग अवधारणाएं प्रदान करती हैं। मेरी भावना में मुख्य बात यह है कि .NET को सीधे माइक्रोसॉफ्ट से बंडल/विक्रेता लाइब्रेरी द्वारा संचालित किया जाता है जबकि जावा प्लैटफॉर्म पर अधिकांश पुस्तकालयों और ढांचे प्लेटफॉर्म-बाहरी स्रोतों से आ रहे हैं।

तो उस संबंध में सबसे अच्छी बात यह है कि आप .NET में हल की गई लगातार समस्याओं को देख रहे हैं और वहां उपयोग किए गए पुस्तकालयों और ढांचे के लिए एक महसूस करने के लिए जावा में उन्हें (आंशिक रूप से) हल करने का प्रयास करें।

प्लेटफार्मों के बीच अलग-अलग चीज जावा ईई पर्यावरण में एक अनुप्रयोग सर्वर की अवधारणा हो सकती है, क्योंकि मुझे लगता है कि .NET के पास अनुप्रयोगों को होस्ट करने के लिए कोई समकक्ष अवधारणा नहीं है। आईडीई

विशेष रूप से पुनर्रचना के संबंध में के बारे में

Sidenote समर्थन जावा टूलींग आप ग्रहण, IntelliJ में मिल जाएगा, NetBeans दृश्य स्टूडियो में की तुलना में बहुत अमीर बॉक्स से बाहर है। हालांकि ReSharper विजुअल स्टूडियो में लापता कार्यक्षमता में से अधिकांश को जोड़ता प्रतीत होता है।

+0

और इंटेलिजे ग्रहण और नेटबीन दोनों से अधिक समृद्ध है। ReSharper विजुअल स्टूडियो के लिए उस अंतर को बंद कर देता है। – duffymo

+0

मैंने इसे अपने उत्तर में जोड़ा है। –

1

मैंने हाल ही में यह संक्रमण किया है। आप की तरह, मैंने 1.0 से .NET का उपयोग करके प्रोग्राम किया है। मुझे वास्तव में आरामदायक होने में कुछ हफ्तों लगे - लेकिन आखिरकार, सी # से आ रहा था, यह बहुत मुश्किल नहीं था। शुरुआत करने वाली सबसे भ्रमित चीज .NET प्रतिनिधि-आधारित ईवेंट हैंडलिंग प्रतिमान से जावा के इंटरफ़ेस-आधारित ईवेंट हैंडलिंग प्रतिमान में स्थानांतरित हो रही थी। ठीक हो जायेंगे।

आईडीई के संबंध में - मैं अभी भी ग्रहण करने के लिए विजुअल स्टूडियो पसंद करता हूं, लेकिन हर किसी के बारे में उनकी राय होगी। ग्रहण में सुविधाओं का एक टन है और यह काफी हद तक विस्तार योग्य है, लेकिन मैं हर दिन उपयोग की जाने वाली बुनियादी कार्यक्षमता से अधिक चिंतित हूं। मैंने कभी एहसास नहीं किया कि जब तक मैंने विजुअल स्टूडियो से एक्लिप्स तक स्विच नहीं किया तब तक टैब कुंजी का उपयोग करके मैंने कितना कोड लिखा था। मैं वास्तव में त्वरित ऑटो पूर्ण याद आती है। यदि एक्लिप्स में समान सुविधा को चालू करने का कोई तरीका है (CTRL-SPACE -> ENTER टाइप करने के बजाय) कृपया मुझे बताएं। :)

शुभकामनाएं! :)

0

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