Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Joe-E - это подмножество языка программирования Java, предназначенное для поддержки программирования в соответствии с дисциплиной объектных возможностей . [2]

Этот язык примечателен тем, что был ранним языком подмножества объектных возможностей. Это повлияло на более поздние подмножества языков, такие как ADsafe и Caja / Cajita , подмножества Javascript.

Это также примечательно тем, что позволяет проверять методы как функционально чистые на основе их сигнатур методов. [3]

Ограничения, налагаемые верификатором Joe-E, включают:

  • Классы могут не иметь изменяемых статических полей, потому что они создают глобальное состояние.
  • Перехват исключений из-за нехватки памяти запрещен, потому что это допускает недетерминированное выполнение. По той же причине не допускаются предложения finally .
  • Методы в стандартной библиотеке могут быть заблокированы, если они признаны небезопасными в соответствии с правилами приручения. Например, конструктор new File (filename) заблокирован, потому что он разрешает неограниченный доступ к файловой системе.

Cup of Joe - это сленговое название кофе, и поэтому оно служит отсылкой к Java, избегающей торговой марки. Таким образом, имя Joe-E призвано предложить адаптацию идей языка программирования E для создания варианта языка Java.

Сервер Waterken написан на языке Joe-E.

Ссылки [ править ]

  1. Ранняя ссылка на Джо-И в списке рассылки cap-talk, Марк С. Миллер , 2004/11/01, получено 21.11.2009.
  2. Joe-E: Security-Oriented Subset of Java , Адриан Меттлер, Дэвид Вагнер и Тайлер Клоуз; Январь 2010 г.
  3. ^ Проверяемая функциональная чистота в Java , Мэтью Финифтер, Адриан Меттлер, Навин Састри, Дэвид Вагнер; Октябрь 2008 г., Конференция по компьютерной и коммуникационной безопасности.

Внешние ссылки [ править ]