Plange — новая универсальная экосистема для разработки

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

Вот неполный список этих возможностей:

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

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

Все языки программирования условно можно разделить на несколько поколений. Первое и второе поколение — это машинные языки и различные стандартизированные ассемблеры. Третье поколение — языки структурного программирования: C, C++, Java, COBOL. Четвертое поколение характеризуется динамической типизацией, высокоуровневыми возможностями обработки данных и функциональными возможностями. Из языков общего назначения к четвертому поколению относятся Python, Ruby. Из специализированых — R и Mathematica. Пятое поколение языков — языки с возможностью автоматического доказательства теорем. Таким образом, Plange можно отнести к языкам пятого поколения.

Код на Plange выглядит так:

Функция printLast выводит на экран последний элемент списка и имеет тип <List → Void>. Такой же код, например, на Haskell, будет выглядеть так:

Стоит отметить поддержку сопоставления с образцом в этом примере и отсутствие необходимости оборачивать результат в монаду IO.