맨위로가기

스퀵

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

스퀵(Squeak)은 1970년대 다이나북 프로젝트의 일환으로 시작된 객체 지향 프로그래밍 환경이다. 앨런 케이와 댄 잉갈스를 중심으로 애플에서 개발을 시작하여, 월트 디즈니 이매지니어링을 거쳐 뷰포인트 연구소에서 현재까지 개발이 이어지고 있다. 스몰토크 언어를 사용하며, 높은 이식성과 다양한 멀티미디어 처리 기능을 제공한다. MIT 라이선스 및 아파치 라이선스를 적용받으며, 다양한 사용자 인터페이스 프레임워크와 개발 도구를 제공한다. 스퀵은 오픈 코발트, 스크래치, 닌텐도 ES 운영 체제 등 다양한 분야에서 활용되며, 특히 교육용 콘텐츠 개발에도 사용되었다.

더 읽어볼만한 페이지

  • 디즈니 기술 - 디즈니 디지털 3-D
    디즈니 디지털 3-D는 월트 디즈니 컴퍼니가 제작하거나 배급하는 3차원 영화를 지칭하며, 2005년 《치킨 리틀》을 시작으로 다양한 3D 영화를 제작 및 배급하고 과거 작품을 3D로 변환하여 재개봉하기도 했다.
  • 디즈니 기술 - Etoys
    Etoys는 앨런 케이의 구성주의 학습 이론에 기반하여 개발된 교육용 프로그래밍 환경으로, Squeak을 기반으로 드래그 앤 드롭 인터페이스와 다양한 미디어 객체를 지원하여 상호작용적인 콘텐츠를 쉽게 만들 수 있도록 설계되었으며, 자유 소프트웨어 및 오픈 소스 라이선스로 배포된다.
  • 스몰토크 프로그래밍 언어 계열 - 스크래치 (프로그래밍 언어)
    스크래치는 MIT 미디어 연구소에서 개발한 어린이 및 입문자를 위한 시각적 프로그래밍 언어이며, 블록 기반 방식을 통해 애니메이션, 게임, 스토리 등을 만들 수 있도록 설계되었고, 코드 공유 및 재사용을 장려하며 다양한 교육 환경에서 활용된다.
  • 스몰토크 프로그래밍 언어 계열 - 파로 (프로그래밍 언어)
    파로는 댄 잉걸스와 앨런 케이가 제작한 스퀵에서 분기된 오픈 소스 Smalltalk 환경으로, 현대적인 소프트웨어 공학 및 개발 기술에 중점을 두고 단순한 구문, 객체 지향 프로그래밍, 즉각적인 객체 ID 스와핑 등의 특징을 가진다.
  • 명령형 프로그래밍 언어 - 코틀린 (프로그래밍 언어)
    코틀린은 젯브레인즈에서 개발한 정적 타입 언어로, 자바 가상 머신에서 동작하며 자바와의 호환성을 갖고, 안드로이드 공식 지원 언어로 채택되어 다양한 분야에서 활용되고 있으며, 이름은 러시아의 코틀린 섬에서 유래되었다.
  • 명령형 프로그래밍 언어 - 자바 (프로그래밍 언어)
    자바는 제임스 고슬링 등에 의해 개발된 객체 지향 프로그래밍 언어로, 다양한 플랫폼에서 실행 가능하며 샌드박스 모델 기반의 보안 기능, 자동 메모리 관리, 멀티스레딩 등을 지원한다.
