스퀵

Squeak
스퀵
Squeak.svg
팀 Rowledge[1]에 의해 원래 1996년 로고.
Screenshot of the Squeak/Smalltalk Morphic User Interface
스크린 샷은 스퀵 형태 잔여물이라고 사용자 인터페이스의.
패러다임객체 지향형의
에 의해 설계된알란 케이, 댄 잉갈스. 미국, 아델 골드버그.
개발자그 스퀵 공동체
처음 등장한1996년; 26년 전(1996년)
안정된 릴리스
5.3-19459[2] / 2021년 6월 3일; 14개월 전 (2021년 6월 3일)
타이핑 분야역학
플랫폼크로스 플랫폼
OS크로스 플랫폼:Unix 계열, macOS, iOS, Windows
면허증.MIT, Apache
파일 이름 확장자.image, .changes, .timeout, .st
웹 사이트www.squeak.org
주요 구현
스퀵, 크로켓
사투리
크로케, 뉴스피크(프로그래밍 언어), 파로
영향을 받다
Smalltalk, Lisp, 로고, 스케치패드, Simula, 셀프
영향받은
Etoys, Tweak, Croquet, Scratch

스퀵은 객체 지향, 클래스 기반, 반사형 프로그래밍 언어입니다.Smalltalk-80의 초기 개발자들 중 일부가 포함된 그룹에 의해 Smalltalk-80에서 파생되었으며, 처음에는 Apple Computer에서, 그 후 내부 디즈니 프로젝트에서 사용하기 위해 의도된 월트 디즈니 이매진링에서 파생되었습니다.이 그룹은 나중에 HP 랩, SAP, 그리고 최근에는 Y Combinator의 지원을 받게 됩니다.

스퀵은 가상 머신(VM)에서 실행되므로 높은 수준의 휴대성을 제공합니다.Squak 시스템에는 실행 중인 VM의 새 버전을[3] 생성하기 위한 코드와 Squak으로 작성된 VM 시뮬레이터가 포함되어 있습니다.

개발자

Squak 프로젝트의 중요한 공헌자인 Dan Ingalls는 Squak의 기초가 되는 논문을 작성하고[4] Smalltalk 언어의 5세대를 위한 아키텍처를 구축했습니다.

Alan Kay는 Squak 프로젝트에 중요한 공헌자이며, Squak은 그가 제안한 Dynabook 컨셉의 많은 요소들을 통합합니다.

사용자 인터페이스 프레임워크

Squak에는 4개의 사용자 인터페이스 프레임워크가 포함되어 있습니다.

  • Self의 그래픽 직접 조작 인터페이스 프레임워크Morphic의 구현입니다.이것이 스퀵의 메인 인터페이스입니다.
  • Morphic에 기반한 타일 기반의 제한된 비주얼 프로그래밍 스크립트(Etoys).
  • Tweak이라는 새로운 실험 인터페이스입니다.2001년에 Squak의 Etoy 아키텍처가 Morphic 인터페이스 인프라스트럭처가 할 수 있는 일의 한계에 도달한 것이 명확해졌습니다.Hewlett-Packard의 연구원 Andreas Raab은 "스크립트 프로세스"를 정의하고 몇 가지 일반적인 [5]문제를 회피하는 기본 스케줄링 메커니즘을 제공할 것을 제안했다.그 결과 향후 Squak Morphic 사용자 인터페이스를 대체할 새로운 사용자 인터페이스가 제안되었습니다.Tweak은 섬, 비동기 메시징, 플레이어와 의상, 언어 확장자, 프로젝트 및 타일 [6]스크립팅 메커니즘을 추가했습니다.기본 객체 시스템은 클래스 기반이지만, 사용자에게 프로그래밍(스크립트 작성) 중에는 프로토타입 기반처럼 작동합니다.Tweak 프로젝트 창에서 Tweak 개체가 생성되어 실행됩니다.
  • Squak 3.8 이전 버전에서는 모델 뷰 컨트롤러(MVC) 인터페이스가 기본 UI였습니다.MVC 아키텍처 패턴을 [7]처음 도입하고 대중화한 최초의 Smalltalk-80 사용자 인터페이스 프레임워크에서 파생되었습니다.MVC는 프레임워크의 세 가지 핵심 클래스에서 이름을 따왔습니다.따라서 Squak의 맥락에서 "MVC"라는 용어는 사용 가능한 사용자 인터페이스 프레임워크 중 하나와 프레임워크가 따르는 패턴을 모두 나타냅니다.MVC는 이 오래된 유형의 인터페이스를 사용하고자 하는 프로그래머를 위해 제공됩니다.

사용하다

많은 Squak 기고가들이 Squak을 기반으로 구축된 무료 오픈 소스 가상 세계 브라우저 및 구축 툴킷인 Open Cobalt에서 협업하고 있습니다.

Scratch의 첫 번째 버전은 Squak에서 [8]구현되었습니다.

OpenQwaq는 Squak을 [9]기반으로 하는 가상 회의 및 협업 시스템입니다.

스퀵은 닌텐도 ES 운영[10] 체제에서도 사용됩니다.

면허증.

Squak 4.0 이후는 Apache 라이센스의 적용을 받는 원본 Apple 코드 일부를 제외하고 MIT 라이센스에 따라 라이센스가 부여된 사전 빌드 가상 시스템 이미지로 소스 코드를 포함하여 무료로 다운로드할 수 있습니다.

