Парадигма | объект-способность |
---|---|
Разработано | Дэвид А. Вагнер , Адриан Меттлер, Чип Морнингстар, Марк С. Миллер |
Впервые появился | 2004 [1] |
Стабильный выпуск | 2.2.0a |
Под влиянием | |
Java , E | |
Под влиянием | |
Проект Caja |
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.
Ссылки [ править ]
- ↑ Ранняя ссылка на Джо-И в списке рассылки cap-talk, Марк С. Миллер , 2004/11/01, получено 21.11.2009.
- ↑ Joe-E: Security-Oriented Subset of Java , Адриан Меттлер, Дэвид Вагнер и Тайлер Клоуз; Январь 2010 г.
- ^ Проверяемая функциональная чистота в Java , Мэтью Финифтер, Адриан Меттлер, Навин Састри, Дэвид Вагнер; Октябрь 2008 г., Конференция по компьютерной и коммуникационной безопасности.
Внешние ссылки [ править ]
- Проект Joe-E в Google Code
- Спецификация языка Joe-E
Эта статья о компьютерном программировании - незавершенная . Вы можете помочь Википедии, расширив ее . |