스퀵 - [IT 관련 정보]에 관한 문서
기본 정보
스퀵 로고
오리지널 1996년 로고 (Tim Rowledge 제작)
스퀵-스몰토크 Morphic 사용자 인터페이스 스크린샷
스퀵–스몰토크 Morphic 사용자 인터페이스 스크린샷
패러다임객체 지향
디자이너앨런 케이
댄 잉걸스
아델 골드버그
개발자스퀵 커뮤니티
발표일1996년
최신 안정화 버전202312181441
최신 안정화 버전 날짜2023년 12월 20일
타이핑동적
구현체스퀵
Croquet
방언Croquet
Newspeak
Pharo
영향 받은 언어스몰토크
Lisp
Logo
Sketchpad
Simula
Self
영향을 준 언어Etoys
Tweak
Croquet
Scratch
플랫폼크로스 플랫폼
운영체제크로스 플랫폼
유닉스 계열
macOS
iOS
Windows
기타
라이선스MIT
Apache
파일 확장자.image, .changes, .sources, .st
웹사이트스퀵 공식 웹사이트

2. 역사적 배경

스퀵은 1970년대 팔로알토 연구소의 다이나북 프로젝트에서 비롯되었다. 이 프로젝트는 앨런 케이, 댄 잉갈스 등 스몰토크 개발자들이 주도했으며, 처음에는 애플에서 시작되었다.

2. 1. 개발 과정

1970년대 팔로알토 연구소의 이른바 "다이나북 프로젝트"에서, 잠정 다이나북 (알토의 같은 팀에서의 호칭)의 OS 및 컴퓨터 환경에 해당하는 스몰토크 개발에 참여했던 멤버들, 특히 아이디어 제공자인 앨런 케이, 그 구현자인 댄 잉갈스 등이 중심이 되어, 처음에는 애플에서 해당 프로젝트가 시작되었다.[1] 그 후 월트 디즈니 이매지니어링을 거쳐, 앨런 케이가 설립한 NPO인 뷰포인트 연구소로 활동 거점을 옮겨 현재도 개발이 계속되고 있다.[1]

1995년 무렵에는 라이브러리가 정비되지 않았던 자바나, 이미 몇몇 존재했던 상업 기반 IDE로서 인지, 발전을 이루었던 당시의 스몰토크에서는 요구하기 어려웠던, 자유롭고 고도화된 이식성과 작은 풋프린트, 고기능 멀티미디어 처리용 라이브러리를 갖는 것을 특징으로 하였다. 또한 그것을 동작시키기 위한 OS나 플랫폼에 의존하지 않는, 사용자 측면의 프로그래밍을 강력하게 지원하는 컴퓨터 환경을 목표로 개발이 시작되었다.[1]

2. 2. 라이선스 변천

스퀵은 원래 애플이 자체 ''스퀵 라이선스''로 배포했다. 소스 코드는 제공되었고 수정도 허용되었지만, 스퀵 라이선스에는 진정한 자유-오픈 소스 소프트웨어로 여겨지기 어려운 면책 조항이 있었다.

2006년 5월, 애플은 애플 퍼블릭 소스 라이선스를 사용하여 라이선스를 변경했고, 이는 자유 소프트웨어 재단의 자유 소프트웨어 라이선스 개념을 충족했다.[10] 오픈 소스 이니셔티브의 오픈 소스 라이선스 승인도 받았다.[11] 그러나 애플 퍼블릭 소스 라이선스는 데비안 자유 소프트웨어 가이드라인을 준수하지 않았다. OLPC 프로젝트에 이토이즈를 포함시키기 위해, 애플은 아파치 라이선스로 다시 라이선스를 변경했다. 이때 애플이 일방적으로 라이선스를 변경할 수 없는 스퀵 커뮤니티 구성원들의 코드 기여 문제를 해결하기 위한 노력도 진행되었다.

1996년 이후 스퀵 라이선스로 이루어진 각 기여에 대해, MIT 라이선스 배포를 허가하는 재라이선스 동의를 얻었다. 최종적으로 2010년 3월, 스퀵 4.0이 출시되면서 MIT 및 아파치 라이선스가 함께 적용된다.[12]

3. 환경 및 언어

