스냅! (프로그래밍 언어)

Snap! (programming language)
똑! (BYOB)[Note 1]
Snap!.png
스냅! 로고
패러다임목적 지향적, 교육적, 이벤트 중심적
설계자브라이언 하비옌스 뫼니그
개발자옌스 뫼니그
첫 등장2011; 11년 전(2011년)
안정적 해제
7.0.2 / 2021년 12월 21일, 59일(2021-12-21)
타이핑 규율동적인
구현 언어JavaScript(Snap!), 이전 스퀵(BYOB 버전)
OS크로스 플랫폼
면허증AGPL
파일 이름 확장명.xml(스냅!)
웹사이트snap.berkeley.edu
영향을 받은
Scratch, Scheme, 로고, Smalltalk
영향받은
비틀블록스, 스냅이, Dragme IDE, Turtlestitch

스냅!(이전의 BYOB Build Your Own Blocks 또는 BYOB)는 수학 및 계산 아이디어를 학습하면서 대화형 애니메이션, 게임, 스토리 등을 탐색, 제작 및 리믹스하는 학생들을 대상으로 하는 무료 블록 기반 교육 그래픽 프로그래밍 언어 및 온라인 커뮤니티다.Scratch에서 영감을 얻은 Snap!은 많은 고급 기능을 가지고 있다.스냅! 편집기와 그 안에서 만들어진 프로그램은 설치가 필요 없이 브라우저(예: Scratch 2와 3)에서 실행되는 웹 애플리케이션이다.[Note 2]

사용자 인터페이스

시작 시 스냅!' IDE에 5개의 영역이 포함된 3개의 크기 조정 가능 열

스냅!에서 화면은 블록 그룹 선택기(왼쪽 열 상단), 블록 팔레트(왼쪽 열), 메인 영역(가운데 열), 스테이지 영역(오른쪽 열 상단)의 5개 영역을 포함하는 크기 조정 가능한 3개의 열로 구성되며, 그 아래 스프라이트 선택기(스프라이트 코랄이라고도 함)는 스프라이트 축소판 그림을 보여준다.[Note 3]

대화식으로 크기를 조정할 수 있는 단계 영역에서는 스크립트 영역에서 실행 중인 스크립트의 그래픽 결과 및/또는 팔레트에서 개별 블록을 대화식으로 두 번 클릭하는 그래픽 결과가 표시된다.개별 블록을 팔레트에서 선택한 스프라이트와 연결할 스크립트 영역으로 끌 수 있다.

카테고리 메모들 카테고리 메모들
동작 스프라이트 이동 및
각도를 바꾸다
컨트롤 만약 진술, 사건들,
및 루프 구조
표정 가시성 제어,
의상과 출력물
감지 모든 스프라이트 적중 감지
및 사용자 입력
소리 오디오 파일 재생 및
프로그램 가능한 시퀀스 오디오
연산자 수학적 및
부울 연산자
허용한다.
거북 그래픽스
변수 변수, 목록,
목록 포함

스냅!' 블록은 8개 그룹으로 나뉜다.동작, 모양, 소리, 펜, 제어, 감지, 연산자 및 변수.블록 그룹 선택기에 있는 이러한 그룹의 레이아웃은 아래 표에 나와 있다.

중앙 영역은 선택된 스프라이트와 관련된 스크립트, 의상 또는 소리를 보여줄 수 있다.메인 영역이 보여주는 것은 선택한 탭에 따라 달라진다.

특징들

스냅!이 제공하지만 Scratch가 제공하지 않는 가장 중요한 기능에는 다음이 포함된다.

  • 회색 링 내부의 블록으로 표현되는 익명 함수를 사용하는 표현식, "익명 순서 함수"(익명 함수를 부르는 표현)로 채워진 하나 이상의 빈 슬롯/주장을 가지고 있다.(그들의 컴퓨터 과학 이론적 근거는 퍼스트 클래스 기능이며, 이는 람다 미적분을 그들의 훨씬 더 추상적이고, 수학적, 기초로서 가지고 있다.)
  • 번째 클래스인 목록(목록/목록 목록 포함)
  • 퍼스트 클래스 스프라이트(즉, 프로토타입 지향 인스턴스 기반 클래스 없는 프로그래밍)
  • "하이퍼블록(Hyperblock)": 자연영역이 스칼라(텍스트 또는 숫자)인 함수로서 목록을 입력으로 받아들이고 기본 함수를 목록 또는 하위 목록에 있는 스칼라에 적용하도록 확장된다.
  • 보금자리 스프라이트,
  • Snap! 프로그램을 Python, JavaScript, C 등의 텍스트 언어로 코드화.

마스코트

