Hermes (язык программирования)

редактировать

Hermes - это язык распределенного программирования, разработанный в IBM Исследовательский центр Томаса Дж. Уотсона с 1986 по 1992 год, с компилятором с открытым исходным кодом и системой времени выполнения. Основные функции Hermes включали:

Он использовал анализ состояния типов для проверки ошибок переходов переменных, чтобы исключить некоторые семантически бессмысленные переходы из одного состояния в другое (т.е. начиная со значения, некоторые последовательности операций над переменной бессмысленны), из которых чтение неинициализированной переменной является особым случаем. В этой роли проверки инициализации данных во время компиляции аналогична анализу определенного назначения, выполняемому Java, Cyclone и C#.

Hermes и его предшественником, NIL. (Язык сетевой реализации) были первыми языками программирования, поддерживающими эту форму проверки инициализации. На самом деле Typestate использовался более широко, чтобы генерировать вставленные компилятором операции «удаления».

Ссылки
  1. ^Strom, Robert E.; Бэкон, Дэвид Ф ; Голдберг, Артур П.; Лоури, Энди; Yellin, Daniel M.; Йемини, Шаула (1991). Гермес - язык для распределенных вычислений. Энглвуд Клиффс, Нью-Джерси, США: Прентис-Холл. ISBN 978-0-13-389537-7.
  2. ^Лоури, Энди (1992). «Язык Гермеса в набросках». Уведомления ACM SIGPLAN. 27 (8): 51–70. doi : 10.1145 / 142137.142148. ISSN 0362-1340.
  3. ^Strom, R.E. (1990). «Гермес: интегрированный язык и система для распределенного программирования». Семинар IEEE по экспериментальным распределенным системам. С. 75–82. doi : 10.1109 / EDS.1990.138054.
  4. ^Бэкон, Дэвид Ф. ; Лоури, Энди (1990). Переносимая система времени выполнения для распределенного языка программирования Hermes. Летняя техническая конференция USENIX. Анахайм, Калифорния, США: Ассоциация Usenix. стр. 39–50.
  5. ^Корфхэдж, Уиллард; Голдберг, Артур П. (1995). «Языковые опыты Гермеса» (PDF). Программное обеспечение: практика и опыт. 25 (4): 389–402. CiteSeerX 10.1.1.13.9034. doi : 10.1002 / spe.4380250404. ISSN 0038-0644. Архивировано из оригинального (PDF) 26 мая 2005 г. Проверено 27 августа 2009 г.
  6. ^Роберт Э. Стром (1983). «Механизмы обеспечения безопасности на этапе компиляции». Материалы 10-го симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования - POPL '83. С. 276–284. doi : 10.1145 / 567067.567093. ISBN 978-0897910903.

.

Последняя правка сделана 2021-05-23 10:14:40
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте