Гермес (язык программирования)
Гермес [ 1 ] [ 2 ] это язык распределенного программирования [ 3 ] который был разработан в с IBM Исследовательском центре Томаса Дж. Уотсона 1986 по 1992 год. с компилятором с открытым исходным кодом и системой времени выполнения. [ 4 ] Основные особенности Гермеса включали: [ 5 ]
- Языковая поддержка процессов и межпроцессного взаимодействия .
- Проверка во время компиляции того, что операции используют инициализированные данные.
- Независимые от представления агрегаты данных, называемые таблицами.
- Отсутствие указателей .
Он использовал анализ состояния типов для проверки ошибок переходов переменных, для исключения некоторых семантически бессмысленных переходов из одного состояния в другое (т.е. начиная со значения, некоторые последовательности операций над переменной бессмысленны), из которых чтение неинициализированной переменной является специальным случай. В этой роли проверка инициализации данных во время компиляции аналогична анализу определенного присваивания, выполняемому Java , Cyclone и C# .
Hermes и его предшественник NIL (язык сетевой реализации) были самыми ранними языками программирования, поддерживающими эту форму проверки инициализации. [ 6 ] На самом деле состояние типа использовалось более широко для генерации вставленных компилятором операций «удаления».
Ссылки
[ редактировать ]- ^ Стром, Роберт Э.; Бэкон, Дэвид Ф ; Гольдберг, Артур П.; Лоури, Энди; Йеллин, Дэниел М.; Йемини, Шаула (1991). Hermes — язык распределенных вычислений . Энглвуд Клиффс, Нью-Джерси, США: Прентис-Холл. ISBN 978-0-13-389537-7 .
- ^ Лоури, Энди (1992). «Язык Гермеса в общих чертах» . Уведомления ACM SIGPLAN . 27 (8): 51–70. дои : 10.1145/142137.142148 . ISSN 0362-1340 . S2CID 28615424 .
- ^ Стром, Р.Э. (1990). «Гермес: интегрированный язык и система распределенного программирования». Семинар IEEE по экспериментальным распределенным системам . стр. 75–82. дои : 10.1109/EDS.1990.138054 . S2CID 10223422 .
- ^ Бэкон, Дэвид Ф .; Лоури, Энди (1990). Портативная система выполнения для языка распределенного программирования Hermes . Летняя техническая конференция USENIX. Анахайм, Калифорния, США: Ассоциация Usenix. стр. 39–50.
- ^ Корфхаге, Уиллард; Голдберг, Артур П. (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 г.
- ^ Стром, Роберт Э. (1983). «Механизмы обеспечения безопасности во время компиляции». Материалы 10-го симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования - POPL '83 . стр. 276–284. дои : 10.1145/567067.567093 . ISBN 978-0897910903 . S2CID 6630704 .