스냅!의 마스코트인 알론조에는 이오타, 조트 등 보편적인 람다 함수가 다양한 조합으로 스스로 호출해 어떤 함수 행동을 일으킬 수 있는 연산 모델의 발명자인 알론조 처치(Alonzo Church)라는 이름이 붙어 있다.알론조의 모델이 람다 미적분학이라고 하기 때문에 마스코트의 털은 그리스 문자 람다처럼 생겼다.

특수 목적 블록(라이브러리)

예를 들어 라이브러리에서 특수 블록('stream', 'show stream', 'thele of stream' 및 'map over stream' 블록)을 사용하여 피보나치 시퀀스를 만들 수 있는 'streams' 라이브러리 등 확장된 블록 집합을 스냅! 라이브러리에서 찾을 수 있다.

'목록 유틸리티' 라이브러리, '단어, 문장' 라이브러리, '반복' 라이브러리, '애니메이션' 라이브러리, '주파수 분포' 라이브러리, '오디오 계산' 라이브러리, '바 차트' 라이브러리, '월드맵' 라이브러리, '컬러 및 크레용' 라이브러리, '스트링 및 멀티라인 입력' l 등 그 밖의 많은 도서관을 이용할 수 있다.ibrary, 기타 특별한 목적을 위한 '정보화' 도서관 등.

역사

그 웹 기반 스냅!그리고 나이 든desktop-based bring양쪽 젠 모두 Mönig을 눌러 Windows, OSX, Linux[2]를 위한 설계 아이디어와 문서 브라이언 Harvey[3]캘리포니아 대학 UC버클리 대학교의에 의해 제공되고non-CS-major stu이 컴퓨터 공학(CS)에"그 미녀와 조이 컴퓨팅"입문 과정을 가르치는 데 사용되었다 개발되었다.dents.[4]Jens는 스냅을 만들기 전에 Scratch 팀의 일원이었다.[5]BYOB는 여전히 다운로드가 가능하다.

면허증

스냅!의 소스 코드는 AGPL(Affero General Public License) 라이센스이며 GitHub에서 호스팅된다.[6]이전 데스크탑 기반 3.x 버전의 코드는 비상업적 용도에 대해서만 수정을 허용하는 라이센스로 사용할 수 있으며 UC 버클리 웹사이트나[7] CNETDownload.com 및 TechTracker 다운로드 페이지에서 다운로드할 수 있다.[8][9]

플랫폼

스냅!은 HTML5 캔버스 API를 사용하여 자바스크립트에서 구현되며, 그 때문에 윈도, iOS, OS X, 리눅스 장치의 주요 웹브라우저에서 실행된다.

인식

스냅!은 로고 재단의 인정을 받았고,[10] 프로그래머들을 위한 온라인 잡지에서 리뷰를 받았다.[11]2014년 12월 현재 뉴욕시(NYC) 100개 고등학교가 스냅![12]을 활용한 2015년부터 새로운 AP 컴퓨터 과학 원리 과정으로 버클리 캘리포니아 대학의 '컴퓨팅의 아름다움과 즐거움'을 소개한다.

메모들

  1. ^ 프로그램 버전 7.0.2
  2. ^ Snap!의 전임자인 BYOB는 Scratch를 수정했으며 프로젝트를 Windows 실행 파일로 내보낼 수 있었다.
  3. ^ 2.0 이전 Scratch 버전의 화면이 정리된 방식.

참조

  1. ^ "jmoenig/Snap". GitHub. Retrieved 3 January 2022.
  2. ^ "Scratch - Imagine, Program, Share". scratch.mit.edu. Retrieved 21 May 2017.
  3. ^ "HomePage for Brian Harvey (bh@cs.Berkeley.EDU)". people.eecs.berkeley.edu/~bh/. Retrieved 19 January 2019.
  4. ^ "UC Berkeley EECS - CS10 : The Beauty and Joy of Computing - Fall 2011". inst.eecs.berkeley.edu. Retrieved 21 May 2017.
  5. ^ https://forum.snap.berkeley.edu/t/relationship-with-the-scratch-team/1277/2
  6. ^ "jmoenig/Snap". GitHub. Retrieved 21 May 2017.
  7. ^ "Snap! (Build Your Own Blocks) 4.0". snap.berkeley.edu. Retrieved 21 May 2017.
  8. ^ CNET Download.com 및 CNET TechTracker의 Windows용 BYOB 다운로드 페이지
  9. ^ CNET의 Download.com 및 TechTracker BYOB for Mac 다운로드 페이지
  10. ^ "Logo History". el.media.mit.edu. Retrieved 21 May 2017.
  11. ^ Editor. "Visual Language Snap! Version 4.0 Released". i-programmer.info. Retrieved 21 May 2017. {{cite web}}: last=일반 이름 포함(도움말)
  12. ^ "FACT SHEET: New Commitments to Support Computer Science Education". obamawhitehouse.archives.gov. 8 December 2014. Retrieved 20 January 2019.

외부 링크