스퀵은 스몰토크 환경과 마찬가지로, 환경 설명 및 데이터 기술 언어 및 사용자 스크립팅 언어로 스몰토크를 사용한다. 스퀵 환경은 처음부터 클래스 브라우저, 객체 인스펙터, 텍스트 에디터, 디버거 등 개발 도구를 갖추고 있었으며, 이러한 도구들은 객체 지향 프로그래밍을 위해 유기적으로 연동되어 사용 가능하다.

스퀵 환경에는 스몰토크와 별도로, eToys(또는 Etoy, SqueakToys 등)라고 불리는 프로토타입 기반 객체 지향 프로그래밍 언어·환경과 비슷한 구조를 가진 비개발자용 프로그래밍 환경(타일 스크립트 시스템 또는 스크립트 시스템)이 구현되어 있다. 모프라는 가시화에 적합한 기구를 결합한 객체에 대해, 그 속성(움직임, 색상, 형태, 행동 등)을 변화시키는 절차를 패널 형태의 부품을 드래그 앤 드롭으로 조합하여 표현할 수 있다.

이러한 특징 때문에 해당 스크립트 시스템은 프로그래밍 미경험자 외에도, 키보드 사용에 익숙하지 않은 저연령층 사용자도 쉽게 다룰 수 있다. 앨런 케이의 오랜 공동 연구자인 킴 로즈 등은 이 기구가 저학년을 위한 컴퓨터 리터러시 및 자연 과학 교육에 활용될 수 있음에 일찍부터 주목하여, 미일독에서의 교육 기관과의 공동 프로젝트를 시작하여 그 높은 교육 효과를 보여주고 있다.

3. 1. 가상 머신

스퀵 가상 머신(스몰토크 바이트 코드 인터프리터)은 스몰토크의 서브셋으로 기술되어 있으며, 이를 C 언어로 변환하는 변환기를 사용하여 생성된다. 이 독특한 가상 머신 개발 스타일은 스퀵에 높은 이식성을 가져다준다. 실제로 스퀵은 UNIX, Windows를 비롯하여, MS-DOS, BeOS, TRON 등, Palm OS 이외의 주요 플랫폼에 이식되어 있으며, 특이하게는 샤프의 자우르스(구 자우르스, 또는 최근의 리눅스 자우르스)에서 동작하는 스퀵 가상 머신도 존재한다. 이식성을 중시한 초기 가상 머신은, 다른 상용 스몰토크나 Java 등에서 이루어지는 동적 컴파일(JIT 컴파일)을 갖추지 않았지만, 엘리엇 미란다(Eliot Miranda)가 새로 제작한 CogVM이라 불리는 차세대 가상 머신에서는 해당 기구도 채택되어 기존보다 5-10배의 성능 향상을 이루었다.[1]

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

스퀵은 여러 사용자 인터페이스 프레임워크를 제공한다. 주요 프레임워크는 다음과 같다:

  • Morphic: Self의 그래픽 직접 조작 인터페이스 프레임워크를 구현한 것으로, 스퀵의 주된 인터페이스이다.
  • Etoys: Morphic을 기반으로 하는 타일 기반의 제한적인 비주얼 프로그래밍 스크립팅 환경이다.
  • Tweak: 2001년에 개발된 실험적인 인터페이스이다. 휴렛 팩커드 연구원 안드레아스 랍(Andreas Raab)이 제안했으며, "스크립트 프로세스"를 정의하고 기본 스케줄링 메커니즘을 제공한다.[4] 섬, 비동기 메시징, 플레이어 및 코스튬 등의 메커니즘을 추가했다.[5] 프로토타입 기반처럼 작동한다.
  • 모델-뷰-컨트롤러(MVC): 스퀵 버전 3.8 이하의 주요 UI였으며, Smalltalk-80 사용자 인터페이스 프레임워크에서 파생되었다.[6]

3. 3. 개발 도구

