Fantom (язык программирования) - Fantom (programming language)

Фантом
Fantom-logo.png
Парадигмамультипарадигма
РазработчикБрайан Франк, Энди Франк
Впервые появился2005[1]
Стабильный выпуск
1.0.75 / 24 августа 2020 г.; 3 месяца назад (2020-08-24)[2]
Печатная дисциплинастатический, динамичный
ЛицензияАкадемическая бесплатная лицензия версия 3.0[3]
Расширения имени файла.fan, .fwt, .pod
Интернет сайтwww.fantom.org
Под влиянием
C #, Ява, Scala, Рубин, Erlang

Фантом общего назначения объектно-ориентированный язык программирования созданный Брайаном и Энди Фрэнком[4] что работает на Среда выполнения Java (JRE), JavaScript, и .NET общеязыковая среда выполнения (CLR) (поддержка .NET считается "прототипом"[5] положение дел). Его основная цель дизайна - предоставить стандартную библиотеку API[6] это абстрагирует вопрос о том, будет ли код в конечном итоге работать на JRE или CLR. Нравиться C # и Ява, Fantom использует синтаксис фигурных скобок. Язык поддерживает функциональное программирование через закрытие и параллелизм через Актерская модель. Fantom использует подход «середины пути» к своей системе типов, смешивая воедино аспекты статической и динамической типизации.

Печатать

Система шрифтов Fantom проста по конструкции. Все переменные статически типизированы, как и в C # и Ява. Fantom отвергает общие типы из-за их сложности, но у него есть набор встроенных универсальных типов: Список, карта, и Func. Fantom также может почувствовать динамически типизированный язык с помощью динамических вызовов и автоматического понижение. Fantom имеет простой в использовании отражение API и метапрограммирование возможности.

Fantom с открытым исходным кодом под Академическая бесплатная лицензия 3.0 и доступен для Windows и Unix-подобных платформ (включая Mac OS X).[7]

Стручки

В Fantom единица развертывания называется стручок. Стручки берут на себя роль пространства имен, пакеты, и модули. Они хранятся в виде файлов .pod, которые застегивать файлы, содержащие FCode (байт-код Fantom), документацию и файлы ресурсов необходимо для запуска модуля. Модуль может определять любое количество типов для использования в других библиотеках и приложениях. Имя модуля полностью соответствует имени типа. Например, fwt :: Widget отличается от webapp :: Виджет. Если модуль содержит тип с именем Главный, то его можно выполнить в командной строке с помощью: вентилятор

Система сборки Fantom может упаковать набор модулей в JAR архив через build :: JarDist.

Набор инструментов Fantom Widget

Fantom поставляется со стандартным набор инструментов для работы с окнами называется Fantom Widget Toolkit, или сокращенно FWT.[8] Как и Fantom, FWT был разработан с возможностью переносимости на несколько платформ. В настоящее время он реализован на JVM с использованием Стандартный набор инструментов виджетов как бэкэнд. Реализация JavaScript поддерживается элемент холста и JavaFX, позволяя запускать приложения FWT в веб-браузере. Есть планы по реализации CLR с использованием Windows Forms.

Пример "Hello World"

Вот классика Привет, мир программа написано в Fantom:

// Привет от Фантома!учебный класс Привет, мир{  статический Пустота главный()  {    эхо("Привет, мир!")  }}

Обратите внимание, что «Void» пишется с заглавной буквы. Это потому, что Void - это класс, а не примитивный тип в Fantom.

Изменение имени

Первоначальное название языка программирования Fantom было Fan, в честь район где живут создатели Ричмонд, Вирджиния. После того, как язык приобрел некоторую популярность, члены сообщества выразили обеспокоенность по поводу возможность поиска имени. В ноябре 2009 г.[9] официально название проекта было изменено с Fan на Fantom.[10]

Другие свойства

У Fantom есть и другие полезные функции:

  • Fantom поддерживает импорт классов и модулей Java с некоторыми ограничениями.[11]
  • Целое число 64-битное. В отличие от Java и C #, Fantom не имеет целочисленных типов Long или Short.
  • Сериализация и десериализация классов в / из строк.[12]
  • Фантом делает нет поддерживать кортежи (то есть типы, которые являются Декартово произведение других типов)[13]

Смотрите также

Рекомендации

  1. ^ Пост в блоге об истории Fantom
  2. ^ "Фантом". 26 марта 2020.
  3. ^ Часто задаваемые вопросы языкового сайта Fandoc
  4. ^ Fantom FAQ: Свяжитесь с нами
  5. ^ Fantom FAQ: Дорожная карта
  6. ^ FAQ по Fantom: Почему Fantom?
  7. ^ Макаллистер, Нил (2012-01-03). «10 языков программирования, которые могут встряхнуть ИТ». InfoWorld. Получено 2015-10-30.
  8. ^ "fwt - Fantom". Fantom.org. 2015-01-08. Получено 2015-10-30.
  9. ^ История языка программирования Fantom
  10. ^ Фанат теперь официально называется Fantom
  11. ^ Java FFI на домашней странице Fantom
  12. ^ Сериализация на Fantom.org
  13. ^ Вопрос по кортежам на официальной странице Fantom

дальнейшее чтение

внешняя ссылка