Google v ओरेकल केस के बारे में पढ़ते हुए, मैं इन सवालों के सामने आया (जाहिरा तौर पर पीठासीन न्यायाधीश से)
...
क्या यह सहमत है कि निम्न सत्य है, कम से कम 1996 तक?निम्नलिखित मुख्य जावा अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस थे: java.lang, java.util और java.io.
क्या जावा प्रोग्रामिंग भाषा उपरोक्त तीनों के बाहर किसी विधि, वर्ग या पैकेज का संदर्भ देती है या इसकी आवश्यकता है?
...
स्रोत: ग्रोकला
स्पष्ट रूप से बहुत सारे कानूनी अड़चनें हैं, Google और Oracle शायद कुछ बिंदुओं पर असहमत हैं, और मुझे परवाह नहीं है । वकीलों के लिए कानून छोड़ो।
हालाँकि, मुझे संदेह है कि यहाँ इतिहास का एक दिलचस्प हिस्सा है।
जावा के संस्करण 1.0 में, (कोई है जो पहले किसी भी जावा संस्करण 1.3 में 2001 के आसपास कोडिंग किया था) कुछ भी आवश्यक मेरा प्रश्न है था के बाहर java.lang
, java.util
और java.io
एक वैध जावा प्रोग्राम संकलन के लिए?
एक उदाहरण के रूप में (C # 5.0 का उपयोग करके), await
कीवर्ड (अन्य चीजों के बीच) पर निर्भर है । संकलक उस वर्ग के बिना कल्पना करने के लिए कार्य नहीं कर सकता।Task<T>
GetAwaiter()
समान रूप से, क्या कोई कोर रनटाइम फीचर्स थे (जैसे कि क्लासलॉडर *) जो अन्य पैकेजों पर निर्भर थे?
मैं मानता हूं कि मैं जिज्ञासा से बाहर पूछता हूं, वास्तव में न्यूनतम व्यवहार्य जावा (भाषा, इसके चारों ओर सभी कानूनी बिट्स की अनदेखी) के लिए क्या आवश्यक है, दिलचस्प है।
* मैं यह मान रहा हूं कि Java 1.0 में ClassLoader भी एक विशेषता थी, यह 7.0 में कल्पना का हिस्सा है और संभवतः पहले के कई संस्करणों में।
await
कीवर्ड निर्भर नहीं करता है Task<T>
। Task
वर्ग सिर्फ बातें को पूरा करने के ऐसा होता await
कीवर्ड करता पर (एक विधि कहा जाता है निर्भर GetAwaiter()
आदि)।
yield
IEnumerator या कुछ के साथ जाना चाहिए था; बस के लिए बहुत उत्साहित हैं await
।