스퀵은 클래스 브라우저, 객체 인스펙터, 텍스트 에디터, 디버거 등의 개발 도구를 제공한다. 이러한 도구들은 객체 지향 프로그래밍을 위해 유기적으로 연동되며, 애플 스몰토크(Smalltalk)에서 계승되어 스퀵 환경 내에서 사용 가능하다. 스퀵은 데이터 기술 언어 및 사용자 스크립팅 언어로 스몰토크를 사용한다.

4. 응용 분야

오픈 코발트는 스퀵을 기반으로 구축된 자유 소프트웨어이자 오픈 소스 소프트웨어 가상 세계 브라우저 및 제작 툴킷으로, 많은 스퀵 기여자들은 오픈 코발트에서 협업한다.[7]

스크래치의 첫 번째 버전은 스퀵으로 구현되었다.[7]

오픈콱(OpenQwaq)은 스퀵을 기반으로 하는 가상 회의 및 협업 시스템이다.[8]

스퀵은 닌텐도 ES 운영 체제에서도 사용된다.[9]

5. 다국어 지원

Squeak는 오시마를 중심으로 구현된 다국어 확장을 지원하며, 아베, 우메자와, 하야시, 야마미야 등이 일본어 패키지를 개발하여 제공하였다.[1] 다국어 확장 기능은 정식 버전 Squeak 3.8 이후, Squeakland 2005 이후 버전에 통합되어, 사용자는 정식 버전을 다운로드하여 일본어를 사용할 수 있게 되었다.[1]

6. 주요 개발자

앨런 케이다이나북 개념을 제안했으며, 스퀵은 그의 제안인 다이나북 개념의 많은 요소를 통합하고 있다.[3] 1970년대 팔로알토 연구소의 "다이나북 프로젝트"에서 스몰토크 개발에 참여했던 앨런 케이와 댄 잉갈스 등이 중심이 되어 스퀵 프로젝트가 시작되었다.

댄 잉갈스는 스퀵의 기반이 되는 논문을 저술했으며[3], 다섯 세대에 걸친 스몰토크 언어의 아키텍처를 구축했다.

7. 애플리케이션

Squeak(스몰토크) 환경에서는 데이터, 애플리케이션, 시스템 자체가 모두 스몰토크 객체로 구성되어 있다. 따라서 일반적인 컴퓨터 환경에서의 애플리케이션 소프트웨어라는 개념은 뚜렷하지 않지만, 다음과 같은 객체들을 애플리케이션으로 볼 수 있다.

Squeak은 개발자용, 일반 사용자용, 교육용, 게임 등 다양한 목적의 애플리케이션을 제공한다. 또한, Squeak 환경의 일부를 특화하여 마치 하나의 애플리케이션처럼 배포하기도 한다. 예를 들어, Squeakland 사이트에서 배포하는 웹 브라우저 플러그인 버전의 Squeak은 Squeak eToys에 특화된 애플리케이션이다.

7. 1. 개발자용 도구


  • Browser: 클래스나 메서드 정의를 열람, 편집, 추가하는 데 사용되는 도구이다.
  • Inspector: 객체의 속성을 검사하는 데 사용되는 도구이다.
  • Debugger: 인터프리터의 내부 상태 및 그 추이를 검사하는 데 사용되는 도구이다.[6]
  • Change Set: 클래스나 메서드 정의에 추가된 변경 이력을 관리하는 데이터베이스이다.
  • Method Finder: 임의의 문자열을 포함하는 메서드명 및 그 정의를 호출하는 도구이다.
  • Processes: 프로세스 열람 및 관리 도구이다.
  • Transcript: 일반적인 개발 환경에서의 표준 출력 역할을 담당하는 소프트웨어이다.

