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

редактировать
Fantom
Fantom-logo.png
Paradigm мультипарадигма
Разработчик Брайан Франк, Энди Франк
Впервые появилось2005
Стабильная версия 1.0.74 / 2 марта 2020 г.; 7 месяцев назад (2020-03-02)
Набор текста статический, динамический
Лицензия Academic Free License версия 3.0
Расширения имен файлов .fan,.fwt,.pod
Веб-сайтwww.fantom.org
Испытал влияние
C#, Java, Scala, Ruby, Erlang

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

Содержание
  • 1 Набор текста
  • 2 Модуля
  • 3 Fantom Widget Toolkit
  • 4 Пример «Hello World»
  • 5 Изменение имени
  • 6 Другие функции
  • 7 См. Также
  • 8 Ссылки
  • 9 Дополнительная литература
  • 10 Внешние ссылки
Набор текста

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

Fantom является открытым исходным кодом по Academic Free License 3.0 и доступен для Windows и Unix-подобных платформ (включая Mac OS X).

Pods

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

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

Fantom Widget Toolkit

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

, пример «Hello World»

Вот классическая программа Hello world, написанная на Fantom:

// Hello от Фантома! class HelloWorld {static Void main () {echo ("Hello, World!")}}

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

Изменение названия

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

Другие функции

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

  • Fantom поддерживает импорт классов и модулей Java с некоторыми ограничения.
  • Целое число - 64-битное. В отличие от Java и C #, Fantom не имеет целочисленных типов Long или Short.
  • Сериализация и десериализация классов в / из строк.
  • Fantom не поддерживает кортежи (которые есть, типы, которые являются декартовым произведением других типов)
См. также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-05-20 10:31:36
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте