Читая о деле Google v Oracle, я столкнулся с этими вопросами (по-видимому, от председательствующего судьи)
...
Согласны ли, что верно следующее, по крайней мере, с 1996 года?Ниже перечислены основные интерфейсы программирования приложений Java: java.lang, java.util и java.io.
Относится ли язык программирования Java к каким-либо методам, классам или пакетам, кроме указанных выше, или требует ли он их?
...
источник: Groklaw
Очевидно, есть много юридических последствий, Google и Oracle, вероятно, не согласны по некоторым вопросам, и мне все равно . Оставьте закон адвокатам.
Тем не менее, я подозреваю, что здесь есть интересная история.
Мой вопрос (как кто - то , кто первым сделал любой Java кодирования около 2001 в версии 1.3), в версии 1.0 Java было что - то требуется вне java.lang
, java.util
и java.io
составить действительную программу Java?
В качестве примера (с использованием C # 5.0) await
ключевое слово зависит (помимо прочего). Компилятор не может функционировать по спецификации без этого класса.Task<T>
GetAwaiter()
Эквивалентно, были ли какие-либо основные функции времени выполнения (например, ClassLoader *), которые зависели от других пакетов?
Я признаю, что спрашиваю из любопытства, что именно необходимо для минимально жизнеспособной Java (язык, игнорирующий все юридические аспекты), интересен.
* Я предполагаю, что ClassLoader был даже функцией в Java 1.0, он является частью спецификации в 7.0 и, вероятно, во многих более ранних версиях.
await
ключевое слово не зависит от Task<T>
. Task
Класс просто случается , чтобы удовлетворить то , что await
ключевое слово это зависит от (метод называется и GetAwaiter()
т.д.).
yield
IEnumerator или чем-то еще; просто так рад за await
.