7. 2. 일반 사용자용 도구


  • Workspace: WYSIWYG 방식의 임시 메모장이다.
  • GeeMail: 문서와 그림을 함께 사용할 수 있는 메모장이다.
  • PaintBox: 페인트 도구이다.
  • Book: 카드형 데이터베이스 및 액티브 북을 만들 수 있는 저작 도구이다.
  • File List: 디렉토리 열람, 텍스트 편집, gzip 압축 등의 기능을 갖춘 파일 관리자이다.
  • Scamper: 웹 브라우저이지만, 일본어는 지원되지 않는다.
  • Celeste: 메일러(이메일 클라이언트)이지만, 일본어는 지원되지 않는다.

7. 3. 교육용 도구

Squeak eToys 타일 스크립트 시스템과, 넷을 통한 복수 사용자 데스크톱 공유를 위한 시스템인 Nebraska가 있다.[4][5]

7. 4. 게임

다음은 스퀵에서 즐길 수 있는 게임들이다.

게임 종류설명
체스체스 게임
ChineseChecker
Cipher암호 해독 게임
Crostic크로스 워드 게임
프리셀카드 게임
Mines지뢰 찾기
Same사메가메
Tetris테트리스


7. 5. [[Swiki]]

Swiki는 스퀵 버전의 Wiki 클론으로, 스퀵 위에서 스몰토크로 작성된 HTTP 서버(웹 애플리케이션 서버)인 Comanche를 기반으로 동작한다. Swiki는 파일 업로드, 무한 차분 유지, 정적 HTML 생성 등의 기능을 제공한다. 또한, 독자적인 포맷 규칙을 가지며, 대문자로 시작하는 단어를 자동으로 링크로 연결하는 WikiName영어 기능이 없고, 페이지 작성 후에도 페이지명을 변경할 수 있으며, HTML 표기를 섞어 페이지 소스를 작성할 수 있는 등 다른 Wiki와 차별화된 특징을 지닌다.

공식 사이트 "Swiki Swiki"에서 Swiki에 특화된 가상 이미지와 부속 파일 아카이브를 내려받을 수 있다. 이 가상 이미지를 사용하면 스몰토크 언어 및 환경을 잘 모르더라도, 실행 후 서버 시작 버튼을 눌러 쉽게 운영을 시작할 수 있다. (단, 일본어 사용을 위해서는 최소 한 곳을 수정해야 한다.)

참조

[1] 웹사이트 Tim: Squeak Smalltalk http://www.rowledge.[...] 2016-02-28
[2] 서적 Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages https://hal.archives[...] ACM Digital Library 2020-11-09
[3] 간행물 Back to the Future: the story of Squeak, a practical Smalltalk written in itself ACM Digital Library
[4] 웹사이트 Tweak: OriginalTweakMemo http://tweakproject.[...] Tweakproject.org 2011-06-12
[5] 웹사이트 Tweak: Whitepapers http://tweakproject.[...] Tweakproject.org 2011-06-12
[6] 웹사이트 How to use Model-View-Controller (MVC) http://st-www.cs.uiu[...] St-www.cs.uiuc.edu 2011-06-12
[7] 웹사이트 Scratch https://wiki.squeak.[...] 2022-03-23
[8] 웹사이트 Moving Immersive Collaboration Forward http://teleplace.wor[...] 2011-05-03
[9] 웹사이트 Inside Nintendo's ES Open-Source Operating System https://www.gamedeve[...] 2024-03-05
[10] 웹사이트 FSF's Opinion on the Apple Public Source License (APSL) 2.0 https://www.gnu.org/[...] Gnu.org 2011-06-12
[11] 웹사이트 Clarification of the APSL: Press Releases OS Clarifies The Status Of The APSL http://www.opensourc[...] Opensource.org 2011-06-12
[12] 웹사이트 Squeak 4.0 released - now under MIT/Apache license http://www.h-online.[...] The H Open 2011-06-12
[13] 웹사이트 Squeak Versions http://wiki.squeak.o[...] 2019-11-15
[14] 웹사이트 Smalltalk Overview http://web.cecs.pdx.[...]
[15] 웹인용 5.3 Release Notes http://wiki.squeak.o[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com