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