Фантом (язык программирования)
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Парадигма | мультипарадигмальность |
---|---|
Разработчик | Брайан Фрэнк, Энди Фрэнк |
Впервые появился | 2005 [1] |
Стабильная версия | 1.0.79 / 17 июля 2023 г [2] |
Дисциплина набора текста | статический , динамический |
Лицензия | Академическая бесплатная лицензия версии 3.0 [3] |
Расширения имен файлов | .fan, .fwt, .pod |
Веб-сайт | www |
Под влиянием | |
C# , Java , Scala , Ruby , Эрланг |
Fantom общего назначения — объектно-ориентированный язык программирования , созданный Брайаном Франком и Энди Франком. [4] Он работает в среде выполнения Java (JRE), JavaScript и .NET Common Language Runtime (CLR) (поддержка .NET считается «прототипом»). [5] статус). Его заявленная цель — предоставить стандартный библиотечный API . [6] Fantom использует синтаксис фигурных скобок , поддерживает функциональное программирование посредством замыканий и параллелизма посредством модели Actor , а также сочетает в себе аспекты статической и динамической типизации .
Первоначальное название языка программирования Fantom было Fan , в честь района , где живут создатели в Ричмонде, штат Вирджиния . В ноябре 2009 года [7] название проекта было официально изменено с Fan на Fantom из-за проблем с возможностью поиска, высказанных сообществом. [8]
Fantom имеет открытый исходный код под лицензией Academic Free License 3.0 и доступен для Windows и Unix-подобных платформ (включая Mac OS X). [9]
Особенности и системы
[ редактировать ]Все переменные в Fantom статически типизированы, поскольку у него нет универсальных типов , но есть набор встроенных универсальных типов: List
, Map
, и Func
. Fantom также поддерживает динамические вызовы и автоматическое понижение частоты . Fantom имеет API отражения и возможности метапрограммирования .
Fantom поддерживает импорт классов и модулей Java с некоторыми ограничениями. [10] Его целое число 64-битное. В отличие от Java и C#, Fantom не поддерживает целочисленные типы Long и Short. Fantom также не поддерживает кортежи . [11]
В Fantom единица развертывания называется подом . Поды берут на себя роль пространств имен , пакетов и модулей . Они хранятся в виде файлов .pod, которые представляют собой zip- файлы, содержащие FCode (байт-код Fantom), документацию и файлы ресурсов, необходимые для запуска модуля. Система сборки Fantom может упаковать набор модулей в JAR-архив посредством build::JarDist
.
Интегрированная среда разработки
[ редактировать ]F4 — это основная общедоступная среда разработки для языка Fantom, официально поддерживаемая одним из основных разработчиков языка с открытым исходным кодом, Стивом Эйноном. [12] F4 IDE доступна на GitHub.
Набор инструментов для фантомных виджетов
[ редактировать ]Fantom поставляется со стандартным набором оконных инструментов, который называется Fantom Widget Toolkit, или сокращенно FWT. [13] FWT был разработан для переносимости на несколько платформ. В настоящее время он реализован на JVM с использованием Standard Widget Toolkit в качестве бэкэнда. Реализация JavaScript поддерживается элементом Canvas и JavaFX , что позволяет запускать приложения FWT в веб-браузере. Есть планы по реализации CLR с использованием Windows Forms .
Использование
[ редактировать ]Escape the Mainframe — это браузерная игра (похожая на динозавра-тираннозавра от Google), полностью написанная на Fantom Стивом Эйноном. [14]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Сообщение в блоге об истории Fantom.
- ^ «Фантом» . 17 июля 2023 г.
- ^ Часто задаваемые вопросы языкового веб-сайта Fandoc.
- ^ Часто задаваемые вопросы о Fantom: свяжитесь с нами
- ^ «Часто задаваемые вопросы о Fantom: дорожная карта» . Архивировано из оригинала 11 декабря 2015 г. Проверено 29 марта 2012 г.
- ^ Часто задаваемые вопросы о Fantom: Почему Fantom?
- ^ История языка программирования Fantom
- ^ Фан официально теперь Фантом.
- ^ Макаллистер, Нил (3 января 2012 г.). «10 языков программирования, которые могут встряхнуть ИТ» . Инфомир . Проверено 30 октября 2015 г.
- ^ Java FFI на домашней странице Fantom
- ^ Вопрос о кортежах на официальной странице Fantom.
- ^ «Стив Эйнон (МЭН МИЭТ) — Fantom Factory | LinkedIn» . uk.linkedin.com . Проверено 14 декабря 2023 г.
- ^ "фвт - Фантом" . Фантом.орг. 08.01.2015 . Проверено 30 октября 2015 г.
- ^ «Побег из мэйнфрейма!» . escape.fantomfactory.org . Проверено 14 декабря 2023 г.
Дальнейшее чтение
[ редактировать ]- Бинсток, Эндрю (14 июля 2010 г.). «Пять лучших языков сценариев для JVM: Groovy и JRuby лидируют, за ними следуют Scala, Fantom и Jython» . Доктор Добб . Проверено 30 октября 2015 г.
- Фрэнк, Брайан (18 февраля 2011 г.). «Фантом» . Доктор Добб . Проверено 30 октября 2015 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Веб-сайт с открытым исходным кодом: https://fantom-lang.org/download.
- Репозиторий с открытым исходным кодом для библиотек Fantom https://eggbox.fantomfactory.org/
- Портфолио Fantom https://fantom-lang.org/portfolio
- Не фанат Скалы? Эволюционный подход | Ajaxonomy. Архивировано 18 февраля 2010 г. на Wayback Machine - сообщение в блоге, в котором обсуждается фанат.
- Поклонник нового языка | СД Таймс
- Re: Fan Programming Language ( [email protected] список рассылки ) — сообщение на форуме одного из авторов Fantom.
- The Next Big JVM Language , беседа Билла Веннерса со Стивеном Колеборном.
- Справочная страница по языкам на LangRef.org.