2011-11-17 12 views
10

ठीक है। यह एक लड़ाई नहीं है। मैं ढांचे की अवधारणा के बारे में उत्सुक हूं, मैंने विभिन्न स्तरों में django, zend, रेल और केकफ़्फ़ जैसे कुछ ढांचे के साथ काम किया।क्यों .NET एक फ्रेमवर्क है और जावा एक भाषा है

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

लेकिन फिर यह मुझे मारा? जावा एक भाषा क्यों है और .NET एक फ्रेमवर्क है, जितना अधिक मैं उलझन में आता हूं, जावा और .NET दोनों में एसडीके हैं, क्या ऐसा इसलिए है क्योंकि जावा वीएम पर चलता है? ऐसा इसलिए है क्योंकि .NET कई प्रोग्रामिंग भाषाओं का समर्थन करता है? मैं यहां क्या बड़ा अंतर लापता हूं?

+0

यह सच है कि जावा एक भाषा है। तो यह सी #। वीबी भी। कई अन्य लोगों में से कई। – delnan

+0

यह वास्तव में एक वास्तव में एक दिलचस्प सवाल है जिसे मैंने पहले नहीं सोचा था। आप ढांचे के बीच की रेखा कहां खींचते हैं और भाषा क्या है? –

उत्तर

22

जावा दोनों एक भाषा और ढांचे दोनों हैं, दोनों एक साथ बंधे हैं और एक नाम दिया है।

.NET एक प्लेटफ़ॉर्म है जिसमें इसका उपयोग करने वाली कई भाषाएं हैं - सी #, वीबी.नेट, एफ # और कई अन्य।

अंतर नामकरण और अर्थशास्त्र में से एक है, और नहीं।

+7

आप Java के अलावा अन्य भाषाओं के साथ जावा फ्रेमवर्क/कक्षा पुस्तकालयों का उपयोग कर सकते हैं। (JVM के लिए कई भाषाएं लिखी गई हैं) –

+0

@ किर्कवॉल - उचित बिंदु। – Oded

+1

+1 जावा एक ढांचा और भाषा है। धन्यवाद, मुझे यह नहीं पता था। (सोचा था कि जावा केवल एक प्रोग्रामिंग भाषा के रूप में है) तो मैं ढांचे और मंच (एस/डब्ल्यू इंजीनियरिंग के मामले में) के बीच अंतर कैसे कर सकता हूं क्या कोई लिंक है जो आप मेरे साथ साझा कर सकते हैं? – Praveen

2

सी #, वीबी, जे #, आदि विजुअल स्टूडियो में भाषाएं हैं। .NET कोड का एक ढांचा है जो आपके लिए बल्ले से बाहर निकलने के लिए कार्यक्षमता का एक समृद्ध सेट प्रदान करता है।

4

जावा JVM के रूप में है क्योंकि सी # .NET है। यह दुर्भाग्यपूर्ण है कि सूर्य ने अपनी वर्चुअल मशीन 'जावा वर्चुअल मशीन' नाम दिया, क्योंकि इसका उपयोग वास्तविक जावा प्रोग्राम द्वारा कम और कम किया जाता है। यह जेवीएम है और इसके लिए मानक वर्ग पुस्तकालयों का विशाल सेट है जो मंच का गठन करता है। जावा केवल इसके लिए प्रोग्रामिंग भाषा है; यह इस तरह ग्रूवी, स्काला, JRuby, Clojure आदि, नेट की तरह एफ #, नवीनतम वीबी, आदि है

+4

नहीं, जावा जेवीएम के रूप में सी # सीएलआर के लिए है। सीएलआर ".NET" जैसी ही बात नहीं है। –

+0

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

+0

तो स्काला का उपयोग करके "ए" जेवीएम पर ट्विटर चलता है? – Jonathan

4
  • .net एक रूपरेखा है, क्योंकि यह आपके कोड के आसपास सुविधा प्रदान करता है के रूप में प्रतियोगियों है: उदाहरण के लिए, जब आप वेबफॉर्म करें, आपको एचटीएमएल के लेखन के लिए http अनुरोध के स्वागत से सबकुछ कोड नहीं करना है, यह वेब सेवाओं और वेबफॉर्म के लिए समान है, यह आपके कोड के आसपास है।

  • जावा (अकेले जावा) में आपको कुछ भी भाषा नहीं मिली है, आप अपने प्रोग्राम को निष्पादित कर सकते हैं, लेकिन यदि आप जावा ईई का उपयोग करते हैं तो आपको अपने सॉफ़्टवेयर जीवनकाल (डेस्कटॉप या सी/एस) में सबकुछ संभालना होगा। या स्विंग, तो आपके पास एक ढांचा होगा।

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

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