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

редактировать
Пайк
Логотип для языка программирования Pike.
Парадигма Многопарадигма : объектно-ориентированный, функциональный, процедурный
Разработан Фредрик Хубинетт
Разработчик Группа разработчиков Pike при поддержке отдела программного обеспечения и систем Департамента компьютерных и информационных наук (IDA) в университете Линчёпинга
Впервые появилось1994; 26 лет назад (1994 г.)
Стабильный выпуск 8.0.702 / 1 ноября 2018 г.; 23 месяца назад (2018-11-01)
Дисциплина печати Статический, динамический, манифест
OS Любой Unix-подобный, Windows
Лицензия GPL / LGPL / MPL
Веб-сайтpike.lysator.liu.se Измените это в Викиданных
Основные реализации
Pike
Под влиянием
LPC, C, C ++

Pike - это интерпретируемый, универсальный, высокоуровневый, кроссплатформенный, язык динамического программирования с синтаксисом, аналогичным синтаксису C. В отличие от многих других динамических языков, Pike имеет статическую и динамическую типизацию и требует явных определений типов. Он отличается гибкой системой типов, которая позволяет быстро разрабатывать и гибко кодировать языки с динамической типизацией, при этом обеспечивая некоторые преимущества языка со статической типизацией.

Pike включает сборку мусора, расширенные типы данных и первоклассные анонимные функции с поддержкой многих парадигм программирования, включая объектно-ориентированный, функциональный и императивное программирование. Pike - это бесплатное программное обеспечение, выпущенное по лицензиям GPL, LGPL и MPL.

Содержание

  • 1 История
  • 2 Подсветка синтаксиса
    • 2.1 Hello World
    • 2.2 Типы данных
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

История

Pike уходит корнями в LPC, язык, разработанный для MUD. Программисты из Lysator в Линчёпинг, Швеция, в первую очередь Фредрик Хубинетт и Пер Хедбор, отделили язык и виртуальную машину от остальной части драйвера MUD и использовали их в качестве языка быстрого прототипирования. для различных приложений, называя его LPC4.

Лицензия LPC не позволяла использовать его в коммерческих целях, поэтому в 1994 году была написана новая реализация GPL, названная µLPC (micro LPC).

В 1996 году µLPC была переименована в Pike, чтобы обеспечить более рентабельное название. Хотя название компании с годами изменилось, компания, ныне известная как Roxen Internet Software, наняла множество разработчиков Pike и предоставила ресурсы для разработки Pike. Roxen - это также название веб-сервера, разработанного компанией в Пайке. В 2002 году лаборатория среды программирования в Университете Линчёпинга взяла на себя обслуживание Pike у Roxen. Несколько программистов Pike нашли свой путь в офис Linköping Opera Software, где язык играет центральную роль в серверных / шлюзовых частях приложения Opera Mini.

Подсветка синтаксиса

Hello World

Для объяснения традиции программирования «Hello World» см. Программа Hello world.
int main () {write («Hello world! \ n "); возврат 0; }

Синтаксис выше требует некоторых пояснений. Те, кто знаком с C или C ++, должны сразу усвоить его.

  • Первая строка содержит основную функцию. Это первая функция, выполняемая при запуске программы. «Int» перед ним указывает, что число типа Integer будет возвращено, когда функция завершится.
  • Функция записи отправляет строковый литерал в стандартный выходной буфер, который в большинстве случаев является интерфейсом командной строки .
  • Третья строка возвращает номер вызывающей функции, в данном случае интерфейс командной строки , где ноль обычно означает программа выполнена без ошибок.
  • Фигурные скобки заключают функцию, а точка с запятой разделяет операторы (это означает, что функция могла быть записана в одной строке: int main () {write ("Hello world! \ n"); return 0;})
  • "\ n" после "Hello world!" - это символ новой строки.

Типы данных

В следующем списке показаны все стандартные типы данных, которые предоставляет Pike. Расширенные типы данных, такие как последовательности, очереди, кучи, стеки и т. Д., Доступны в модуле ADT, который входит в состав Pike.

Базовый типы данных:

  • int
  • float
  • string

Contai Типы неров:

Другие типы:

  • программа (скомпилированное представление класса)
  • объект (экземпляр класса)
  • функция

Пайк требует явных определений типов для всех переменных. Он использует эту информацию для сообщения об ошибках типа во время компиляции. Следующий код вызовет ошибку компиляции, потому что значение переменной «число» должно быть целым числом, но код пытается присвоить ему значения с плавающей запятой и строковые значения.

целое число; // целочисленная переменная, принимает только целые числа number = 5.5; // 5.5 - значение с плавающей запятой, номер ошибки = "5"; // «5» - это строка, а не целое число 5, ошибка

Такое поведение традиционно считается ограничивающим и ограничивающим сторонниками языков с динамической типизацией. Однако, в отличие от C, C ++ и Java, Pike использует более гибкую систему типов, а именно систему помеченных объединений. Система позволяет программистам объявлять переменные, которые могут содержать значения нескольких типов, что невозможно в большинстве языков семейства C, не выходя за пределы безопасного использования.

. Ниже демонстрируется переменная, которая может содержать целое число. или число с плавающей запятой.

int | число с плавающей запятой; // целое ИЛИ переменная с плавающей запятой number = 5; // это правильный номер = 5.5; // это также допустимо

Поскольку переменная может быть объявлена ​​как содержащая много разных типов данных, предусмотрены функции для определения того, какой тип данных хранится в настоящее время. Все эти функции имеют форму typenamep, например intp, floatp, stringp и т. Д.

int | float number; число = 5; intp (число); // возвращает истину, потому что число содержит int floatp (number); // возвращает ложное число = 5.5; floatp (число); // возвращает истину, потому что число теперь содержит число с плавающей запятой

Кроме того, существует специальный «смешанный» тип данных. Это определение позволяет переменной содержать любой тип данных.

смешал что угодно; ничего = 5; // теперь что-нибудь является целым числом 5 something = 5.5; // теперь значение с плавающей точкой 5.5 something = "5"; // что-нибудь теперь является строковым значением "5"

Чтобы преобразовать значение из одного типа в другой, Пайк может использовать явное приведение:

mixed something; что-нибудь = (int) 5.5; // something теперь целочисленное значение 5 something = (string) something; // теперь что-либо является строковым значением "5"

См. также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-02 05:47:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте