見出し画像

Vim勉強会に参加

昨日42の学生が自主的に開いた「Vim勉強会」に参加した。

参加者はぼくを含めて3人で、こじんまりとした集まりだったが途中から6人に増えた。

参加者のほとんどは2021年の5月に入学試験「Piscine」を受けた仲間たち。

このVim勉強会は、Vimmer(Vimを使う人のことをビマーと呼ぶ)になるために、それぞれが使っているツールの紹介と、役立ち情報の交換だ。

ぼくはほとんどシェアできる情報をもっていいなかったのだけれど、Tmuxという端末多重化ソフトウェアを使っていて、使うとどんなメリットがあるかを説明した。

Tmuxを使うメリット


Tmuxは同時に複数のコマンドラインプログラムを実行できる。

例えば1つのウィンドウを三分割して、1つの画面に今取り組んでいるコード、もう一つにそのmain関数、最後の画面にそれら2つをコンパイルし実行するコマンドラインを表示させることができ、それらの画面の行き来は簡単なのでコードを書くスピードが上がる。

しかもこのウィンドウは何個も作れるので、1つのウィンドウでひとつのコードを書いていて、別のウィンドウでは全く別のコードを書くということもできる。

これは「cd」コマンドを使って、いちいちディレクトリを行き来する手間を省くことができるので便利だ。

勉強会での学び


Discordでの勉強会は、実際にパソコンの画面を共有しながらできるので、実際に何がどうなっているのかを画面を見ながら学ぶことができる。

ウェブサイトなどの情報だと、文章やコードを読み、何が起きているのかを理解するのにどうしても時間がかかるが、直接解説を受けながら実際に画面で動かしているものを見ると理解が早い。

いままで「文字を読む」ほうが「話を聞く」よりも理解が早いと思っていたのだけれど、プログラミングに関しては話を聞きながら実際にパソコン上で動かしているものを見た方がずっと理解が進む。

今回の勉強会では各々のカスタマイズを見せてもらい、neovimの良さや、スニペット、ctagの便利さなどを学び、得るものが大きかった。

これらを調べて、早速自分の開発環境のアップデートを行なっていこうと思う。

また、他の人の思考の整理方法も学んだ。

環境構築に関しての設定は大きく分けて3つあり、一つめが「zshrc」でエイリアスやターミナルシェルの設定。

二つ目が「vimrc」 でvim自体の設定。

三つ目が「コマンド」の設定で「make」コマンドを「m」だけにしたりなど。

こういった思考の整理は、いままで漠然と考えいただけだったので、何から環境構築をするかの明確な区分けとなって便利だ。

受けたアドバイス


42の学生は課題の進捗具合によって自分のレベルが決められており、最大のレベルが21で現在ぼくのレベルは1だ。

勉強会に参加した人たちはぼくよりもレベルが上なので、課題の進捗が早い。

そこで彼らにアドバイスを求めると、課題を進めるには、分からないことは一人で抱えずに、すぐに人に聞くことが重要とのこと。

ぼくはこれができていなくて、最初の課題でつまづいた。

長く考えるのがいかに好きでも、あきらめて他の人を頼るという時間を区切りは大切だ。

そして、例外処理に関しては実装がマストなのかベターなのかを迷った際は思い切って分からない状態でレビューに出してみるというのも手だということ。

レビューはただ自分のコードを説明する以上に、リビュワーの知見も活用して何かを学び、理解に役立てるという使い方が大切だ。

不明点がある状態で出すというのは恐ろしいが、確かに周りの人に聞いても分からなければ、レビューに出して、自分で説明している間に、抱えている問題への糸口をみつけるかもしれないし、レビュワーが何かヒントを与えてくれるかもしれない。

おわりに


42では勉強会を開こうと思えばすぐに仲間を集めることができるし、質問に答えてくれる人が身近にいることのありがたさを感じている。

独学では気軽に質問し、何かあればオンラインで集まれる仲間を集めるのはなかなか難しい。

教室に座って授業を聞くという「典型的な学校」が好きではなかったけど、42のような「ゆるい繋がり」で各々が学びたいことを教え合う環境は、自発的で有機的で、とても自然な学び方だと思う。

まだまだ始まったばかりだが、この環境を存分に活かしてプログラマーになれるよう楽しんでいきたい。

取り急ぎ、勉強会で他の学生にオススメされた以下の本を読もうと思う。



匿名のコメ・質問はmondまで👍 https://mond.how/ja/hovinci_jp