Дуб (язык программирования)
Oak — это язык программирования, выпуск которого прекращен, созданный Джеймсом Гослингом в 1989 году первоначально для Sun Microsystems . телеприставки проекта Позже язык превратился в Java .
Название «Дуб» Гослинг использовал в честь дуба , стоявшего возле его офиса.
История
[ редактировать ]В 1985 году компания Sun Microsystems пыталась разработать новую технологию для программирования интеллектуальных устройств следующего поколения, что, по мнению Sun, стало новой важной возможностью.
Первоначально команда рассматривала возможность использования C++ , но отвергла эту идею по нескольким причинам (см. историю Java ).
Первоначально Гослинг пытался модифицировать и расширить C++, но вскоре отказался от этого в пользу создания новой платформы под названием Green и совершенно нового языка, который он назвал Oak , в честь дерева, которое стояло недалеко от его офиса. [1]
К лету 1992 года они смогли продемонстрировать части новой платформы, включая Green OS , язык Oak, библиотеки и аппаратное обеспечение. Их первая попытка, продемонстрированная 3 сентября 1992 года, была сосредоточена на создании КПК под названием Star7. [1] у которого был графический интерфейс и умный агент по имени «Дюк», который помогал пользователю.
Oak был переименован в Java в 1994 году после того, как поиск товарных знаков показал, что Oak использовался Oak Technology . [2] Java 1.0 наконец вышла в 1996 году. [3]
Различия с Java
[ редактировать ]Дуб стал основой того, чем позже стала Java 1.0, но были и некоторые отличия: [4] [5] Несколько концепций были запланированы в спецификации Oak, но не были реализованы на исходном языке из-за нехватки времени:
- Беззнаковые примитивные типы так и не были реализованы в Java. [6]
- Ключевое слово enum для перечислимых типов было реализовано в Java для Java 5.0 .
- Ключевое слово Assert было реализовано в Java для Java 1.4. [7]
Другие концепции отличались от Java или были улучшены позже: [4]
- Абстрактные методы были определены как в C++ .
- Oak по умолчанию Хотя уровень доступа Java (по умолчанию) был таким же, как уровень частного доступа к пакету , он назывался «частным». У Oak не было эквивалента Java.
private
модификатор доступа.
И, наконец, некоторые концепции были позже вычеркнуты:
- Все исключения были сняты .
- можно было С помощью ключевого слова unprotect написать код, который не сигнализировал бы об асинхронных исключениях .
- Была некоторая поддержка Design by Contract : [8] В Oak были утверждения, посредством которых переменная класса могла быть ограничена, и ограничения применялись при входе и выходе каждого открытого и защищенного метода класса. Методы также могли иметь свои собственные предусловия и постусловия , которые наследовались, но не поддавались переопределению в подклассе. [4] [9]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Джон Байус (12 марта 2003 г.). «Технология Java: ранняя история» (PDF) . Сан Микросистемс . Проверено 2 августа 2009 г.
Гослинг назвал новый язык «Дуб», в честь дерева за его окном.
- ^ Мерфи, Кирон (4 октября 1996 г.). «Так почему же они решили назвать его Java?» . JavaWorld . Проверено 15 июля 2020 г.
«Юристы сказали нам, что мы не можем использовать название «OAK», потому что [оно уже было торговой маркой] Oak Technologies», — сказал Фрэнк Йеллин, старший инженер Sun. «Итак, был проведен мозговой штурм, чтобы придумать идеи для нового названия».
- ^ Джонатан И. Шварц (30 августа 2007 г.). «Разное не всегда лучше, но лучше всегда» . Архивировано из оригинала 5 сентября 2009 года . Проверено 2 августа 2009 г.
- ^ Jump up to: а б с Хайнц Кабуц (26 августа 2002 г.). «Однажды на дубе…» javaspecialists.eu . Проверено 2 августа 2009 г.
- ^ «Спецификация языка Дуба» . Sun Microsystems, Inc. Архивировано из оригинала 16 августа 2000 года . Проверено 6 марта 2015 г.
- ^ «Java и unsigned int, unsigned short, unsigned byte, unsigned long и т.д. (вернее, их отсутствие)» . Проверено 2 августа 2009 г.
- ^ «Простое средство утверждения для языка программирования Java» . Сан Микросистемс . Проверено 2 августа 2009 г.
- ^ Йоханнес Рикен (24 апреля 2007 г.). «Разработка по контракту для Java — исправленная версия» (PDF) . Проверено 2 октября 2010 г.
- ^ «Поддержка «Проектирования по контракту», помимо «простого средства утверждения» » . Сан Микросистемс . Проверено 2 октября 2010 г.