このBlogは移転しました。今後は aish.dev を御覧ください。

Python.jp Discordサーバ雑感

Python.jp Discordサーバ の運用を本格的に開始してから半年以上経ったので、感想など。

ユーザ層

Pythonのユーザ層いうとビジネス層というか、おっちゃんが多いイメージがあるのだか、Discordというゲームで広く使われているシステムなためか、アクティブな参加者は若年層・学生が多いようだ。Discordの利用規約で禁止されている小学生の存在が発覚して、ご退去いただいたこともある。

Discord bot

また、プログラマプログラマ希望者だけではなく、単にDiscordをチャットとして利用している人たちも多い。こういう人たちはプログラミングの知識はあまりないが、ゲームを楽しく遊ぶためのツールとして、Discordにいろんなbotを入れて活用している。そのうち、出来合いのbotでは満足できなくなって、自分なりのbotを作りたくなってきた人たちだ。

私は、この「Discord botを作りたい素人」みたいなのが大好きだ。自分の子供のころを思い出す。プログラミングを仕事や就職の道具や教養として身に着けようというのではなく、なにか楽しみがあって、その楽しみをより満喫するするためにコンピュータやインターネットを活用したい。こういうのがHackというもので、一番楽しいプログラミングだと思う。

質問と回答

現在、Python.jpサーバでは、こういう人たちからのDiscord botに関する質問が多い。プログラミング未経験者がほとんどで、質問も的を得ていない。「この質問、往年のJavaHouseだったらどんだけ炎上するだろ」と怖くなるレベルの質問もあるが、今のところは常連のDiscord.py勢が丁寧に回答してくれていて、感謝に堪えない。

こういった初心者の質問への回答は、回答者の意欲と善意に依存しているのでいつまで続くかはわからない。しかし、現在のところ、とても円滑かつ円満にQ/Aが進行している。これは、

  • かんたんなDiscord botはコード量が比較的少なく、初心者でも取り組みやすい
  • プログラミング未経験者が多く、経験者にはできないような質問を躊躇なくしてくる
  • そういった質問でも回答がつくため、他の初心者もまた質問してくる
  • Discord bot経験者が多く、同じような問題を解決したことがあることが多い
  • まだそれほど経験が深くない参加者も多く、初心者に同情的である
  • 初心者が最初にPython.jpサーバでいろいろ教わったため、成長して自然と回答者になってしまった

あたりが要因なのではないかと思ってる。現在のところ、質問者と回答者の数とレベルが、ちょうどいい感じでバランスが取れているのだろう。

また、質問者がプログラミングの初心者であっても、「Discordでこういうことをしたい」という要望そのものは決して低レベルなものだけでなく、有識者の好奇心を刺激して「こうすればできるんじゃない?」という反応を引き出しやすいように思う。

Q/Aの余禄

こういった感じでDiscord関連でにぎわうようになってから半年以上たつが、あまり口出しせずに見ていると、かなりの速度で初心者を脱しつつある若者が目に付く。

よく言われるように、物事は教わるよりも教えるほうが身につくものだ。いろいろな質問の答えを考えるだけでも役に立つ。

また、アマチュアプログラマは、プログラミング言語やOSなどについてある程度覚えてしまうと、次に何をやったらいいのかわからなくなってしまうことが多い。特に、プログラミング適性の高い人はあっという間に基礎を覚えてしまうため、すぐに行き先を見失ってしまう。

Discord botは比較的シンプルで、実行環境を作って実験しやすいテーマだ。こういったテーマで、いろいろな質問が流れてくる、というのは、初心者が経験を積むには好都合だったのだと思う。いろんな経験を積めたのではないだろうか。

プログラミングという技術でも、経験というのが結構大事だ。一度やったことを、一回で覚えられる人は少ない。何度か繰り返して考え、調べ、実際に書いていると、体にパターンとしてしみこんでくる。実戦経験が重要なのだ。いろいろ能書きを垂れる前に、とりあえずプログラム100本ぐらいは書いてほしいものである。

f:id:atsuoishimoto:20190306014924j:plain:w400

こう考えると、未経験者や初心者が質問しやすい環境を整えるというのは、単に初心者をサポートするだけではない。経験を積んだ中堅を育成するために必要なのだと思う。初心者をサポートするために質問しやすい環境を作るのではなく、むしろ中堅予備軍が経験を積みやすいように初心者の質問が集まる場を作る、というのが重要なのかもしれない。

また、こういった場では、「答えを教えちゃうよりも自分で考えるようにしたほうが良いのでは?」とか余計なことを考えず、正解なり完成したコードなりをすんなり示してもらったほうが、良い結果につながると思う。我々は教育に関しては素人なのだから適切な問題設定などできないし、質問者が回答にたどりつけなかった時のフォローも難しい。なにより回答陣どうしでその回答について語り合うことができなくなってしまうので、問題の深掘りにつながらなくなってしまうのがもったいないと感じる。

これから

今のところうまく機能しているような気がしてるので、特にいじる予定はない。ただ、Discordの話題ばっかりというのも寂しいので、Webプログラミング勢や機械学習勢などの若者も、ぜひともご来駕賜りたいと思う次第である。