Jump to content

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

Завиток
Парадигмы мультипарадигмальность : объектно-ориентированная , разметка
Разработано Стив Уорд , Массачусетский технологический институт
Разработчик Curl, Inc., Sumisho Computer Systems Corp., SCSK Corporation
Впервые появился 1998 год ; 26 лет назад ( 1998 )
Стабильная версия
8.0.13 / 6 сентября 2022 г .; 22 месяца назад ( 06.09.2022 )
Дисциплина набора текста сильный
ТЫ Окна
Лицензия собственный
Веб-сайт www .curl
Диалекты
никто
Под влиянием
HTML , JavaScript , Лисп

Curl рефлексивный объектно-ориентированный язык программирования для интерактивных веб-приложений , цель которого — обеспечить более плавный переход между форматированием контента и компьютерным программированием . Это позволяет встраивать сложные объекты в простые документы без необходимости переключения между языками программирования или платформами разработки. Реализация Curl изначально состояла только из интерпретатора ; компилятор . был добавлен позже

Curl сочетает в себе текстовую разметку (как в языке гипертекстовой разметки ( HTML )), сценарии (как в JavaScript ) и тяжелые вычисления (как в Java , C# или C++ ) в одной унифицированной среде. Он используется в ряде корпоративных приложений, приложений «бизнес-бизнес» (B2B) и «бизнес-потребитель» (B2C).

Программы Curl могут быть скомпилированы в апплеты Curl, которые просматриваются с помощью Curl RTE, среды выполнения с плагином для веб-браузеров . В настоящее время он поддерживается в Microsoft Windows . Поддержка Linux и macOS прекращена 25 марта 2019 г. (начиная с версии 8.0.10). [1] Curl поддерживает «отдельные апплеты» , то есть апплеты, развертываемые в сети и работающие на рабочем столе пользователя независимо от окна браузера, как в Microsoft Silverlight 3 и Adobe AIR .

Архитектура

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

Язык Curl пытается решить давнюю проблему: различные строительные блоки, из которых состоит любой современный веб-документ, чаще всего требуют совершенно разных методов реализации: разные языки, разные инструменты, разные платформы, часто совершенно разные команды. Последним и зачастую самым трудным препятствием является обеспечение согласованного взаимодействия всех этих блоков друг с другом. Curl пытается обойти эти проблемы, предоставляя согласованный синтаксический и семантический интерфейс на всех уровнях создания веб-контента: от простого HTML до сложного объектно-ориентированного программирования .

Curl — это язык разметки , подобный HTML, то есть обычный текст отображается как текст; в то же время Curl включает в себя объектно-ориентированный язык программирования, поддерживающий множественное наследование . Приложения Curl не обязаны соблюдать разделение информации, стиля и поведения, которое HTML, каскадные таблицы стилей навязывают (CSS) и JavaScript, хотя при желании этот стиль программирования можно использовать в Curl.

Хотя язык Curl можно использовать в качестве замены HTML для представления форматированного текста, его возможности простираются до уровня компилируемого, строго типизированного, объектно-ориентированного языка системного программирования. [2] Как авторские (уровень HTML), так и программные конструкции Curl могут быть расширены в пользовательском коде. Язык разработан таким образом, чтобы приложения Curl можно было скомпилировать в собственный код клиентского компьютера с помощью JIT-компилятора и запустить на высокой скорости. Апплеты Curl также могут быть написаны так, чтобы они могли работать в автономном режиме при отключении от сети ( иногда подключенных вычислениях ). Curl IDE — это приложение, написанное на Curl.

Синтаксис

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

Простой апплет Curl для команды «Hello, World!» программа может быть:

 {Curl 7.0, 8.0 applet}
 {text
    color = "blue",
    font-size = 16pt,
    Hello World}

Этот код будет запущен, если у пользователя установлена ​​хотя бы одна из версий Curl 7.0 или 8.0.

Curl предоставляет как макросы , так и текстовые процедуры в дополнение к анонимным процедурам и именованным методам. текстовой процедуры Альтернативой использованию параграфа может быть:

 {paragraph
    paragraph-left-indent=0.5in,
    {text color = "red", font-size = 12pt,
      Hello}
    {text color = "green", font-size = 12pt,
      World}}

Недавно этот стиль компоновки был принят «строителями» языка Groovy для виртуальной машины Java (JVM), но также знаком пользователям CSS или Tcl / Tk . Большинство функций веб-приложений, реализованных сейчас посредством комбинаций библиотек JavaScript + HTML + CSS, уже присутствуют в языке Curl, включая функции, обычно связанные с Prototype + script.aculo.us, такие как панели-аккордеон.

Curl устанавливает обратные вызовы так же, как это принято в Groovy:

 {CommandButton width=100pt,
    height = 50pt,
    label = {center {bold Invokes an event handler when clicked}},
    control-color = "orange",
    || Attach the following event handler to this CommandButton
    {on Action do
        {popup-message
            title = "Your Message",
            "This is a user message dialog."
        }
    }}

В комментариях Curl используется вертикальная полоса в нескольких вариантах. Самый простой заключается в следующем:

 {text A comment can be on a line by itself,
 || A comment on a line by itself
 or it can be at the end || A comment on the same line as code
 of a line.}

Как облегченная разметка

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

Поскольку Curl предоставляет как определяемые пользователем текстовые процедуры, так и таблицы стилей , его можно легко использовать в качестве облегченной разметки для конкретной предметной области . Основным преимуществом по сравнению с разметкой HTML в виде простого текста является то, что для текстовой кодировки можно установить UTF-8 , а текст вводить в Unicode с поддержкой текстовом редакторе без экранирования символов (например, JavaScript, Curl поддерживает Unicode). Пример поэзии :

 {poem || wraps entire poem
    {stanza  || first verse here in any language
    }
    {stanza  || another verse here in any language
    }
 }

который первоначально может быть реализован путем определения разметки стихотворения и строфы как текстовых форматов абзаца. Stanza можно было бы усовершенствовать, включив в него скрытую навигационную привязку для навигации по страницам с использованием Curl {destination}, которая сама по себе является текстовой процедурой.

Одну и ту же разметку можно использовать для разных результатов, поскольку можно стилизовать текст так, чтобы он был видимым в одном контексте и невидимым в другом. Curl также позволяет включать файлы верхнего уровня, поэтому исходный текст в разметке можно включать в разные родительские файлы. Например, в сфере образования можно создать исходный файл тестовых вопросов и включить его в версию текста как для ученика, так и для учителя.

См. также

[ редактировать ]
  1. ^ «Изменения в поддерживаемых операционных системах продуктов Curl RTE» . Корпорация СКСК. Архивировано из оригинала 13 мая 2019 г. Проверено 01 апреля 2020 г.
  2. ^ М. Хостеттер; Д. Кранц; C. Семена; К. Терман; С. Уорд. «Curl: мягкий язык для Интернета» . Лаборатория компьютерных наук Массачусетского технологического института. Архивировано из оригинала 24 декабря 2008 г. Проверено 20 декабря 2005 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c44ca0ce0ff636c00c73b35a9f5b2b80__1718902860
URL1:https://arc.ask3.ru/arc/aa/c4/80/c44ca0ce0ff636c00c73b35a9f5b2b80.html
Заголовок, (Title) документа по адресу, URL1:
Curl (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)