스퀵
Squeak![]() 팀 Rowledge[1]에 의해 원래 1996년 로고. | |
![]() 스크린 샷은 스퀵 형태 잔여물이라고 사용자 인터페이스의. | |
패러다임 | 객체 지향형의 |
---|---|
에 의해 설계된 | 알란 케이, 댄 잉갈스. 미국, 아델 골드버그. |
개발자 | 그 스퀵 공동체 |
처음 등장한 | 전( |
안정된 릴리스 | 5.3-19459[2] / 2021년 6월 3일; 전 ( ) |
타이핑 분야 | 역학 |
플랫폼 | 크로스 플랫폼 |
OS | 크로스 플랫폼:Unix 계열, macOS, iOS, Windows 등 |
면허증. | MIT, Apache |
파일 이름 확장자 | .image, .changes, .timeout, .st |
웹 사이트 | www |
주요 구현 | |
스퀵, 크로켓 | |
사투리 | |
크로케, 뉴스피크(프로그래밍 언어), 파로 | |
영향을 받다 | |
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 저장소에 유지됩니다.
기타 스퀵 가상 머신
「 」를 참조해 주세요.
레퍼런스
- ^ "Tim: Squeak Smalltalk". Retrieved 2016-02-28.
- ^ http://files.squeak.org/5.3/; 검색: 2022년 3월 23일.
- ^ 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.
- ^ 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.
- ^ "Tweak: OriginalTweakMemo". Tweakproject.org. 2001-07-06. Archived from the original on 2011-10-02. Retrieved 2011-06-12.
- ^ "Tweak: Whitepapers". Tweakproject.org. Archived from the original on 2011-10-02. Retrieved 2011-06-12.
- ^ 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.
- ^ "Scratch". wiki.squeak.org. Retrieved 2022-03-23.
- ^ "Moving Immersive Collaboration Forward". 3 May 2011.
- ^ "Inside Nintendo's ES Open-Source Operating System". Gamasutra. 2007-12-04. Retrieved 2007-12-05.
- ^ "FSF's Opinion on the Apple Public Source License (APSL) 2.0". Gnu.org. 2011-05-07. Retrieved 2011-06-12.
- ^ "Clarification of the APSL: Press Releases OS Clarifies The Status Of The APSL". Opensource.org. 1999-03-17. Retrieved 2011-06-12.
- ^ "Squeak 4.0 released - now under MIT/Apache license". The H Open. 2010-03-16. Retrieved 2011-06-12.
- ^ 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.
- ^ 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.
- ^ 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.
외부 링크
