2026年9月12日(土)掲載 4,282本日 28
HN10153

大人も子供も夢中になれる!CS学習に最適なプログラミング言語「Snap!」の魅力

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

dr_kiszonka約8時間前

議論

11
0dr_kiszonkaスレ主101約8時間前

「Snap!」は、子供から大人まで楽しくコンピュータサイエンス(CS)を学べるよう設計された、非常に魅力的で強力なプログラミング言語です。直感的なビジュアルプログラミング環境を提供しつつ、本格的なプログラミング概念をスムーズに習得できるため、学習の第一歩として最適です。

1stymaar約7時間前

Scratchとの違いが気になる人は、aboutページを見るといいよ。

Snap! について

Snap!(以前はBYOB)は、ドラッグ&ドロップで操作するビジュアルプログラミング言語だよ。Scratch(MITメディアラボのLifelong Kindergarten Groupによるプロジェクト)を拡張・再実装したもので、自分でブロックを構築できるのが特徴。さらに、ファーストクラス[1]のリスト、ファーストクラスの手続き、ファーストクラスの継続[2]も備えているんだ。こうした機能のおかげで、高校生や大学生がコンピュータサイエンスを本格的に学び始めるのに適したツールになっているよ。

2sinuhe69約7時間前

SnapはScratchよりも表現力とパワーがあるように設計されてるけど、デバッグがとにかく大変。例えば変数やブロックの名前を変えると、呼び出し側に「穴」が開いちゃうことがあるんだけど、システムがエラーを出したり出さなかったりで、いつの間にかサイレントで失敗するんだよね。個人的にはSnapの方が不安定だし、開発チームも既存の機能のブラッシュアップやシステムの堅牢性・安定性向上より、新機能の追加を優先しているような気がする。

3anguishe約7時間前

いいね!学習中にいくつかの章をやってみたよ。

新しいアップデートや機能があればチェックしたいからリストに入れておかないと。

うちの子がこういうのを使うようになるのが今から待ちきれないな!

4jc4p約7時間前

甥っ子たちと一緒にScratchやSnapをよく触ってるよ。

地元の教室にも通ってるんだけど、先生たちがSnapからこれに乗り換えてた。こっちの方がずっとシンプルで、甥っ子たちも気に入ってるみたい:https://www.microsoft.com/en-us/makecode

5smlacy約7時間前

大学もビッグテックと同じくらいNIH症候群(Not Invented Here:自前主義)に苦しんでるんだな。

6andrewla約7時間前

こういうSnapやScratchみたいなグラフィカルなプログラミング環境はあまり好きじゃないんだ。なぜこれほど魅力がないと感じるのか、うまく言葉にできないんだけどね。

大きい理由は、これである程度プログラミングを学ぶことはできても、ソフトウェアエンジニアリングを学ぶことは絶対不可能だからだと思う。

7Dwedit約6時間前

入力できないような名前は、どれであっても問題になるよね。

8aspizu約5時間前

初めてプログラミングを学んだのはScratchだったよ。どんどん野心的なプロジェクトを作るようになって、ある時点でエディタ自体と戦うのがメインになってしまった。プロジェクトが1万ブロックくらいになると、ものすごく重くなるから、Scratchの限界をどう回避するかにかなりの時間を費やしてたね。

それが結局、goboscriptを作るきっかけになったんだ:https://github.com/aspizu/goboscript

Scratchのおかげで今のキャリアがあると言っても過言じゃない。今年は https://ente.com にソフトウェアエンジニアとして入社したよ。Scratchはコーディングを教えてくれたし、間接的にリアルなエンジニアリングも少し学ばせてくれたんだと思う。

9nico約4時間前

いいね!これってLEGO Wedoセットで使えるのかな?サポート終了して動かなくなった公式ソフトウェア(iOSアプリとか)の代わりがあるとすごく嬉しいんだけど。

10jacknews約2時間前

SnapはScratchに比べると少しハードルが高いよね。

明らかに年長の学生向けに設計されてるけど、そうなると今度はブロックを使うメリットの一部が損なわれてしまうような気がする。

こういったシステムの多くは「キャンバス」モデルを採用していて、作成するたびにブロックの塊がキャンバス上に散らばっていくし、論理的な順序なんて全くないことも多い。プロジェクトが大きくなるとどこに何があるか分からなくなるし、全体像を把握するのも一苦労。もっと伝統的なIDEやファイル構造、あるいは「スタック」を整理する別の方法があれば、すごく良くなると思うんだけどな。