Писк - Squeak

Писк
Squeak.svg
Оригинальный логотип 1996 года Тима Роуледжа
Снимок экрана морфического пользовательского интерфейса Squeak / Smalltalk
Скриншот пользовательского интерфейса Squeak Morphic.
Парадигма объектно-ориентированный
Разработано Алан Кей , Дэн Ингаллс , Адель Голдберг
Разработчики Сообщество Squeak
Впервые появился 1996 ; 25 лет назад ( 1996 )
Стабильный выпуск
5.3 / 4 марта 2020 г . ; 19 месяцев назад ( 2020-03-04 )
Печатная дисциплина Динамический
Платформа Кроссплатформенность
Операционные системы Кроссплатформенность : Unix-like , macOS , iOS , Windows и др.
Лицензия Массачусетский технологический институт , Apache
Расширения имени файла .image, .changes, .sources, .st
Веб-сайт www .squeak .org
Основные реализации
Писк, Крокет
Диалекты
Крокет , Новояз (язык программирования) , Фаро
Под влиянием
Smalltalk , Lisp , Logo ; Скетчпад , Simula ; Себя
Под влиянием
Etoys , Твик, Крокет , Скретч

Squeak - это объектно-ориентированный , основанный на классах и отражающий язык программирования . Он был получен из Smalltalk-80 группой, в которую входили некоторые из первоначальных разработчиков Smalltalk-80, сначала в Apple Computer , затем в Walt Disney Imagineering , где он был предназначен для использования во внутренних проектах Disney. Позже группу будут поддерживать лаборатории HP , SAP и, совсем недавно, Y Combinator .

Squeak работает на виртуальной машине (ВМ), что обеспечивает высокую степень переносимости. Система Squeak включает код для создания новой версии виртуальной машины, на которой она работает, а также симулятор виртуальной машины, написанный на Squeak.

Разработчики

Дэн Ингаллс , важный участник проекта Squeak, написал статью, на которой построен Squeak, и построил архитектуру для пяти поколений языка Smalltalk.

Алан Кей - важный участник проекта Squeak, и Squeak включает в себя многие элементы предложенной им концепции Dynabook .

Фреймворки пользовательского интерфейса

Squeak включает четыре фреймворка пользовательского интерфейса :

  • Реализация графического интерфейса прямого управления Morphic , Self . Это основной интерфейс Squeak.
  • Тайловые сценарии ограниченного визуального программирования в Etoys , основанные на Morphic.
  • Новый экспериментальный интерфейс под названием Tweak . В 2001 году стало ясно, что архитектура Etoy в Squeak достигла своих пределов в возможностях инфраструктуры интерфейса Morphic. Исследователь Hewlett-Packard Андреас Рааб предложил определить «процесс сценария» и предоставить механизм планирования по умолчанию, который позволяет избежать нескольких более общих проблем. Это привело к появлению нового пользовательского интерфейса, предложенного для замены пользовательского интерфейса Squeak Morphic в будущем. Твики добавили механизмы островов, асинхронного обмена сообщениями, игроков и костюмов, языковых расширений, проектов и тайловых скриптов. Его базовая объектная система основана на классах, но для пользователей во время программирования (написания сценариев) она действует так, как будто она основана на прототипах . Объекты настройки создаются и запускаются в окнах проекта Tweak.
  • Модель-представление-контроллер интерфейс (MVC) , был основным пользовательским интерфейсом в писке версии 3.8 и более раннее. Он произошел от оригинальной среды пользовательского интерфейса Smalltalk-80, которая впервые представила и популяризировала архитектурный шаблон MVC. MVC получил свое название от трех основных классов фреймворка. Таким образом, термин «MVC» в контексте Squeak относится как к одной из доступных сред пользовательского интерфейса, так и к шаблону, которому следует среда. MVC по-прежнему предоставляется программистам, которые хотели использовать этот старый тип интерфейса.

Использует

Многие Squeak вкладчики сотрудничают на Open Cobalt , в свободном и с открытым исходным кодом виртуального мира браузером и строительным инструментарий , построенным на писке.

Первая версия Scratch была реализована в Squeak.

OpenQwaq , система виртуальной конференц-связи и совместной работы, основана на Squeak.

Squeak также используется в операционной системе Nintendo ES.

Лицензия

Squeak 4.0 и более поздние версии могут быть загружены бесплатно, включая исходный код, в виде предварительно созданного образа виртуальной машины под лицензией MIT , за исключением некоторого исходного кода Apple, который регулируется лицензией Apache .

Изначально Squeak был выпущен Apple под собственной лицензией Squeak . Хотя исходный код был доступен и модификации разрешены, лицензия Squeak содержала положение о возмещении убытков, которое не позволяло квалифицировать его как действительно бесплатное программное обеспечение с открытым исходным кодом .

В 2006 году Apple дважды перелицензировала Squeak. Во-первых, в мае Apple использовала свою собственную лицензию Apple Public Source License , которая удовлетворяет концепции Free Software Foundation о лицензии на бесплатное программное обеспечение и получила официальное одобрение Open Source Initiative в качестве лицензии с открытым исходным кодом. Однако лицензия Apple Public Source License не соответствует требованиям Debian по бесплатному программному обеспечению . Чтобы включить Etoys в проект « Один ноутбук для ребенка », было предпринято второе перелицензирование с использованием лицензии Apache. На этом этапе также была предпринята попытка решить проблему кода, предоставленного членами сообщества Squeak, который Apple не могла в одностороннем порядке перелицензировать.

Для каждого вклада, сделанного по лицензии Squeak с 1996 года, было получено заявление о перелицензировании, разрешающее распространение по лицензии MIT , и, наконец, в марте 2010 года конечный результат был выпущен как Squeak 4.0, теперь под объединенными лицензиями MIT и Apache.

Писк виртуальной машины

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

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

Смотрите также

использованная литература

внешние ссылки