Парадигма | объектно-ориентированный |
---|---|
Разработано | Алан Кей , Дэн Ингаллс , Адель Голдберг |
Разработчики | Сообщество Squeak |
Впервые появился | 1996 |
Стабильный выпуск | 5.3 / 4 марта 2020 г . [2] |
Печатная дисциплина | Динамический |
Платформа | Кроссплатформенность |
Операционные системы | Кроссплатформенность : Unix-like , macOS , iOS , Windows и др. |
Лицензия | Массачусетский технологический институт , Apache |
Расширения имени файла | .image, .changes, .sources, .st |
Веб-сайт | www |
Основные реализации | |
Писк, Крокет | |
Диалекты | |
Крокет , Новояз (язык программирования) , Фаро | |
Под влиянием | |
Smalltalk , Lisp , Logo ; Скетчпад , Simula ; Себя | |
Под влиянием | |
Etoys , Твик, Крокет , Скретч |
Squeak - это объектно-ориентированный , основанный на классах и отражающий язык программирования . Он был получен из Smalltalk-80 группой, в которую входили некоторые из первоначальных разработчиков Smalltalk-80, сначала в Apple Computer , затем в Walt Disney Imagineering , где он был предназначен для использования во внутренних проектах Disney. Позже группу будут поддерживать лаборатории HP , SAP и, совсем недавно, Y Combinator .
Squeak работает на виртуальной машине (ВМ), что обеспечивает высокую степень переносимости. Система Squeak включает в себя код для создания новой версии виртуальной машины, на которой она работает, а также симулятор виртуальной машины [3], написанный на Squeak.
Разработчики [ править ]
Дэн Ингаллс , важный участник проекта Squeak, написал статью [4], на которой построен Squeak, и построил архитектуру для пяти поколений языка Smalltalk.
Алан Кей - важный участник проекта Squeak, и Squeak включает в себя многие элементы предложенной им концепции Dynabook .
Фреймворки пользовательского интерфейса [ править ]
Squeak включает четыре фреймворка пользовательского интерфейса :
- Реализация графического интерфейса прямого управления Morphic , Self . Это основной интерфейс Squeak.
- Тайловые сценарии ограниченного визуального программирования в Etoys , основанные на Morphic.
- Новый экспериментальный интерфейс под названием Tweak . В 2001 году стало ясно, что архитектура Etoy в Squeak достигла своих пределов в возможностях инфраструктуры интерфейса Morphic. Исследователь Hewlett-Packard Андреас Рааб предложил определить «процесс сценария» и предоставить механизм планирования по умолчанию, который позволяет избежать нескольких более общих проблем. [5] Это привело к появлению нового пользовательского интерфейса, предложенного для замены пользовательского интерфейса Squeak Morphic в будущем. Твики добавили механизмы островов, асинхронного обмена сообщениями, игроков и костюмов, языковых расширений, проектов и тайловых скриптов. [6] Его базовая объектная система основана на классах, но для пользователей во время программирования (сценариев) она действует так, как будто она основана на прототипах.. Объекты настройки создаются и запускаются в окнах проекта Tweak.
- Модель-представление-контроллер интерфейс (MVC) , был основным пользовательским интерфейсом в писке версии 3.8 и более раннее. Он произошел от оригинальной среды пользовательского интерфейса Smalltalk-80, которая впервые представила и популяризировала архитектурный шаблон MVC. [7] MVC получил свое название от трех основных классов фреймворка. Таким образом, термин «MVC» в контексте Squeak относится как к одной из доступных сред пользовательского интерфейса, так и к шаблону, которому следует среда. MVC по-прежнему предоставляется программистам, которые хотели использовать этот старый тип интерфейса.
Использует [ редактировать ]
Многие Squeak вкладчики сотрудничают на Open Cobalt , в свободном и с открытым исходным кодом виртуального мира браузером и строительным инструментарий , построенным на писке.
Первая версия Scratch была реализована в Squeak.
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 , которая соответствует концепции Free Software Foundation [10] и получила официальное одобрение Open Source Initiative [11] в качестве лицензии с открытым исходным кодом. Однако лицензия Apple Public Source License не соответствует требованиям Debian по бесплатному программному обеспечению . Чтобы включить Etoys в один ноутбук для ребенкаВ рамках проекта второе перелицензирование было предпринято с использованием лицензии Apache. На этом этапе также была предпринята попытка решить проблему кода, предоставленного членами сообщества Squeak, который Apple не могла в одностороннем порядке перелицензировать.
Для каждого вклада, сделанного по лицензии Squeak с 1996 г., было получено заявление о перелицензировании, разрешающее распространение по лицензии MIT , и, наконец, в марте 2010 г. конечный результат был выпущен как Squeak 4.0, теперь под объединенными лицензиями MIT и Apache. [12]
Виртуальная машина Squeak [ править ]
Эта статья требует дополнительных ссылок для проверки . июль 2016 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) ( |
Виртуальная машина Писк семейство виртуальных машин (VM) , используемых в Smalltalk реализаций языка программирования. [3] Они являются неотъемлемой частью любой реализации Smalltalk. Все программы с открытым исходным кодом . Текущая виртуальная машина - это высокопроизводительная система динамического перевода. Соответствующий код хранится в репозитории OpenSmalltalk / opensmalltalk-vm на GitHub.
Другие виртуальные машины Squeak [ править ]
- CogVM
- РевВМ
- SqueakJS [13]
- Интерпретатор стека ВМ
- RSqueak / VM [14]
- TruffleSqueak [15]
См. Также [ править ]
- Список языков программирования с открытым исходным кодом
- Алиса (программное обеспечение)
- Крокет Проект
- Pharo
- Seaside (программное обеспечение)
Ссылки [ править ]
- ^ "Тим: Squeak Smalltalk" . Проверено 28 февраля 2016 .
- ^ «Примечания к выпуску 5.3» .
- ^ а б Миранда, Элиот; Бера, Клеман; Гонсалес Бойкс, Элиза; Ингаллс, Дэн (2018). «Два десятилетия разработки виртуальных машин smalltalk: разработка виртуальных машин в реальном времени с помощью инструментов моделирования» . Материалы 10-го международного семинара ACM SIGPLAN по виртуальным машинам и промежуточным языкам (PDF) . Цифровая библиотека ACM. С. 57–66. DOI : 10.1145 / 3281287.3281295 . ISBN 9781450360715. S2CID 53116661 . Проверено 9 ноября 2020 .
- ^ Ингаллс, Дэн; Kaehler, Тед; Мэлони, Джон; Уоллес, Скотт; Кей, Алан (1997). «Назад в будущее: история Squeak, практического языка Smalltalk, написанного сама по себе» . Цифровая библиотека ACM . Проверено 12 июня 2011 .
- ^ «Твик: OriginalTweakMemo» . Tweakproject.org. 2001-07-06. Архивировано из оригинала на 2011-10-02 . Проверено 12 июня 2011 .
- ^ «Настроить: Официальные документы» . Tweakproject.org. Архивировано из оригинала на 2011-10-02 . Проверено 12 июня 2011 .
- ^ Burbeck, Стив (1997-04-04). «Как использовать модель-представление-контроллер (MVC)» . St-www.cs.uiuc.edu. Архивировано из оригинала на 2009-08-01 . Проверено 12 июня 2011 .
- ^ "Продвигая вперед иммерсивное сотрудничество" .
- ^ «Внутри операционной системы с открытым исходным кодом ES Nintendo» . Гамасутра . 2007-12-04 . Проверено 5 декабря 2007 .
- ^ «Мнение ФСПО по лицензии Apple Public Source License (APSL) 2.0» . Gnu.org. 2011-05-07 . Проверено 12 июня 2011 .
- ^ «Разъяснение APSL: ОС для пресс-релизов разъясняет статус APSL» . Opensource.org. 1999-03-17 . Проверено 12 июня 2011 .
- ^ «Выпущен Squeak 4.0 - теперь под лицензией MIT / Apache» . The H Open. 2010-03-16 . Проверено 12 июня 2011 .
- ^ Фройденберг, Берт; Ингаллс, Дэн; Фельгентрефф, Тим; Папе, Тобиас; Хиршфельд, Роберт (2014). «SqueakJS: современный и практичный smalltalk, который работает в любом браузере» . Цифровая библиотека ACM. DOI : 10.1145 / 2775052.2661100 . Проверено 9 ноября 2020 . Цитировать журнал требует
|journal=
( помощь ) - ^ Фридрих Больц, Карл; Кун, Адриан; Линхард, Адриан; Мацакис, Николай; Нирстраз, Оскар; Ренггли, Лукас; Риго, Армин; Verwaest, мультяшек (2008). «Назад в будущее за одну неделю - реализация Smalltalk VM в PyPy» . Самоподдерживающиеся системы . Конспект лекций по информатике. 5146 . Шпрингер, Берлин, Гейдельберг. С. 123–139. DOI : 10.1007 / 978-3-540-89275-5_7 . ISBN 978-3-540-89274-8. Проверено 9 ноября 2020 .
- ^ Niephaus, Фабио; Фельгентрефф, Тим; Хиршфельд, Роберт (2019). «GraalSqueak: к инструментальной платформе на основе smalltalk для программирования полиглотов» . Материалы 16-й Международной конференции ACM SIGPLAN по управляемым языкам программирования и средам выполнения - MPLR 2019 . Цифровая библиотека ACM. С. 14–26. DOI : 10.1145 / 3357390.3361024 . ISBN 9781450369770. S2CID 204728643 . Проверено 9 ноября 2020 .
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме Squeak . |
- Официальный веб-сайт
- Писк в Керли