Jump to content

Хоп (программное обеспечение)

Прыгать
Парадигма мультипарадигмальность
Разработано Мануэль Серрано
Впервые появился 2006
Стабильная версия
2.4.2 / 23 сентября 2013 г .; 10 лет назад ( 23 сентября 2013 )
Дисциплина набора текста сильный, динамичный
Лицензия Лицензионная лицензия 2+
Веб-сайт прыгать .инрия .fr Отредактируйте это в Викиданных
Под влиянием
Схема [1]
Национальный институт исследований в области компьютерных наук и автоматизации
Формирование 1967
Цель Исследовать
Обслуживаемый регион
Франция

Hop — это Lisp -подобный язык программирования, созданный Мануэлем Серрано для Web 2.0 , а также имя веб-брокера ( сервера и прокси ), реализующего этот язык. Это написано на Bigloo Scheme . Это проект, финансируемый INRIA .

Языковой дизайн

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

Hop — это многоуровневый язык, а это означает, что один программный файл содержит инструкции как для сервера, так и для клиента. Сервер выполняет ресурсоемкие вычисления и операции, требующие системных привилегий для доступа к файлам или другим ресурсам. Клиенты (которых может быть много, например, браузеры, сотовые телефоны и т. д.) предназначены для выполнения действий, связанных с программированием графических пользовательских интерфейсов.

(define-service (server-date)             ; 1
  (current-date))                         ; 2

(<HTML>                                   ; 4
  (<BUTTON>                               ; 5
    :onclick ~(with-hop ($server-date)    ; 6
                  (lambda (h) (alert h))) ; 7
      "Server time"))                     ; 8

Приведенный выше фрагмент кода иллюстрирует несколько концепций.

  • 8 строк кода определяют полную программу. Строки 1 и 2 приводят к определению службы на сервере. Строки с 4 по 8 приводят к созданию HTML-страницы с функциями JavaScript. Он предписывает клиенту (браузеру) отображать кнопку с меткой «Время сервера» и отправлять запрос на сервер, когда пользователь нажимает на кнопку. Hop автоматически генерирует все инструкции, необходимые для связи между клиентом и сервером.
  • Hop основан на Scheme. Таким образом, программа Hop по сути представляет собой список слов и/или списков, которые начинаются и заканчиваются круглыми скобками. Например, «(HTML-содержимое)». «HTML» — это имя функции, а «содержимое» — параметр функции.
  • Имена функций в Hop могут содержать символы, отличные от букв и цифр. Например, «<HTML>» — допустимое имя. Поэтому синтаксис Hop очень похож на HTML (по дизайну). Выражение Hop «(<HTML> content)» аналогично выражению HTML «<HTML>content</HTML>».
  • Параметры HTML начинаются с двоеточия; например «:onclick».
  • Символ $ в «$server-date» указывает, что сервер должен заменить имя переменной «server-date» значением переменной перед отправкой HTML клиенту. Это очень похоже на то, как работают ASP и JSP.
  • Символ ~ в «:onclick ~(...)» указывает, что клиент должен обработать то, что находится в круглых скобках.
  • Функция «with-hop» в «(with-hop (...) (...))» — это специальная функция, которая делегирует работу серверу и принимает два параметра. Первый параметр содержит запрос, который клиент должен отправить на сервер асинхронно. Второй параметр содержит функцию обратного вызова, которую клиент должен вызвать при получении ответа от сервера. «(лямбда (h) (alert h))» — это анонимная функция, принимающая один входной параметр «(h)», который содержит ответ сервера при вызове функции. «(alert h)» — это тело функции.

Проблемы

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

Учитывая недавнее появление, Hop в настоящее время обладает рядом недостатков.

  • Безопасность слабая. Это область активных исследований. [2]
  • Сетевые сбои в настоящее время обрабатываются с помощью вручную запрограммированных процедур тайм-аута и исключений. Этот подход является трудоемким и относительно ненадежным. [2]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fd194a1d79596776e9d32372222c4a96__1705054260
URL1:https://arc.ask3.ru/arc/aa/fd/96/fd194a1d79596776e9d32372222c4a96.html
Заголовок, (Title) документа по адресу, URL1:
Hop (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)