stringtranslate.com

Гермес (язык программирования)

Hermes [1] [2] — это язык распределенного программирования [3] , который был разработан в Исследовательском центре Томаса Дж. Уотсона компании IBM с 1986 по 1992 год с компилятором с открытым исходным кодом и системой времени выполнения. [4] Основные особенности Hermes включали: [5]

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

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

Рекомендации

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