こんにちは,米国データサイエンティストのかめ(@usdatascientist)です.
今日は,これからプログラミングを勉強しようとしている人に,プログラミングの勉強の前に必ず身につけてほしいことについて話します.
それは...
タッチタイピング
です.
タッチタイピングというのは,キーボードを見ないでタイピングをすることです.しかも私がここで言うタッチタイピングは
ただ感覚でなんとなくタイピングができるのではなく,それぞれのキーに対して決まった指でタイプできる
ことです.
これ,意外にできてない人多いと思います.ちゃんとホームポジションを意識してタイピングできてますか?それぞれのキーに対して指が決まってない人は,必ず矯正しましょう.
目次
なぜタッチタイピングがプログラミングにおいて必要なのか
理由は以下の通りです.
- タイプミスが減る
- 慣れてくるとコードを書くのが早くなる
- タッチタイピングができる人からみると,タッチタイピングができない人はコーディングが下手だと思われるから
まず,一番重要なのが,タッチタイピングがきちんとできるようになるとタイプミスが減ります.プログラミングでのタイプミスというのはバグに繋がります.(というか100%バグになります.) プログラミングというのは,1文字でも間違えた文字が入っていると動きません.’:'(コロン) が’;'(セミコロン)になっていたことが原因でNASAのロケットが飛ばなかったことがあるらしいです笑
意外にタイプミスが由来のバグというのは多く,例えばstringがstirngになっていたり, 一見プログラムを見渡すと気づかないものが多いです.
一つのタイプミスが原因で数日徹夜するなんてこと,したくないですよね?笑
私も昔自己流のタイピングでやってましたが,よくTypo(Type missのことで,Typeが正しいがミスしてTypoになっている笑)していました.海外のCoding Bootcampにいたころ,ペアコーディング(一人がコーディングをしてもう一人がそれを見て指摘する)中にTypoの量を指摘されたことをきっかけに矯正しました.
最初は「自分は日本人で英語のタイピングをする機会がないからTypoが多いんだ」と思っていましたが,実はタイピングが自己流だったのが理由で,それを直してからTypoが激減しました.
恥ずかしながら私は,「各キーに正しい指でタイプする」と言うこと自体それまで考えたことがありませんでした.
まじでなんでだれも教えてくれなかったんだろ・・・・
ということで,今回この記事を書いて,少しでもプログラミング初学者の人に重要性が伝わればいいかなと思います.
二つ目の理由が,コードを書くのが早くなります.
これからコーディングのプロ(仕事でコーディングする)を目指すのであれば,コードを早くかけることは生産性向上に繋がり,また,これから勉強すると言う人にとっても,これからの勉強スピードが上がります.
自分の思考と同じスピードでコーディングできるようになると,キーボードが体の一部のように感じて,すごく快適に思えるはずです!
最後の理由が,意外に思われるかもしれませんが,タッチタイピングができない人ってみるとすぐ分かるんです.なんか指がばたついているんですよね.
で,ここで重要なのが,大学でコンピュータサイエンスを専攻した人はみんな大学一年生のときにタッチタイピングを叩き込まれれています.
つまり,大学でプログラミングをきちんと学んできた人にとって,タッチタイピングができるというのは当たり前で,超基礎なんです.
これからプログラミングの仕事をしていくと,大学でプログラミングを勉強した人たちと同じ土俵で戦わなくてはなりません.もしあなたがすでに社会人であれば,きっと一度は劣等感にあうことがあると思います.
タッチタイピングができるというのは,そういう人たちとおなじ土俵に立つための最初のステップだと思います.
これを身につけないでプログラミングの勉強をすると,変な癖がついてしまい矯正するのがどんどん難しくなってきますので,
必ずプログラミングの勉強を本格的に始める前にマスターしましょう
どうやって練習すればいいの?
ここでは私が実際に実践した練習方法を紹介します.
基本的にはネットにある無料のタイピングサイトを使っていくのですが,ここで重要なのが
英語のタイピングを練習する
ことです.
プログラミング言語は英語ですし.なんせ英文をスラスラタイピングできるとかっこいいですよ笑
ステップ1:各キーに対応する指を覚える
今自己流でやっている人は,下の図の通りにどの指でどのキーをタイプするのかを矯正し,徹底してください・・・.
ルールはシンプルで,まず左の人差し指をF(キーボードに点がついてると思います.)右の人差し指をJに置いて,あとは縦の列を同じ指でタイプするだけです.そうすることで指の動きを最小限に抑えることができて高速にタイプすることができますし,タイプしてて指が疲れません.
これ,ルールはシンプルですが実践するのは本当に大変だと思います.
まじで一文打つのに3分くらいかかるんじゃないかっていうね,わかります.でもそれでいいです.最初は超絶ゆっくりタイピングしていきましょう.
いきなり業務でつかうのはしんどいと思うので,そこは無理にとは言いませんが,1日1時間くらい,練習できれば2週間もあればもう昔のタイピングの仕方を忘れ,1ヶ月後には快適にタイピングしていることでしょう.
最初は自分の名前とか,あいうえおかきくけこ・・・とか,自分の考えをタイピングするとか,そんなんでいいです.それに飽きてきたらタイピングソフトをつかいましょう.
私はひたすらこのサイトで練習しました.
ステップ2:タイピングサイトで簡単な英単語を練習する.(0WPM→40WPM:2週間)
実際のスピードWPM(word/minutes)が分かるのでモチベーション維持にもなります.
数年振りに一発やってみたら68WPM(word/minutes)でした.
私はこれで練習したころ,結構ハマってしまってずっとやっていました笑
だいたい40WPMあたりを出せるように慣ればひとまずこのサイトは卒業でいいと思います.
ステップ3:難しい英文でタイプ練習(40WPM→60WPM:2週間)
そのあとに私が毎日練習に使っていたのが,
こちらのサイトです.
使い方は簡単で,Startボタンをクリックすると文章が表示されるのでその文章をタイプしましょう!
文章はランダムに,BookやArticleの実際の文章が表示されます.(たまにハリー・ポッターの文章がでたこともあります.)
終わるとWPMが表示されますが,Typing Speed Testよりも文章が格段に難しくなっているのでおそらく最初はかなりつまずくと思います.
試しに今ひさしぶりに試した結果がこちらです.
間違えた箇所や早かった場所(緑が早くて赤が遅い)が分かるようになっています.結果は56.07WPMです.ちょっと微妙ですね笑 でも,まぁ50~60WPMが出せるようになれば一般文章のタイピングには困らないと思います.
プログラミングではこれに加えて記号や数字もたくさんでてくるのですが,それについての練習は後述しますね.
また,このサイトのいいところはユーザー登録をする事で,自分の成長が可視化できるのでおすすめです!(画面右上のLogin/SignUPをクリックして登録)
私が数年前に練習していた頃の記録はこんな感じです.
最初は40-45WPMですが,250回くらいやると60WPMくらいにまであがります.(その後はあまり成長が見られないですが笑)
1日30分を2週間もやればこれくらいにはなると思います.60WPMくらいまでできるようになると,タイピングはかなり快適ですよ!!
また,これらの練習では,必ず指のキー割り当ては正しくなるように徹底してくださいね!
ブラックアウトステッカーを使うと効果大
ついついキーボードを見てしまうという人は,ブラックアウトステッカーをつけましょう.
私もブラックアウトステッカーを貼って,キーボードの文字が見えないようにして練習しました.ついついキーボード見てしまうし,気づいたらブラインドタッチしてないっていう人はぜひ使いましょう.効果大です.
Amazonで色々探したんですが,私が最終的に行き着いた商品はこちらです.↓(私の同僚もみんなこれを使っていました.)
使っているパソコンのモデルによって多少の違いはありますが,基本このシリーズを買っておけば間違いないと思います.
ブラックアウトステッカーをつかうと圧倒的に上達速度があがるのでおすすめです.そんなに高くないですしね!
あと,真っ黒のキーボード使ってると玄人感がでますwそういう意味でもおすすめw
数字や記号はどう練習する?
上述のタイピングの練習で60WPMくらいできるようになったら,残るは数字と記号です.
これの練習が結構大変なんですよね...
結論からいうと,
特別練習はしなくていいと思う.あとはプログラミングを習う過程で慣れいけばOK
です.
もちろん,指のキー割り当ては必ず守ってください.
ネットで探すと色々プログラミング用のタイピング練習サイトがありますが,
全然楽しくない
です.
記号だらけで自分は全然はまれませんでした.
なので,基本(上述の2サイト)ができて指の割り当てルールもわかってきたら,あとはプログラミングを習いつつタイピングしていくのが最適解だと思います.
まとめ
今まで日本とアメリカでエンジニアとして働いてきましたが,日本の特にコンピュータサイエンス出身でない人のタイピングのできてなさ率が非常に高いです.アメリカにも時々いますが,英語圏の人たちは英単語をタイピングすることに慣れているので,そこまでバグになりにくいです.
日本人はアルファベットのタイピングをすることに慣れていないので,Typoによるバグが多い印象です.
タイピングに関しては練習すれば英語圏の人より速く正確に英語をタイプすることが可能です.
タイピングするときに指がばたつかないで最小限の動きで高速にタイプできると結構かっこいいですよ!
まとめると・・・
- プログラミングの勉強を始める前に必ず身につけること
- タッチタイピングを身につけることでバグを減らせる
- タッチタイピングを身につけることでプログラミングの学習効率があがる
- そもそもできるとかっこいい(というかできないとダサい)
です!それでは!
[…] https://datawokagaku.com/typing_practice/ […]