CryptoZombies で遊んでみる
こんにちは、Artista Programming School の青柳です。
最近は、プログラムの独習ツールが豊富に出回っていますね。しかも無料で利用できるのですから利用しない手はありません。
CryptoZombies とは?
CryptoZombies とは、Solidity という言語をゲーム感覚を交えて習得できる無料ツールです。サイトは日本語にも対応していますね。
Solidity とは?
最近、Web3 という単語がいろいろなところで聞かれるようになりましたね。自民党も Web3 をなんだか推しているようです。
Web3 にはスマートコントラクトというものがあります。平たく言えば、プログラミングでコントラクト(契約)の処理を自動化しようというやつです。そのプログラミング言語として存在するのが Solidity になります。
個人的にはこの分野には注目していて、Solidiry(スマートコントラクト)はこれから伸びるのではないかなと思っています。というより、こういったもので複雑な仕組みを自動化し、これからの高齢化社会に備え・・・(長くなるので割愛)
触ってみた感想
言語的には、JavaScript のような、名前の付け方は C 言語のような、まあいろいろなプログラミング言語の良いとこ取りをしていったような感じです。私はいろいろな言語での開発経験があるので、いまのところは特に難しさみたいなものは感じません。しかし、プログラム未経験の人には、データ型とか、継承とか、謎の用語が多いかもしれませんね。
独習サイトがあればプログラミングスクールは不要?
独習サイトがあろうと無かろうと、プログラミングスクールの価値はあると思います。それはなぜか?
なにか解決したい課題をプログラムでどうにかしたいわけですが、それをプログラムレベルにするには、それなりの技術が必要です。
課題を細分化し明確にする作業
たいていの場合、課題というのはあまり明確になってはいません。なんとなく、ぼやっとしています。そのあたりを、何が明確で、何が不明確なのか?大きい複雑に絡み合った問題をどのように細分化していくのか?このあたりの整理が必要です。
プログラムに変換する作業
前段の作業で、明確に、細分化された、課題をプログラムに記述していきます。このあたりは、プログラミング言語の仕様の理解だったり、ときにはデータ構造やアルゴリズムの理解が必要だったりしますね。しかし、前段でシンプルな課題に細分化されているので、プログラムは比較的簡単になるはずです。
つまり、設計ができるかということ
そうなんです、プログラミング言語を習得してもプログラムは書けません(もちろん、小さいプログラムなら書けます)
プログラミングで大事なのはプログラミング言語の習得ではありません。いかにして、大きい課題を小さい課題に分割して、シンプルに物事を考えられるか?これが大事なのです。
この能力はいろいろな場面で役に立ちます。生きていれば色々な問題に直面しますね?そのときに、ただ「ああ、どうしよう・・・」で立ち止まってしまうのか?それとも、「この問題はAとBに分解すれば、それぞれはシンプルな問題だな」と立ち向かうのか?
皆さんも、プログラマ的思考を身に付けて行きたいと思いませんか?
Artista Programming School 生徒募集中!