Писк - Squeak

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

В Писк язык программирования это диалект Болтовня. это объектно-ориентированный, основанный на классе, и отражающий.

Он был получен непосредственно из Smalltalk-80 группой в Компьютер Apple это включало некоторых из первоначальных разработчиков Smalltalk-80. Его разработка была продолжена той же группой на Уолт Дисней Imagineering, где он был предназначен для использования во внутренних проектах Disney. Позже группа перешла к поддержке лабораторий HP, SAP Labs и совсем недавно. Y комбинатор.

Писк кросс-платформенный. Программы, созданные на одной платформе, работают идентично на всех других платформах, а версии доступны для многих платформ, включая очевидные версии Windows / macOS / linux. Система Squeak включает код для создания новой версии виртуальная машина (ВМ), на которой он работает. Он также включает симулятор виртуальной машины[3] написано Squeak. По этим причинам легко портирован.

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

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

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

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

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

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

Использует

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

Squeak также используется в операционной системе Nintendo ES.[8] и использовался для реализации первой версии Царапать язык программирования для начинающих программистов. В мае 2011 г. OpenQwaq В блоге Teleplace было объявлено о системе виртуальной конференц-связи и совместной работы, основанной на Squeak, версии Teleplace с открытым исходным кодом.[9]

Лицензия

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

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

В 2006 году Apple перелицензированный Пищите дважды. Сначала в мае Apple использовала собственный Лицензия Apple Public Source License, что удовлетворяет Фонд свободного программного обеспечения концепция лицензии свободных программ[10] и получил официальное одобрение от Инициатива открытого исходного кода[11] как лицензию с открытым исходным кодом. Как выяснилось, лицензия Apple Public Source License не соответствует третьему стандарту, по которому распространяются лицензии на бесплатное и открытое программное обеспечение: Рекомендации по свободному программному обеспечению Debian обнародованный Debian проект, влиятельный волонтерский Linux распределение. Чтобы включить включение Etoys в Один ноутбук на ребенка В рамках проекта второе перелицензирование было предпринято с использованием лицензии Apache. На этом этапе также была предпринята попытка решить проблему кода, предоставленного членами сообщества Squeak, который Apple не могла в одностороннем порядке перелицензировать.

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

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

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

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

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

Рекомендации

  1. ^ "Тим: Squeak Smalltalk". Получено 2016-02-28.
  2. ^ «Примечания к выпуску 5.3».
  3. ^ а б Миранда, Элиот; Бера, Клеман; Гонсалес Бойкс, Элиза; Ингаллс, Дэн (2018). «Два десятилетия разработки виртуальных машин smalltalk: разработка виртуальных машин в реальном времени с помощью инструментов моделирования». Цифровая библиотека ACM. Получено 2020-11-09.
  4. ^ Ингаллс, Дэн; Kaehler, Тед; Мэлони, Джон; Уоллес, Скотт; Кей, Алан (1997). «Назад в будущее: история Squeak, практического языка Smalltalk, написанного сама по себе». Цифровая библиотека ACM. Получено 2011-06-12.
  5. ^ «Твик: OriginalTweakMemo». Tweakproject.org. 2001-07-06. Архивировано из оригинал на 2011-10-02. Получено 2011-06-12.
  6. ^ «Улучшено: технические документы». Tweakproject.org. Архивировано из оригинал на 2011-10-02. Получено 2011-06-12.
  7. ^ Бербек, Стив (1997-04-04). «Как использовать модель-представление-контроллер (MVC)». St-www.cs.uiuc.edu. Архивировано из оригинал на 2009-08-01. Получено 2011-06-12.
  8. ^ «Внутри операционной системы с открытым исходным кодом ES Nintendo». Гамасутра. 2007-12-04. Получено 2007-12-05.
  9. ^ "Продвижение иммерсивного сотрудничества вперед".
  10. ^ «Мнение FSF о лицензии Apple Public Source License (APSL) 2.0». Gnu.org. 2011-05-07. Получено 2011-06-12.
  11. ^ «Разъяснение APSL: ОС для пресс-релизов разъясняет статус APSL». Opensource.org. 1999-03-17. Получено 2011-06-12.
  12. ^ «Выпущен Squeak 4.0 - теперь под лицензией MIT / Apache». The H Open. 2010-03-16. Получено 2011-06-12.
  13. ^ Фройденберг, Берт; Ингаллс, Дэн; Фельгентрефф, Тим; Папе, Тобиас; Хиршфельд, Роберт (2014). «SqueakJS: современный и практичный smalltalk, который работает в любом браузере». Цифровая библиотека ACM. Получено 2020-11-09.
  14. ^ Фридрих Больц, Карл; Кун, Адриан; Линхард, Адриан; Мацакис, Николай; Нирстраз, Оскар; Ренггли, Лукас; Риго, Армин; Verwaest, мультяшек (2008). «Назад в будущее за одну неделю - реализация Smalltalk VM в PyPy». Шпрингер, Берлин, Гейдельберг. Получено 2020-11-09.
  15. ^ Нифаус, Фабио; Фельгентрефф, Тим; Хиршфельд, Роберт (2019). «GraalSqueak: на пути к инструментальной платформе на основе smalltalk для многоязычного программирования». Цифровая библиотека ACM. Получено 2020-11-09.

внешняя ссылка