Curl: Объединение веб-разработки и объектно-ориентированного программирования
Curl (programming language)
Curl: язык программирования для веб-приложений, объединяющий разметку, скрипты и вычисления. Плавный переход от форматирования к программированию, компилятор.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Curl — объектно-ориентированный язык программирования, предназначенный для создания интерактивных веб-приложений, целью которого является обеспечение более плавного перехода между форматированием и программированием. Он позволяет встраивать сложные объекты в простые документы без необходимости переключения между языками программирования или платформами разработки. Изначально реализация Curl состояла только из интерпретатора, но позднее был добавлен компилятор. Curl объединяет текстовую разметку (как в HTML), скрипты (как в JavaScript) и ресурсоемкие вычисления (как в Java, C# или C++) в единой структуре. Он используется в различных внутренних корпоративных, B2B и B2C приложениях. Программы на Curl могут быть скомпилированы в апплеты Curl, которые просматриваются с помощью Curl RTE — среды выполнения с плагином для веб-браузеров. В настоящее время он поддерживается на Microsoft Windows и Linux, а поддержка macOS была прекращена 25 марта 2019 года (начиная с версии 8.0.10). Curl поддерживает "автономные апплеты" — веб-приложения, которые выполняются на рабочем столе пользователя независимо от окна браузера, подобно Silverlight 3 и Adobe AIR.
Curl is a reflective object oriented programming language for interactive web applications whose goal is to provide a smoother transition between formatting and programming. It makes it possible to embed complex objects in simple documents without needing to switch between programming languages or development platforms. The Curl implementation initially consisted of just an interpreter, but a compiler was added later. Curl combines text markup (as in HTML), scripting (as in JavaScript), and heavy duty computing (as in Java, C#, or C++) within one unified framework. It is used in a range of internal enterprise, B2B, and B2C applications. Curl programs may be compiled into Curl applets, that are viewed using the Curl RTE, a runtime environment with a plugin for web browsers. Currently, it is supported on Microsoft Windows. Linux, and macOS was dropped on March 25, 2019 (starting with version 8.0.10). Curl supports "detached applets", which is a web deployed applet which runs on the user's desktop independent of a browser window much as in Silverlight 3 and Adobe AIR.
Архитектура
Язык Curl призван решить давнюю проблему: различные строительные блоки, составляющие любой современный веб-документ, зачастую требуют совершенно разных подходов к реализации: разные языки, разные инструменты, разные фреймворки, нередко – и совершенно разные команды. Последним и часто самым сложным этапом является обеспечение согласованного взаимодействия между всеми этими блоками. Curl стремится обойти эти трудности, предоставляя единый синтаксический и семантический интерфейс на всех уровнях создания веб-контента: от простого HTML до сложного объектно-ориентированного программирования. Curl – это язык разметки, подобно HTML, то есть обычный текст отображается как текст; при этом Curl включает в себя объектно-ориентированный язык программирования, поддерживающий множественное наследование. Приложения, разработанные на Curl, не обязаны придерживаться разделения информации, стиля и поведения, которое навязывают HTML, каскадные таблицы стилей (CSS) и JavaScript, хотя такой стиль программирования может быть использован в Curl при желании. Несмотря на то, что Curl можно использовать как замену HTML для представления форматированного текста, его возможности простираются вплоть до уровня компилируемого, строго типизированного, объектно-ориентированного языка системного программирования. Как средства разработки (на уровне HTML), так и программные конструкции Curl могут быть расширены в пользовательском коде. Язык спроектирован таким образом, чтобы приложения Curl могли компилироваться в нативный код клиентской машины с помощью JIT-компилятора и выполняться с высокой скоростью. Curl-апплеты также могут быть разработаны для работы в автономном режиме при отключении от сети (периодически подключаемые вычисления). Фактически, Curl IDE – это приложение, написанное на Curl.
The Curl language attempts to address a long standing problem: the different building blocks that make up any modern web document most often require wildly different methods of implementation: different languages, different tools, different frameworks, often completely different teams. The final — and often most difficult — hurdle has been getting all of these blocks to communicate with each other in a consistent manner. Curl attempts to side step these problems by providing a consistent syntactic and semantic interface at all levels of web content creation: from simple HTML to complex object oriented programming. Curl is a markup language like HTML—that is, plain text is shown as text; at the same time, Curl includes an object oriented programming language that supports multiple inheritance. Curl applications are not required to observe the separation of information, style, and behavior that HTML, Cascading Style Sheets (CSS), and JavaScript have imposed, although that style of programming can be used in Curl if desired. While the Curl language can be used as an HTML replacement for presenting formatted text, its abilities range all the way to those of a compiled, strongly typed, object oriented system programming language. Both the authoring (HTML level) and programming constructs of Curl can be extended in user code. The language is designed so Curl applications can be compiled to native code of the client machine by a just in time compiler and run at high speed. Curl applets can also be written so that they will run off line when disconnected from the network (occasionally connected computing). In fact, the Curl IDE is an application written in Curl.