Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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 [ править ]

Виртуальная машина Писк семейство виртуальных машин (VM) , используемых в Smalltalk реализаций языка программирования. [3] Они являются неотъемлемой частью любой реализации Smalltalk. Все программы с открытым исходным кодом . Текущая виртуальная машина - это высокопроизводительная система динамического перевода. Соответствующий код хранится в репозитории OpenSmalltalk / opensmalltalk-vm на GitHub.

Другие виртуальные машины Squeak [ править ]

  • CogVM
  • РевВМ
  • SqueakJS [13]
  • Интерпретатор стека ВМ
  • RSqueak / VM [14]
  • TruffleSqueak [15]

См. Также [ править ]

  • Список языков программирования с открытым исходным кодом
  • Алиса (программное обеспечение)
  • Крокет Проект
  • Pharo
  • Seaside (программное обеспечение)

Ссылки [ править ]

  1. ^ "Тим: Squeak Smalltalk" . Проверено 28 февраля 2016 .
  2. ^ «Примечания к выпуску 5.3» .
  3. ^ а б Миранда, Элиот; Бера, Клеман; Гонсалес Бойкс, Элиза; Ингаллс, Дэн (2018). «Два десятилетия разработки виртуальных машин smalltalk: разработка виртуальных машин в реальном времени с помощью инструментов моделирования» . Материалы 10-го международного семинара ACM SIGPLAN по виртуальным машинам и промежуточным языкам (PDF) . Цифровая библиотека ACM. С. 57–66. DOI : 10.1145 / 3281287.3281295 . ISBN  9781450360715. S2CID  53116661 . Проверено 9 ноября 2020 .
  4. ^ Ингаллс, Дэн; Kaehler, Тед; Мэлони, Джон; Уоллес, Скотт; Кей, Алан (1997). «Назад в будущее: история Squeak, практического языка Smalltalk, написанного сама по себе» . Цифровая библиотека ACM . Проверено 12 июня 2011 .
  5. ^ «Твик: OriginalTweakMemo» . Tweakproject.org. 2001-07-06. Архивировано из оригинала на 2011-10-02 . Проверено 12 июня 2011 .
  6. ^ «Настроить: Официальные документы» . Tweakproject.org. Архивировано из оригинала на 2011-10-02 . Проверено 12 июня 2011 .
  7. ^ Burbeck, Стив (1997-04-04). «Как использовать модель-представление-контроллер (MVC)» . St-www.cs.uiuc.edu. Архивировано из оригинала на 2009-08-01 . Проверено 12 июня 2011 .
  8. ^ "Продвигая вперед иммерсивное сотрудничество" .
  9. ^ «Внутри операционной системы с открытым исходным кодом ES Nintendo» . Гамасутра . 2007-12-04 . Проверено 5 декабря 2007 .
  10. ^ «Мнение ФСПО по лицензии Apple Public Source License (APSL) 2.0» . Gnu.org. 2011-05-07 . Проверено 12 июня 2011 .
  11. ^ «Разъяснение APSL: ОС для пресс-релизов разъясняет статус APSL» . Opensource.org. 1999-03-17 . Проверено 12 июня 2011 .
  12. ^ «Выпущен Squeak 4.0 - теперь под лицензией MIT / Apache» . The H Open. 2010-03-16 . Проверено 12 июня 2011 .
  13. ^ Фройденберг, Берт; Ингаллс, Дэн; Фельгентрефф, Тим; Папе, Тобиас; Хиршфельд, Роберт (2014). «SqueakJS: современный и практичный smalltalk, который работает в любом браузере» . Цифровая библиотека ACM. DOI : 10.1145 / 2775052.2661100 . Проверено 9 ноября 2020 . Цитировать журнал требует |journal=( помощь )
  14. ^ Фридрих Больц, Карл; Кун, Адриан; Линхард, Адриан; Мацакис, Николай; Нирстраз, Оскар; Ренггли, Лукас; Риго, Армин; 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 .
  15. ^ Niephaus, Фабио; Фельгентрефф, Тим; Хиршфельд, Роберт (2019). «GraalSqueak: к инструментальной платформе на основе smalltalk для программирования полиглотов» . Материалы 16-й Международной конференции ACM SIGPLAN по управляемым языкам программирования и средам выполнения - MPLR 2019 . Цифровая библиотека ACM. С. 14–26. DOI : 10.1145 / 3357390.3361024 . ISBN 9781450369770. S2CID  204728643 . Проверено 9 ноября 2020 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Писк в Керли