스퀵은 원래 애플에 의해 자체 스퀵 라이선스로 출시되었습니다.소스 코드를 사용할 수 있고 수정이 허용되었지만, Squak 라이센스에는 진정한 자유오픈 소스 소프트웨어로서의 자격을 갖추지 못하는 배상 조항이 포함되어 있었습니다.

2006년에 애플은 두 번이나 스퀵 유물을 제작했다.우선, 5월에 애플은 자사Apple Public Source License를 사용했습니다.이 라이선스는 자유 소프트웨어 재단의 Free Software[11] License 개념을 충족하고 Open Source[12] Initiative로부터 오픈 소스 라이선스로 공식 승인을 받았습니다.그러나 Apple Public Source License는 Debian Free Software Guidelines를 준수하지 않습니다.Etoys를 One Laptop Per Child 프로젝트에 포함시키기 위해 Apache License를 사용하여 두 번째 리센싱을 수행했습니다.이 시점에서, 스퀵 커뮤니티의 멤버에 의한 코드의 문제에 대처하는 노력도 행해졌습니다만, 이것은 애플이 일방적으로 유물을 남기는 힘이 아닙니다.

1996년 이후 Squak 라이선스에 따라 이루어진 각 기여에 대해 MIT [13]라이선스에 따라 배포를 승인하는 리센싱 스테이트먼트가 입수되어 2010년 3월에 최종 결과는 현재 MIT와 Apache 라이선스를 합친 Squak 4.0으로 발표되었습니다.

가상 시스템 스퀵

스퀵 가상 머신은 Smalltalk 프로그래밍 언어 [3]구현에 사용되는 가상 머신(VM) 패밀리입니다.이들은 모든 Smalltalk 구현에서 필수적인 부분입니다.모두 오픈 소스 소프트웨어입니다.현재 VM은 고성능 동적 변환 시스템입니다.관련 코드는 GitHub의 OpenSmalltalk/opensmalltalk-vm 저장소에 유지됩니다.

기타 스퀵 가상 머신

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Tim: Squeak Smalltalk". Retrieved 2016-02-28.
  2. ^ http://files.squeak.org/5.3/; 검색: 2022년 3월 23일.
  3. ^ a b Miranda, Eliot; Béra, Clément; Gonzalez Boix, Elisa; Ingalls, Dan (2018). "Two decades of smalltalk VM development: live VM development through simulation tools". Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (PDF). ACM Digital Library. pp. 57–66. doi:10.1145/3281287.3281295. ISBN 9781450360715. S2CID 53116661. Retrieved 2020-11-09.
  4. ^ Ingalls, Dan; Kaehler, Ted; Maloney, John; Wallace, Scott; Kay, Alan (1997). "Back to the Future: the story of Squeak, a practical Smalltalk written in itself". ACM SIGPLAN Notices. ACM Digital Library. 32 (10): 318–326. doi:10.1145/263700.263754. Retrieved 2011-06-12.
  5. ^ "Tweak: OriginalTweakMemo". Tweakproject.org. 2001-07-06. Archived from the original on 2011-10-02. Retrieved 2011-06-12.
  6. ^ "Tweak: Whitepapers". Tweakproject.org. Archived from the original on 2011-10-02. Retrieved 2011-06-12.
  7. ^ Burbeck, Steve (1997-04-04). "How to use Model-View-Controller (MVC)". St-www.cs.uiuc.edu. Archived from the original on 2009-08-01. Retrieved 2011-06-12.
  8. ^ "Scratch". wiki.squeak.org. Retrieved 2022-03-23.
  9. ^ "Moving Immersive Collaboration Forward". 3 May 2011.
  10. ^ "Inside Nintendo's ES Open-Source Operating System". Gamasutra. 2007-12-04. Retrieved 2007-12-05.
  11. ^ "FSF's Opinion on the Apple Public Source License (APSL) 2.0". Gnu.org. 2011-05-07. Retrieved 2011-06-12.
  12. ^ "Clarification of the APSL: Press Releases OS Clarifies The Status Of The APSL". Opensource.org. 1999-03-17. Retrieved 2011-06-12.
  13. ^ "Squeak 4.0 released - now under MIT/Apache license". The H Open. 2010-03-16. Retrieved 2011-06-12.
  14. ^ Freudenberg, Bert; Ingalls, Dan; Felgentreff, Tim; Pape, Tobias; Hirschfeld, Robert (2014). "SqueakJS: a modern and practical smalltalk that runs in any browser". ACM SIGPLAN Notices. ACM Digital Library. 50 (2): 57–66. doi:10.1145/2775052.2661100. Retrieved 2020-11-09.
  15. ^ Friedrich Bolz, Carl; Kuhn, Adrian; Lienhard, Adrian; Matsakis, Nicholas; Nierstrasz, Oscar; Renggli, Lukas; Rigo, Armin; Verwaest, Toon (2008). "Back to the Future in One Week — Implementing a Smalltalk VM in PyPy". Self-Sustaining Systems. Lecture Notes in Computer Science. Vol. 5146. Springer, Berlin, Heidelberg. pp. 123–139. doi:10.1007/978-3-540-89275-5_7. ISBN 978-3-540-89274-8. Retrieved 2020-11-09.
  16. ^ Niephaus, Fabio; Felgentreff, Tim; Hirschfeld, Robert (2019). "GraalSqueak: toward a smalltalk-based tooling platform for polyglot programming". Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes - MPLR 2019. ACM Digital Library. pp. 14–26. doi:10.1145/3357390.3361024. ISBN 9781450369770. S2CID 204728643. Retrieved 2020-11-09.

외부 링크