Введение

F Script — объектно-ориентированный язык скриптового программирования для операционной системы Apple macOS, разработанный Филиппом Мугином. F Script — это интерактивный язык, основанный на Smalltalk и использующий нативный API Cocoa для macOS.

Обзор

F Script основан на чистой объектной парадигме: любая сущность, с которой работает язык, является объектом. Его базовый синтаксис и концепции идентичны языку Smalltalk (канонический пример объектно-ориентированного языка) с конкретными расширениями для поддержки программирования массивами, как в языке APL. F Script предоставляет интерпретируемую интерактивную среду с поддержкой рабочих пространств, которые обеспечивают широкий набор функций, включая сохранение объектов, распределенные объекты, графический пользовательский интерфейс (GUI), доступ к базам данных и многое другое.

Синтаксис

Как и Smalltalk, синтаксис F Script очень прост и не требует специальной нотации для структур управления, которые обеспечиваются унифицированным образом операцией отправки сообщений. В отличие от Smalltalk, F Script предоставляет специальные нотационные расширения для поддержки класса Array, используя фигурные скобки для описания литеральных массивов, которые могут содержать любые выражения F Script. Например, {1+3, 'name', true} является допустимым литералом массива. Пустой массив обозначается {}. Массивы массивов поддерживаются прозрачно, поскольку любой массив — это просто другой объект.

Использование

F Script в основном используется как легковесный скриптовый слой над API Cocoa в macOS. Его можно встраивать в приложения с помощью фреймворка F Script и палитр Interface Builder. Также его можно использовать интерактивно из интерпретатора F Script для прототипирования приложений. Наконец, его можно использовать для изучения объектных иерархий приложений с помощью инжектора, например, F Script Anywhere.

Вилки

Первоначальная разработка скрипта F Филиппом Муженом была остановлена на версии 2.1 в 2011 году. Илья Кулаков (Кентцо) взял на себя поддержку сайта 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.