Snap!로 블록 코딩을 넘어 컴퓨터 과학까지

Λ Snap – An inviting programming language for kids and adults for CS study

Snap!로 블록 코딩을 넘어 컴퓨터 과학까지

UC Berkeley와 SAP가 만든 Snap!은 어린이와 성인 모두를 위한 블록 기반 프로그래밍 언어다. 낮은 진입 장벽, 넓은 확장성, 무한한 가능성을 내세우며, 단순한 코딩 교육을 넘어 컴퓨터 과학을 진지하게 연구하는 플랫폼으로 설계됐다. 사용자들은 게임, 시뮬레이션, 애니메이션 등 다양한 프로젝트를 공유하며, Snap!Con과 같은 행사를 통해 커뮤니티도 활발히 운영된다.

Snap!은 어린이와 성인 모두를 위한 폭넓게 매력적인 프로그래밍 언어이자, 컴퓨터 과학을 진지하게 연구할 수 있는 플랫폼입니다.
  1. aspizu

    Scratch는 제가 처음 프로그래밍을 배운 방법이었습니다. 점점 더 야심찬 프로젝트를 만들다 보니, 어느 순간 에디터 자체가 제가 싸워야 할 주된 대상이 되었습니다. 프로젝트가 약 10,000 블록 정도가 되면 끔찍하게 느려질 수 있었고, 결국 Scratch의 한계를 우회하기 위한 설계에 많은 시간을 쏟게 되었습니다.

    그것이 결국 제가 goboscript를 만들게 된 계기입니다: https://github.com/aspizu/goboscript

    저는 커리어를 Scratch에 빚진 프로그래머 중 한 명입니다. 올해 저는 https://ente.com에 소프트웨어 엔지니어로 합류했습니다. Scratch는 제게 코딩하는 법을 가르쳐 주었고, 어쩌면 간접적으로 실제 엔지니어링도 조금 가르쳐 주었습니다.

  2. sinuhe69

    Snap은 Scratch보다 더 표현력이 뛰어나고 강력하도록 설계되었습니다. 하지만 디버깅이 매우 고통스럽다고 느낍니다. 예를 들어 변수나 블록의 이름을 바꾸면 호출 지점에 '구멍'이 생길 수 있는데, 시스템이 오류를 보고할 수도 있고 못 할 수도 있으며 조용히 실패합니다. 제 생각에 Snap은 더 불안정하고, 팀은 기존 기능을 다듬거나 시스템을 더 견고하고 안정적으로 만드는 것보다 새 기능을 추가하는 데 더 열심인 것 같습니다.

  3. Dwedit

    입력할 수 없는 이름은 문제가 될 수밖에 없습니다.

  4. andrewla

    저는 이렇게 생긴 그래픽 프로그래밍 환경과 Scratch를 별로 좋아하지 않는데, 왜 이렇게 매력이 없다고 느끼는지 정확히 설명하기 어렵습니다.

    큰 이유 중 하나는, 어느 정도까지는 이것으로 프로그래밍을 배울 수 있다는 점입니다. 하지만 이것으로 소프트웨어 엔지니어링을 배울 수는 절대 없습니다.

  5. stymaar

    Scratch와의 차이점이 궁금한 분들을 위해, about 페이지에 나와 있습니다:

    > Snap! 소개

    > Snap! (이전 명칭 BYOB)은 시각적, 드래그 앤 드롭 프로그래밍 언어입니다. MIT Media Lab의 Lifelong Kindergarten Group 프로젝트인 Scratch를 확장 재구현한 것으로, 자신만의 블록을 만들 수 있게 해줍니다. 또한 일급(first class)[1] 리스트, 일급 프로시저, 일급 컨티뉴에이션[2]을 지원합니다. 이러한 추가 기능 덕분에 고등학생이나 대학생을 위한 진지한 컴퓨터 과학 입문에 적합합니다.

이 날의 다른 글

2026-09-11