Czytając o sprawie Google przeciwko Oracle, natknąłem się na te pytania (najwyraźniej od przewodniczącego)
...
Czy zgadza się, że następujące są prawdziwe, przynajmniej od 1996 roku?Oto podstawowy interfejs programowania aplikacji Java: java.lang, java.util i java.io.
Czy język programowania Java odnosi się do jakiejkolwiek metody, klasy lub pakietu poza powyższymi trzema?
...
źródło: Groklaw
Istnieje oczywiście wiele prawnych konsekwencji, Google i Oracle prawdopodobnie nie zgadzają się w niektórych kwestiach, a mnie to nie obchodzi . Pozostaw prawo prawnikom.
Podejrzewam jednak, że jest tu ciekawa historia.
Moje pytanie jest (jak ktoś, kto pierwszy zrobił żadnego kodowania około 2001 Java w wersji 1.3), w wersji 1.0 Java zostało nic poza wymagane java.lang
, java.util
oraz java.io
sporządzić ważny program Java?
Na przykład (przy użyciu C # 5.0) await
słowo kluczowe zależy (między innymi). Bez tej klasy kompilator nie mógłby działać zgodnie ze specyfikacją.Task<T>
GetAwaiter()
Czy były jakieś podstawowe funkcje środowiska wykonawczego (takie jak ClassLoader *), które były zależne od innych pakietów?
Przyznaję, że z ciekawości pytam, co jest potrzebne do minimalnej żywotności Javy (języka, ignorując wszystkie legalne fragmenty wokół niego) jest interesujące.
* Zakładam, że ClassLoader był nawet funkcją w Javie 1.0, jest częścią specyfikacji w 7.0 i przypuszczalnie wielu wcześniejszych wersjach.
await
słowo kluczowe nie zależy od Task<T>
. Task
Klasa po prostu zdarza, aby zaspokoić rzeczy, że await
kluczowe będzie zależeć (metoda zwana GetAwaiter()
etc).
yield
IEnumerator czy coś; tak bardzo podekscytowany await
.