LibKing » Книги » comp-programming » W Cat - Язык программирования Euphoria. Справочное руководство

W Cat - Язык программирования Euphoria. Справочное руководство

Тут можно читать онлайн W Cat - Язык программирования Euphoria. Справочное руководство - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Язык программирования Euphoria. Справочное руководство
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.25/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

W Cat - Язык программирования Euphoria. Справочное руководство краткое содержание

Язык программирования Euphoria. Справочное руководство - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».


Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.

[Материал из Википедии]

Язык программирования Euphoria. Справочное руководство - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования Euphoria. Справочное руководство - читать книгу онлайн бесплатно, автор W Cat
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

Определения обычных языков, таких как C, C++, Ada и т.д., очень сложны. Большинство программистов осваивает только некоторое подмножество возможностей языка. Стандарты ANSI на эти языки читаются как сложные своды законов.

Вас вынуждают писать разный код для разных типов данных, даже чтобы просто скопировать данные, получить текущую длину, сцепить их, сравнить их и т.д. Руководства по этим языкам переполнены функциями, такими как "strcpy", "strncpy", "memcpy", "strcat", "strlen", "strcmp", "memcmp", и т.п., каждая из которых работает только с одним из многих типов данных.

Слишком много сложностей вокруг вопроса о типах данных. Как определить новые типы? Какие типы данных могут быть смешанными? Как преобразовать один тип в другой, да ещё чтобы компилятор остался счастливым? Когда вам нужно что-то, требующее гибкости во время исполнения программы, вы часто находите себя за занятием, которое очень смахивает на попытки надувательства компилятора.

В этих языках численная величина 4 (к примеру) может иметь различный смысл в зависимости от того, что это за тип: int, char, short, double, int* и т.д. В Euphoria 4 - это атом 4, точка! В Euphoria есть кое-что, также названное типом, но это намного более простая концепция, как мы увидим чуть позже.

Вопросы динамического выделения и освобождения памяти занимают изрядный кусок времени на программирование и отладку в этих других языках, и делают результирующую программу значительно более трудной для понимания. Программы, предназначенные для продолжительного непрерывного исполнения, часто страдают "утечкой" памяти, избавление от которой требует высочайшей дисциплины безопасного и правильного освобождения блоков памяти, надобность в которых отпала. Euphoria автоматически следит за выделением и высвобождением памяти.

В других языках широко используются переменные-указатели (пойнтеры). Пойнтеры следовало бы назвать "goto" для структур данных. Они заставляют программиста думать о данных как о закреплённых в памяти огороженных участках, на которых производятся разного рода низкоуровневые, непереносимые на другие платформы трюки. Картина медных кишочек машины, на которой будет исполняться программа, то и дело всплывает в воображении программиста. В Euphoria нет пойнтеров и она не нуждается в них.

2.4 Объявления

2.4.1 Имена (идентификаторы)

Идентификаторы, к которым относятся имена переменных, подпрограмм и других структурных единиц программы, могут иметь любую длину. Строчные и заглавные буквы различаются. Имена должны начинаться с буквы, а затем могут содержать цифры и знаки подчерка - '_'. В системе существует группа занятых слов(их иногда ещё называют зарезервированными, резервными или ключевыми словами), имеющих особое значение в Euphoria, и которые не могут быть использованы в качестве имен:

and end include to

by exit not type

constant for or while

do function procedure with

else global return without

elsif if then xor

Редактор Euphoria отображает эти занятые слова в синем цвете.

Идентификаторы служат для объявления и последующего использования следующих структурных единиц (элементов) языка:

* процедур

* функций

* типов

* переменных

* констант (постоянных)

В процедурах выполняются разнообразные действия и они могут иметь список аргументов (параметров), то есть,

procedure empty()

end procedure

procedure plot(integer x, integer y)

position(x, y)

puts(1, '*')

end procedure

В круглых скобках, следующих за именем объявляемой процедуры, вы через запятые пишете список аргументов (если они вам необходимы). В первом примере пустая процедура не имеет аргументов. Во втором примере хотя и показан список, состоящий всего из двух аргументов, это не означает, что допустимая длина списка как-то ограничена. Кроме того, каждый из аргументов может быть рядом произвольной структуры и длины. Во многих языках списки агрументов с переменной длиной вообще невозможны. А в языке C вы должны для этого установить странные механизмы, которые настолько сложны, что среднему программисту приходится каждый раз перечитывать руководство или консультироваться с местными гениями.

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

Примечание о производительности:Интерпретатор на самом деле копирует ряды или числа с плавающей точкой только в тех случаях, когда это становится действительно необходимо, например:

y = {1,2,3,4,5,6,7,8.5,"ABC"}

x = y

Команда присваивания x = y фактически не создает новую копию y, содержащуюся в x. После выполнения этой команды и x, и y будут просто "указывать" на один и тот же ряд, заданный выражением для y ранее. Если мы позже выполним x[3] = 9, то для x в памяти будет создана новая копия (хотя всё ещё будет только одна общая (для x и y) копия числа с плавающей точкой 8.5 и для внутреннего ряда "ABC"). Такой же приём работает по отношению к "копиям" аргументов, подаваемых в подпрограммы (подпрограмма - это общий термин для процедур, функций и типов).

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

function max(atom a, atom b)

if a = b then

return a

else

return b

end if

end function

Любой объект Euphoria может быть выдан функцией. Вы можете, по сути, иметь множество выдаваемых величин, записав выдачу ряда объектов, например,

return {x_pos, y_pos}

Мы будем использовать общий термин "подпрограмма", когда наше замечание относится одновременно и к процедурам, и к функциям.

В Euphoria имеются специальные функции, которые используются для объявления допустимых величин переменных. Тип должен иметь строго один аргумент и выдавать атом, который может иметь два значения - истина (не-нуль) или ложь (нуль). Типы также могут быть вызваны подобно другим функциям. См. 2.4.3 Задание типа переменной.

Переменным могут быть присвоены значения во время исполнения программы, например,

-- x можно присвоить только целочисленную величину

integer x

x = 25

-- a, b и c можно присвоить *любую* величину

object a, b, c

a = {}

b = a

c = 3.14

Когда вы объявляете переменную, вы даёте ей имя (которое позже предохраняет вас от ошибок правописания) и, задавая тип, определяете величины, которые могут быть законно присвоены вашей переменной во время исполнения программы.

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования Euphoria. Справочное руководство отзывы


Отзывы читателей о книге Язык программирования Euphoria. Справочное руководство, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img