Парадигма | мультипарадигма : объектно-ориентированный, массив |
---|---|
Разработал | Филипп Мужен |
Разработчик | Джонатан Митчелл, Илья Кулаков и другие |
Впервые появился | 28 июня 2009 г.; 11 лет назад (28.06.2009) |
Стабильный выпуск | 2.2.1 / 5 февраля 2014 г.; 6 лет назад (05.02.2014) |
Дисциплина ввода | динамический |
Платформа | x86 |
OS | macOS |
Лицензия | Открытый исходный код |
Веб-сайт | github.com / pmougin / F-Script |
Основные реализации | |
F-Script | |
Под влиянием | |
Smalltalk, APL |
F-Script - это объектно-ориентированный язык программирования сценариев для операционной системы Apple macOS, разработанный пользователя Philippe Mougin. F-Script - это интерактивный язык, основанный на Smalltalk, использующий собственный API MacOS Cocoa.
F-Script основан на чисто объектной парадигме: каждая сущность, которой манипулируют в языке, является объектом. Его базовый синтаксис и концепции идентичны таковым из языка Smalltalk (канонический пример объектно-ориентированного языка) со специальными расширениями для поддержки программирования массивов, как в языке APL.
F- Сценарий предоставляет интерпретируемую, интерактивную среду с поддержкой рабочих областей, которые предоставляют богатый набор функций, включая сохраняемость объекта, распределенные объекты, структура графического интерфейса пользователя (GUI), доступ к базе данных, среди прочего.
Как и Smalltalk, синтаксис F-Script очень прост и не требует специальной нотации для структур control, которые унифицированы в сообщении . отправить операцию
. В отличие от Smalltalk, F-Script предоставляет определенные расширения записи для поддержки класса Array
, используя фигурные скобки для описания литеральных массивов, которые могут содержать любые выражения F-Script.
Например, {1 + 3, 'name', true}
- это допустимый массив literal. Пустой массив обозначается {}
. Массивы массивов поддерживаются прозрачно, поскольку любой массив - это просто еще один объект.
Выражения сообщений в F-Script аналогичны выражениям в Smalltalk: они указывают, какой объект является получателем сообщения, какая операция вызывается сообщением и какие объекты аргументов необходимо для операции. F-Script поддерживает унарные, двоичные сообщения и сообщения с ключевыми словами. Семантика сообщений F-Script расширена для поддержки программирования массивов за счет признания того, что операция с массивом, такая как добавление к числовым векторам, должна рассматриваться как генерирование ряда сообщений, относящихся к элементам задействованных векторов
Таким образом, если A = {1, 2, 3}
и B = {10, 20, 30}
, тогда F-Script позволяет A + B = {11, 22, 33 }
.
F-Script в основном используется как облегченный уровень сценариев поверх macOS Cocoa интерфейса прикладного программирования (API). Он может быть встроен в приложения с использованием фреймворка F-Script и палитр Interface Builder. Его также можно использовать в интерактивном режиме от интерпретатора F-Script до прототипов приложений. Наконец, его можно использовать для исследования иерархии объектов приложений с помощью инжектора, такого как F-Script Anywhere.
Первоначальная разработка F-скрипта Филиппа Мужена остановилась на версии 2.1 в 2011 году. Илья Кулаков (Kentzo) взял на себя ответственность за сайт FScript.org и обновил программу для работы с Mac OS X с 10.7 по 10.10 до версии 2.3 2014 года, основанной на работах Джонатана Митчелла по модернизации. Кулаков отметил, что, поскольку F-Script глубоко связан с системой, код необходимо изменить, чтобы отразить структуру, доступную в каждой версии Mac OS X. Последнее обновление этой цепочки работ было сделано в 2018 году Вольфгангом Бэрдом, который обновил F-Script для работы с Mac OS X 10.12.