Скрип
![]() Оригинальный логотип Тима Роуледжа 1996 года. [1] | |
![]() Скриншот пользовательского интерфейса Squeak – Smalltalk Morphic. | |
Парадигма | объектно-ориентированный |
---|---|
Разработано | Алан Кэй , Дэн Ингаллс , Адель Голдберг |
Разработчики | Сообщество Squeak |
Впервые появился | 1996 год |
Стабильная версия | «202312181441» . / 20 декабря 2023 г |
Дисциплина набора текста | Динамический |
Платформа | Кросс-платформенный |
ТЫ | Кроссплатформенность : Unix-подобные , macOS , iOS , Windows и т. д. |
Лицензия | Массачусетский технологический институт , Апач |
Расширения имен файлов | .image, .changes, .sources, .st |
Веб-сайт | www |
Основные реализации | |
Писк, Крокет | |
Диалекты | |
Крокет , Новояз , Фаро | |
Под влиянием | |
Smalltalk , Лисп , Логотип ; Альбом для рисования , Симула ; Себя | |
Под влиянием | |
Etoys , Твик, Крокет , Царапина |
Squeak — это объектно-ориентированный , основанный на классах и рефлексивный язык программирования . Он был создан на основе Smalltalk-80 группой, в которую входили некоторые из первоначальных разработчиков Smalltalk-80, сначала в Apple Computer , затем в Walt Disney Imagineering , где он предназначался для использования во внутренних проектах Disney. Позже группу будут поддерживать HP Labs , SAP и, совсем недавно, Y Combinator .
Squeak работает на виртуальной машине (VM), что обеспечивает высокую степень переносимости. Система Squeak включает в себя код для создания новой версии виртуальной машины, на которой она работает, а также симулятор виртуальной машины. [2] написано на скрипке.
Разработчики
[ редактировать ]Дэн Ингаллс , важный участник проекта Squeak, написал статью [3] на котором построен Squeak, и построил архитектуру для пяти поколений языка Smalltalk.
Алан Кей внес важный вклад в проект Squeak, и Squeak включает в себя многие элементы предложенной им концепции Dynabook .
Фреймворки пользовательского интерфейса
[ редактировать ]Squeak включает в себя четыре фреймворка пользовательского интерфейса :
- Реализация Morphic , Self инфраструктуры графического интерфейса прямого манипулирования . Это основной интерфейс Squeak.
- Тайловые, ограниченные сценарии визуального программирования в Etoys , основанные на Morphic.
- Новый экспериментальный интерфейс под названием Tweak . В 2001 году стало ясно, что архитектура Etoy в Squeak достигла предела возможностей инфраструктуры интерфейса Morphic. Исследователь Hewlett-Packard Андреас Рааб предложил определить «процесс сценария» и предоставить механизм планирования по умолчанию, который позволяет избежать нескольких более общих проблем. [4] В результате появился новый пользовательский интерфейс, который в будущем призван заменить пользовательский интерфейс Squeak Morphic. Твик добавил механизмы островов, асинхронный обмен сообщениями, игроков и костюмы, языковые расширения, проекты и скрипты плиток. [5] Его базовая объектная система основана на классах, но для пользователей во время программирования (сценариев) она действует так, как будто она основана на прототипах . Объекты Tweak создаются и запускаются в окнах проекта Tweak.
- Интерфейс модель -представление-контроллер (MVC) был основным пользовательским интерфейсом в Squeak версий 3.8 и более ранних. Он создан на основе исходной среды пользовательского интерфейса Smalltalk-80, которая впервые представила и популяризировала архитектурный шаблон MVC. [6] MVC получил свое название от трех основных классов платформы. Таким образом, термин «MVC» в контексте Squeak относится как к одной из доступных платформ пользовательского интерфейса, так и к шаблону, которому следует эта структура. MVC по-прежнему предоставляется тем, кто хочет использовать этот старый тип интерфейса.
Использование
[ редактировать ]Многие участники Squeak совместно работают над Open Cobalt , бесплатным с открытым исходным кодом браузером виртуального мира и набором инструментов для построения, созданным на основе Squeak.
Первая версия Scratch была реализована в Squeak. [7]
OpenQwaq , система виртуальных конференций и совместной работы, основана на Squeak. [8]
Squeak также используется в операционной системе Nintendo ES. [9]
Лицензия
[ редактировать ]Squeak 4.0 и более поздние версии можно загрузить бесплатно, включая исходный код, в виде предварительно созданного образа виртуальной машины, лицензированного по лицензии MIT , за исключением некоторого исходного кода Apple, который регулируется лицензией Apache .
Squeak изначально был выпущен Apple под собственной лицензией Squeak . Хотя исходный код был доступен и модификация разрешена, лицензия Squeak содержала положение о возмещении ущерба , которое не позволяло ей квалифицироваться как истинно свободное программное обеспечение с открытым исходным кодом .
В 2006 году Apple дважды продлила лицензию Squeak. Во-первых, в мае Apple использовала собственную лицензию Apple Public Source License , которая удовлетворяет свободного программного обеспечения Фонда свободного программного обеспечения. концепции лицензии [10] и получил официальное одобрение Open Source Initiative. [11] в качестве лицензии с открытым исходным кодом. Однако лицензия Apple на общедоступный исходный код не соответствует Руководству по свободному программному обеспечению Debian . Чтобы включить Etoys в проект «Один ноутбук на ребенка» , было проведено второе повторное лицензирование с использованием лицензии Apache. На этом этапе также была предпринята попытка решить проблему кода, предоставленного членами сообщества Squeak, который Apple не могла повторно лицензировать в одностороннем порядке.
Для каждого вклада, сделанного по лицензии Squeak с 1996 года, было получено заявление о повторном лицензировании, разрешающее распространение по лицензии MIT , и, наконец, в марте 2010 года результат был выпущен как Squeak 4.0, теперь под объединенными лицензиями MIT и Apache. [12]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Тим: Писк, Smalltalk» . Проверено 28 февраля 2016 г.
- ^ Миранда, Элиот; Бера, Клеман; Гонсалес Буа, Элиза; Ингаллс, Дэн (2018). «Два десятилетия разработки виртуальных машин Smalltalk: разработка виртуальных машин в реальном времени с помощью инструментов моделирования» . Материалы 10-го международного семинара ACM SIGPLAN по виртуальным машинам и промежуточным языкам (PDF) . Цифровая библиотека ACM. стр. 57–66. дои : 10.1145/3281287.3281295 . ISBN 9781450360715 . S2CID 53116661 . Архивировано (PDF) из оригинала 9 октября 2022 г. Проверено 9 ноября 2020 г.
- ^ Ингаллс, Дэн; Кэлер, Тед; Мэлони, Джон; Уоллес, Скотт; Кей, Алан (1997). «Назад в будущее: история Squeak, практического Smalltalk, написанного сам по себе» . Уведомления ACM SIGPLAN . 32 (10). Цифровая библиотека ACM: 318–326. дои : 10.1145/263700.263754 .
- ^ «Настройка: OriginalTweakMemo» . Tweakproject.org. 6 июля 2001 г. Архивировано из оригинала 2 октября 2011 г. Проверено 12 июня 2011 г.
- ^ «Улучшение: технические документы» . Tweakproject.org. Архивировано из оригинала 2 октября 2011 г. Проверено 12 июня 2011 г.
- ^ Бербек, Стив (4 апреля 1997 г.). «Как использовать Модель-Представление-Контроллер (MVC)» . St-www.cs.uiuc.edu. Архивировано из оригинала 1 августа 2009 г. Проверено 12 июня 2011 г.
- ^ "Царапать" . Wiki.squeak.org . Проверено 23 марта 2022 г.
- ^ «Движение иммерсивного сотрудничества вперед» . 3 мая 2011 г.
- ^ Шеффилд, Брэндон (4 декабря 2007 г.). «Внутри операционной системы с открытым исходным кодом ES от Nintendo» . Разработчик игры . Проверено 5 марта 2024 г.
- ^ «Мнение FSF о лицензии Apple на общедоступный исходный код (APSL) 2.0» . Гну.орг. 07 мая 2011 г. Проверено 12 июня 2011 г.
- ^ «Разъяснение APSL: пресс-релизы ОС разъясняет статус APSL» . Opensource.org. 17 марта 1999 г. Проверено 12 июня 2011 г.
- ^ «Выпущен Squeak 4.0 — теперь под лицензией MIT/Apache» . Открытый H. 16 марта 2010 г. Проверено 12 июня 2011 г.
Внешние ссылки
[ редактировать ]
- Языки программирования
- Программное обеспечение Apple Inc.
- Языки программирования на основе классов
- Технология Диснея
- Динамические языки программирования
- Динамически типизированные языки программирования
- Образовательные языки программирования
- Бесплатное образовательное программное обеспечение
- Языки программирования, созданные женщинами
- Семейство языков программирования Smalltalk
- Программное обеспечение, использующее лицензию MIT
- Языки визуального программирования
- Языки программирования высокого уровня
- Мультипарадигмальные языки программирования
- Кроссплатформенное бесплатное программное обеспечение
- Языки программирования, созданные в 1996 году.
- программное обеспечение 1996 года