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

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

мультипарадигменный: объектно-ориентированный, разметка

Появился в:

1998

Автор(ы):

Стив Уорд, MIT

Релиз:

7.0.0

Типизация данных:

строгая

Испытал влияние:

HTML, JavaScript

Сайт:

http://www.curl.com/

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

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

С одной стороны язык Curl может использоваться как замена HTML для представления форматированного текста, с другой стороны, его возможности охватывают не уступают возможностям компилируемых, строго типизированным объектно-ориентированным системным языкам программирования.[1] Как «украшательства» (HTML-уровень), так и программные конструкции Curl могут быть расширены в пользовательском коде.

Язык проектировался так, чтобы Curl-приложения могли компилироваться в родной код клиентской машины за счет использования JIT-компиляции, и благодаря чему выполняться на достаточно высокой скорости.

Апплеты Curl можно просматривать при помощи Curl RTE — среды исполнения с дополнениями для веб-браузеров. На данный момент, поддерживаются платформы Microsoft Windows, Linux и Macintosh.

Curl обладает возможностью независимой работы апплетов в течение нескольких лет, то есть веб-апплет, исполняющийся на рабочем столе пользователя, не зависит от окна браузера, как это сделано в Silverlight 3 и Adobe AIR. Curl-апплеты также могут быть написаны таким способом, чтобы они выполнялись офлайн при отключении от сети (вычисления с редким подключением или occasionally-connected computing). Фактически, Curl IDE — это приложение, написанное на самом Curl.

Содержание

Синтаксис

Простой Curl-апплет «HelloWorld» может выглядеть так:

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

Данный код выполнится, если пользователь имеет установленный Curl по крайней мере одной из версий 5.0, 6.0 или 7.0.

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

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

Не так давно этот стиль разметки был взят на вооружение 'конструкторами' (builders) в языке Groovy для JVM, что весьма удобно и для пользователей, привыкших к CSS или Tcl/Tk. Большинство возможностей RIA, созданных за счет комбинации библиотек JavaScript + HTML + CSS, уже давно реализовано в языке Curl, включая такие возможности, которые обычно ассоциируются с Prototype + Scriptaculous, как например, набор вкладок (accordion panes).

Curl выполняет обратные вызовы (callbacks) в том же стиле, что принят в 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 = "Ваше сообщение",
           "Это сообщение диалога с пользователем."
       }
   }}

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

{text A comment can be on a line by itself,
|| Строчный комментарий на отдельной строке
or it can be at the end || Комментарий на той же строке, что и код
of a line.}

Условия распространения

Штаб-квартира Curl, Inc. расположена в Кембридже, штат Массачусетс, и является дочерней компанией Sumisho Computer Systems Corp.. Наибольшее число из 400 коммерческих пользователей Curl находится в Японии и других азиатских странах, но Curl вполне доступен и на Западе.

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

См. также

  • Гомоиконичность (англ.): Curl — и язык программирования, и формат данных

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Curl (язык программирования)" в других словарях:

  • Хронология языков программирования — Списки языков программирования По категориям Хронологический Генеалогический Хронология языков программирования  упорядоченный в хронологическом порядке список языков программирования. Содержание …   Википедия

  • Список языков программирования — Списки языков программирования Алфавитный По категориям Хронологический Генеалогический Цель этого алфавитного списка языков программирования состоит в том, чтобы дать полный перечень всех существующих языков программирования, как используемых в… …   Википедия

  • ПХП — PHP Семантика: мультипарадигменный Тип исполнения: Интерпретатор компилирующего типа Появился в: 1995 г. Автор(ы): Расмус Лердорф Последняя версия: 4 …   Википедия

  • РНР — PHP Семантика: мультипарадигменный Тип исполнения: Интерпретатор компилирующего типа Появился в: 1995 г. Автор(ы): Расмус Лердорф Последняя версия: 4 …   Википедия

  • REBOL — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей …   Википедия

  • Программы UNIX-подобных операционных систем — Это список популярных программ, работающих в операционных системах основанных на UNIX (POSIX совместимых). Некоторые из этих программ являются стандартными для UNIX подобных систем. Содержание 1 Системный софт 1.1 Общего назначения …   Википедия

  • Список языков описания пользовательских интерфейсов — Содержание 1 По производителю или платформе 1.1 Flash 1.2 Java 1.3 Microsof …   Википедия

  • Таблица соответствий Windows и Linux программ — Таблица соответствий Windows и Linux программ  это постоянно обновляемая таблица, содержащая актуальный список одинаковых, либо аналогичных, либо взаимозаменяющих, либо сходных по назначению программ для операционных систем Windows и систем… …   Википедия

  • Gambas — Gambas …   Википедия

  • TeraTermPro — Тип Программа для скачивания файлов Разработчик T. Teranishi ОС Windows Версия 4.63 (5 июля 2009) Лицензия …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»