Fantom (язык программирования) - Fantom (programming language)
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Парадигма | мультипарадигма |
---|---|
Разработчик | Брайан Франк, Энди Франк |
Впервые появился | 2005[1] |
Стабильный выпуск | 1.0.75 / 24 августа 2020 г.[2] |
Печатная дисциплина | статический, динамичный |
Лицензия | Академическая бесплатная лицензия версия 3.0[3] |
Расширения имени файла | .fan, .fwt, .pod |
Интернет сайт | www |
Под влиянием | |
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]
Смотрите также
Рекомендации
- ^ Пост в блоге об истории Fantom
- ^ "Фантом". 26 марта 2020.
- ^ Часто задаваемые вопросы языкового сайта Fandoc
- ^ Fantom FAQ: Свяжитесь с нами
- ^ Fantom FAQ: Дорожная карта
- ^ FAQ по Fantom: Почему Fantom?
- ^ Макаллистер, Нил (2012-01-03). «10 языков программирования, которые могут встряхнуть ИТ». InfoWorld. Получено 2015-10-30.
- ^ "fwt - Fantom". Fantom.org. 2015-01-08. Получено 2015-10-30.
- ^ История языка программирования Fantom
- ^ Фанат теперь официально называется Fantom
- ^ Java FFI на домашней странице Fantom
- ^ Сериализация на Fantom.org
- ^ Вопрос по кортежам на официальной странице Fantom
дальнейшее чтение
- Бинсток, Эндрю (14.07.2010). «Пять лучших языков сценариев на JVM: Groovy и JRuby лидируют, за ними следуют Scala, Fantom и Jython». Доктора Добба. Получено 2015-10-30.
- Фрэнк, Брайан (18 февраля 2011 г.). "Фантом". Доктора Добба. Получено 2015-10-30.
внешняя ссылка
- Официальный веб-сайт
- Не поклонник Scala? Эволюционный подход | Аяксономия - обсуждение сообщения в блоге Поклонник
- Поклонник нового языка | SD Times
- Re: язык фанатского программирования (список рассылки [email protected]) сообщение на форуме одного из авторов Fantom.
- Следующий большой язык JVM, беседа Билла Веннерса со Стивеном Колбурном.
- Страница справки по языку на LangRef.org