プログラミング 自己啓発

プログラミング学習のコツとオススメの生活習慣

プログラミングを勉強してもぜんぜん覚わらないし、すぐ忘れちゃうし、集中できないし、もう嫌だ!!
そんな人、多いと思います。

ケンヂまるは努力ができない人間ですが、その代わり成果を出すコツや生活習慣を、これでもか!ってくらいに実践してきました。この記事では、そんなノウハウの全てを公開します。

プログラミングへの向き合い方、集中するコツ、頭をよくする生活習慣まで網羅していて長い内容になってしまったので、目次から興味のあるところにジャンプして読んでみて下さい。

プログラミングは覚えることが多すぎる…は間違い

覚えようとしても消耗するだけ

プログラミングの勉強をしていると、あまりにも多くの情報と出会うことになって、圧倒されます。

そして多くの人が「こんなの覚えるの無理!」ってなって挫折します。

覚えなくていいんです!!

  • 理解する
  • 調べ方を知っておく
  • 慣れる

この意識が必要です。

例えば、ループ処理について勉強をしたら、「ループ回数を指定して、その中に複数回実行したい処理を記述すればいいわけやな。」程度に理解できたら、あとは「ループ処理をさせたいときはこの本のこのページ見ながらプログラム書こう。」と整理してループの勉強は終わり。

これでいいんです。

人間の脳は、覚えようとしたって覚えられません。そういうものなんです。

調べ方がわかればOK

調べるといっても色々な方法があります。

  • 本を見る
  • Webページをブックマークする
  • Googleで検索する(俗にいうググる)
  • ChatGPTに聞く

どの方法でも大丈夫です。あなたが必要な時に必要な情報に辿り着くことができるなら、それは「知っている」ということでOKです。Googleのような検索エンジンが誕生した時、「脳の拡張」と表現されることもあるくらいですから。

調べ直すという行為は多少なりとも時間が掛かるわけですが、気にしなくて大丈夫です。調べ直して、時間を掛けて、徐々に慣れて、効率化すればいい。

この心持ちが正解です。

『すぐ忘れる』悩みを解決する

一度勉強したら忘れない…という幻想は捨てよう

超記憶という、人生で体験した全てのことを覚えてしまう体質の人がいます。彼らは本をパラパラ見ただけで、内容を全て答えることができるし、10年前の今日の天気だって答えられます。なんともうらやましい体質か。では彼ら超記憶を持った人間は、プログラミングの本をパラパラと見ただけでプログラミングスキルが完璧に身に付くのか?

答えはノーです。

彼らが記憶しているのはあくまでも映像的なもので、必要なときに映像を思い返してそこから記憶を取り出します。つまりはただのまる覚えであって、実践スキルじゃないんです。

プログラミングの学習はつまり「実践力を高める」行為と心得ましょう。IQ170前後と言われていたアインシュタインでさえ、すぐに本で調べれることは記憶せず、何度も本で調べ直していたそうですよ。

理解は忘れない

僕らのような凡人は、何かを覚えても、すぐ忘れてしまいます。でも理解したことというのは、忘れられるものではありません。

例えば、「『ELPPA』という文字を覚えて下さい。1ヶ月後にちゃんと覚えているか確認しますよ。」と言われても、覚えてる自信なんてないですよね?でも実は、『ELPPA』は実は『APPLE』を逆にしただけの文字列なんだってことが分かればどうでしょうか?かなり覚えやすくなりますよね?

ちなみに余談ですが、シェルスクリプトの`if`文の、ブロック終了キーワードは`fi`(つまり`if`の逆)です。「`if`が条件ブロックの始まりなら、終了は逆の`fi`ってことか、なるほど考えたなぁ。」と理解できたら、「if文の終了キーワードなんだっけ?」とはならないですよね?

if文を使ったシェルスクリプトの例:

if [[ $a == "apple" ]]; then
  echo "a is apple”
fi

こんな感じで、理解を習慣にするとめっちゃ頭がよくなった気分になれますよ。

記憶力がいい人は理解力が劣る

記憶力がいいと、対して努力しなくても覚えてしまうことができます。そういった人は覚えておけばテストや仕事ができるようになるので、理解しようとしなくなります。
これをこじらせると、記憶力が高いだけの指示待ち人間が誕生します。

逆に自分の記憶力が劣っていると感じている人は、様々な工夫をして「覚えなくてもなんとかなる工夫」をしようとします。そのために物事の中から法則性を見つけます。法則を知っているということは、そこから自分で考えることができるということです。自分で考えることができるので、未知のことにも対処することができるし、自分の考えをもとに行動できるようになります。

自分の考えを持っている人だけが、新しい製品を生み出すことができます。

雇われて仕様通りのプログラミングを作る人と、自分で作りたいと考えてプログラミングをする人、あなたはどちらになりたいですか?

人に教えて自分の理解を深めよう

人に何かを教えることは、自分が理解できていると思っていたことを、より深く考え、より深く理解できるきっかけになります。

教えた相手からどんな質問をされるかわからないし、相手が理解できなかった場合は相手のレベルに合わせて別の表現で伝える必要があるかもしれません。教える前に先回りして理解を深めておくのが理想ですが、質問に答えられなかったり相手にうまく伝えられなかったりした時に「あ、自分の理解は浅かったんだな」と気づくこともできます。

人に教える機会なんかないよという人は、ブログがオススメです。このブログも、実はケンヂまるが自分の理解を深めることを目的に書いていたりします。

技術系の情報は無名の人間でもコツコツ情報発信していれば意外と多くの人が読んでくれるので、モチベーションが保てて継続しやすいですよ。

睡眠不足は物忘れのもと

最新の睡眠研究では、記憶は寝ている間に脳に定着すると言われています。勉強したらしっかり寝る。これがめっちゃ大切です。

夜遅くまで眠気をこらえて頑張っても完全に逆効果です。趣味を1つ削ってでも寝る時間を確保しましょう。

ちなみに睡眠時間が4時間とか5時間とかでも全くパフォーマンスに影響なく活動できる人間も存在し、彼らはショートスリーパーと呼ばれます。なんともうらやましい体質ですが、先天的な体質によるものであり統計的には100人中7人程度しか存在しないと言われています。

ショートスリーパーでない人が睡眠時間を削った場合、物忘れ、IQ低下、精神疾患、免疫力低下、痴呆症リスク増加、などの悪影響が出るのでしっかり寝るようにしましょう。

毎日コツコツ経験を積むことの大切さ

1日の集中力には限りがあります。どれだけ時間を確保しても、集中力を使い終わったあとは無価値です。だからまる1日勉強して次のまる1日遊ぶより、毎日午前だけ勉強して午後は遊ぶ、といった感じでゆるく継続することが大切です。

ケンヂまるは土日でもよっぽど忙しい日でない限り、必ず2時間は勉強するようにしています。

『集中力が続かない』の悩みを解決する

人間が集中できないのはそう進化してきたから

人間が文明を発展させる以前は、野山で暮らしていました。そこには肉食動物などの外敵がいます。何か1つのことに集中するということは外敵に対し無防備になるということであり、外敵に襲われて命を落とすリスクが高くなります。

そして命を落とした者の遺伝子は後世には残りません。

外敵に素早く気づける遺伝子、つまり集中できない遺伝子だけが子孫を残してきました。その子孫である僕たちは、当然ながら集中するのが遺伝子レベルで苦手です。

だから、勉強していて「集中できてないなー」と感じたとしても、実はそれが正常な状態なんです。大成功しているあの人やあの人も、遺伝的には集中することが苦手なんです。

集中は8秒しか続かない

集中できる時間の限界についての論説は、15分、45分、90分、さまざまあります。話しかけられても気がつかないレベルの集中を「集中している」と定義づけるのであれば、例え15分であってもケンヂまるは集中できません。

脳波をモニタリングして集中を維持しているかを調べる実験では、8秒ごとに集中が途切れることが観測できたそうです。(笑)

僕たち人類はとことん集中するのが苦手であると割り切りましょう。その上でできる限りの工夫をして結果を出していく。これしか道は残されていないと考えましょう。

気が散らない環境を整えよう

デスクや部屋の環境を整えることで、気が散りにくくすることができます。

ポイントは、極限まで物を減らすことです。

部屋にパソコン以外何もなければ、嫌でもパソコンに意識を向け続けることができます。もちろん、人間の集中なんて8秒で切れます。8秒で集中が切れてもそこにパソコンしか存在しなければ、再びパソコンに意識が向きます。

スマホは部屋に持ち込まないで下さい。スマホが視界に入っているだけで、あるいはポケットに入れているだけでIQが10程度下がるという実験結果もあります。

pastedGraphic.png

ケンヂまるの作業環境:

  • 机の上にはPCと水だけ
  • スマホはパーティションで区切った向こう側に追い出す

難しすぎず簡単すぎずの難易度に調整する

簡単すぎることに取り組んでいると、退屈になって気が散ります。難しすぎることに取り組んでいると、投げ出したくなります。

簡単すぎず、難しすぎず。程よい難易度のことに取り組んでいる時、集中がピークになります。

プログラミングの勉強でもこの意識が必要です。

結果を急ぎすぎるあまり、理解が曖昧なまま先へ先へ急ぎ学習を進めてしまっていませんか?基礎を理解せずに応用的を学ぼうとしていませんか?理解が追いつかなくなって難しいなと感じ始めると、嫌になってしまいます。

もっとゆっくり進めましょう。

1つ学んだらすぐ次に進まずに、じっくり理解する。その内容を使って自分なりにサンプルでプログラムを書いてみたり、自分のブログに情報をまとめてみたりすると、理解が深まります。こうやって、程よい難易度を保ちながら学習を進めていくことを意識しましょう。

何度も言うけど、みんな急ぎすぎです。

暇になるとやる気が湧いてくる

プログラミングの学習って、ぶっちゃけそんなに楽しいものじゃないです。プログラミング好きなケンヂまるでも学習そのものは退屈です。情報量に圧倒されてイライラすることだってあります。それでもやる気を出して勉強しないと前に進めないわけです。ではどうしたらやる気を出すことができるのか?

それは、暇になることです。

時間はあるけどやることがない、退屈な状況をわざと作り出すんです。すると、「暇つぶしに勉強でもしようかな」と思えてきます。

これは先ほど紹介した、集中できる環境作りと同じような考え方です。部屋に何も興味を引くものがなければ、「パソコンでプログラミングの勉強でもすっかな」ってなるとお話ししましたよね?暇と感じる時間があれば、「勉強でもすっかな」という感情が自然と湧き上がってくる、という理屈です。

逆に早く勉強終わらせて遊びに行こう。早く勉強終わらせてショッピング行こう。早く勉強終わらせてゲームしよう。といった考えで勉強していると、「学習=楽しい時間を奪うもの」つまり人生に有害なもの、と深層心理が考えてしまいます。やる気が出ない悪循環に陥ってしまうので注意しましょう。

ケンヂまるの場合、毎日何時間もしていたゲームをやめたり、友達付き合いを絞ったりしました。さらにSNSやYouTube投稿などの結果が出ない活動に見切りをつけ時間を使うのをキッパリとやめたことで、暇な時間が自然と発生するようになり、驚くほど自然に勉強に向き合えるようになりました。

1日4時間の作業で脳は充電切れ

脳がパワーを発揮できるのは、1日4時間程度までです。4時間超えてさらに勉強や仕事をしても、どんどんパフォーマンスが低下していきます。パフォーマンスが低下した脳を充電するには、一晩ぐっすり眠るしかありません。脳のパワーは時間と同じくらい貴重なものだということを理解しておくことが重要です。

ケンヂまるは、1日4時間の脳パワーを余すことがないように毎日使っています。「使い切ったな」と感じたらその日の作業を終えるか、そのあとは単純作業に切り替えます。

継続は最強のチート能力

IQや記憶力が高と、何かを成し遂げるのにとても有利です。とはいえ、もっと重要な能力があります。それが『継続力』です。結果が出るまで続ければ、必ず結果につながります。

IQや記憶力が高い天才は、早くから成果を出すことができます。成果が出ると楽しくなって、継続につながります。対して僕ら一般人は、うまく出来ないことばかり。最初のうちは成果なんてほとんど出せません。出せることと言ったら失敗経験ばかりです。失敗を苦痛に感じてしまうと継続できなくなります。

ここまで聞くと、IQや記憶力が高い天才のほうが圧倒的に有利じゃないか!不公平だ!と思うかもしれません。でも、必ずしもそうではありません。

彼ら天才というのは、実は飽き性です。「結果が分かりきっていてつまらない」「簡単すぎて物足りない」「退屈なだけ」。だから彼らにとって継続することが逆に難しい。飽き性な天才の気持ちを理解できるよい例を紹介しましょう。

キャラクターのレベルが初めからMaxのゲームを想像してみてください。レベル上げ不要、装備の工夫不要、全て一撃で敵を撃破。謎解きなし。こんなゲームつまらないですよね?彼らの見る世界というのは、このようなつまらないゲームのように見えているということです。宝の持ち腐れをしている天才を、僕ら一般人の継続力で追い越しましょう!

継続のコツ

継続が大切とは言うものの、簡単なことではありません。ケンヂまるも、よくサボってしまいます。気が乗らない日に無理して頑張ると、深層心理が「頑張る=辛い=有害な行為」と認定します。すると心の防衛反応により、やる気が出なくなります。

だから気が乗らないときは心の声に従って、とことん怠惰に過ごすのもアリです。とはいえ怠惰に過ごした日の締めくくりには、必ずしてほしいことがあります。「今日ってどうだった?」と振り返る時間をとって下さい。3分程度で構いません。

怠惰に過ごした1日というのは振り返ってみると、やっぱり物足りないと感じませんか?そう感じられたらまた次の日からやるべきことを再会すればいいわけです。ただしここで、1つ注意してほしいことがあります。

前日の遅れを取り戻そうとしてはいけません。

遅れを取り戻そうとすると、そのぶん負荷が高くなります。「昨日の分まで今日頑張らないといけないのか~…」と考えただけで心が疲れてしまい、「やっぱ無理かも」となり、挫折につながります。むしろリハビリ的な考え方をしましょう。「今日は少しでも前進できたらそれでオッケー。」くらいのゆるい意識がちょうどいいんです。

不思議なもので、「やる気があるから作業ができる」のではなく、「作業したらやる気が湧いてくる」という現象があります。だから「今日は少しでも前進できたらそれでオッケー。」という考えでやり始めれば、「意外と没頭できで、かなり進んだ。」ってなったりもします。

勉強の効果を高める生活習慣

僕らは勉強しても、驚くほどすぐ忘れるし集中できなくて絶望するけれど、実は生活習慣を改善することで基本能力の底上げをすることができます。ここからは、ケンヂまるが意識している生活習慣をいくつか紹介します。

寝ないと頭は働かない

睡眠不足だと、集中力が散漫になるし、IQも低下します。また、記憶は寝ている間に定着するので、せっかく勉強しても寝ないと身につきません。

睡眠はまた、日中に得た情報や経験を整理をするという役割も持っています。情報や経験の整理の例として、例えばピアノの練習をいくらしてもうまく弾けなかったのが、寝て起きたらスラスラと弾けるようになっていた…といったエピソードが有名です。

このように睡眠は集中力、記憶力、理解力(記憶の整理)に大きく貢献しています。

睡眠時間が短くても全く問題のないショートスリーパーという体質の人も稀にいます。彼らは1日3時間や4時間程度の睡眠時間でも能力が低下することはありません。ただしショートスリーパーは先天的な体質であって、後天的に獲得することは不可能であるとされています。なので、寝ずに頑張って成功した!と主張する人の話に耳を傾けると身を滅ぼすので注意したほうがいいです。

睡眠時間はまた、免疫力や注意力にも影響を与えます。睡眠を削ったせいで免疫力が低下し風邪をひいてしまったり注意力不足で怪我をしてしまったりしたら、勉強することすらできなくなってしまいます。

成果を上げたいなら、睡眠を中心に考えた生活を考えましょう。

コーヒーが頭を良くする!?

コーヒーには数多くの頭をよくしてくれる効能が含まれています。

まずコーヒーに含まれるカフェインが、集中力を上げてくれます。

次に、ドリップしたブラックコーヒーには、クロロゲン酸が多く含まれています。クロロゲン酸には、抗酸化作用や肥満抑制作用があります。抗酸化作用は脳を若く保つことにつながります。

肥満の抑制も、脳にとってすごく意味があります。肥満状態のラットの脳は、麻薬中毒と同じ変化が現れるそうです。怖いですね。それほど肥満というのは脳に悪影響を及ぼすわけなのですが、コーヒーはこの肥満も軽減してくれる効果を持っています。

ただし、コーヒーを飲む際に注意してほしいこともあります。

注意点1つ目は、飲む時間です。寝る6時間前からは飲まないほうがいいです。カフェインのせいで寝付けなかったり睡眠の質が下がったりします。

注意点2つ目は、コーヒーの淹れ方についてです。自分でドリップしたものを、ブラックで飲むのが理想です。ドリップコーヒーはクロロゲン酸がより多く含まれるし、ブラックのまま飲めば0カロリーです。

そして注意点3つ目は、適量について。コーヒーの1日あたり摂取量は、多くてもマグカップ3杯~4杯までにします。ちなみにWHOは4杯までとしていますが、厚生労働省は3杯まで、英国食品基準庁は2杯までとしています。どれを信用していいのかわからなくなるかもしれませんが、このあたりは個人差があるので、自分の体に悪影響が出ない範囲を探ってみてください。

寝付けない、胃の不快感、頭痛がする、などの症状が現れたら、コーヒーを飲み過ぎかもしれません。
ちなみにここで言われているマグカップは、1杯あたり237ml程度とされています。

カカオは脳にいい

カカオに含まれるフラバノールもまた、コーヒーと同様の抗酸化作用を有しています。つまりチョコレートやココアは、脳にいい食品です。

それだけでなく、カカオを摂取すると脳内のBDNFという物質の血中濃度も上昇します。このBDNFには多くの効果がありますが、簡単にまとめると学習能力にとてもいい影響を与えるとされています。

カカオは味を整えるために「アルカリ処理」という処理がされているものが多いのですが、この「アルカリ処理」がされると栄養素が変質してしまいます。「非アルカリ処理」のカカオを選択するようにして下さい。

ケンヂまるはこの「非アルカリ処理」のカカオを毎日小さじ一杯ずつ摂取しています。

アーモンドは脳にいい

オメガ3脂肪酸は脳の細胞膜を軟らかくし、情報伝達をスムースにすると言われています。

魚類に含まれるDHAは頭をよくするというのは多くの人が知っていると思いますが、このDHAも実はオメガ3脂肪酸の1つです。このオメガ3脂肪酸というのは酸化しやすい性質があって、酸化してしまったオメガ3脂肪酸はむしろ体にとって毒になります。だから、酸化していないものを摂取する必要があります。

ケンヂまるは、パック保存されたアーモンドミルクを毎日摂取しています。

アーモンドにはオメガ3脂肪酸が豊富に含まれています。そしてこのアーモンドミルクは、アーモンドのみで作られていて、無添加です。そしてパックされているので酸化が進行していないはずと考えています。(ここの部分はケンヂまるの推測情報)

そのまま飲んでもいいですが、アーモンドミルクを飲み慣れていない人は、オールブランなどのシリアル、豆乳、カカオパウダーなどを一緒にすると、すんなり摂取できると思います。これが実は、ケンヂまるの毎朝の食事です。

ちなみTim Cook's daily routineによると、Apple社のCEOであるティム・クックもアーモンドミルクを好んで摂取しているようです。(実はケンヂまるはこの情報を見てアーモンドミルク始めたクチです)

運動は脳を成長させる

運動をすると交感神経が活発になって、シャキッとして、頭はクリアになります。また、睡眠の質も向上します。日中に運動をして交感神経を活発にしておくと夜には副交感神経が優位になりやすいからです。

カカオを摂取すると脳内のBDNF(めっちゃいい物質)が増加するということは先述しましたが、運動をすることでもこのBDNFが脳内で生成されます。毎日運動するのが理想ですが、運動でBDNFが増加すると、3~4日ほどは維持されるので、週末だけの運動でも問題ありません。

コーヒーについての説明で、肥満による脳への悪影響が覚醒剤中毒者なみにヤバいことについて触れましたが、運動は肥満予防に確実な効果があります。

ちなみにアップルのCEOであるティム・クックは、毎朝30分から45分ほど運動し、その後コーヒーを飲み、それからシリアルにアーモンドミルクをかけて食べ、出勤するという生活リズムだそうです。

アルコールは毒である

アルコールを飲んだ後しばらくは記憶力、判断力、思考力が下がります。また、睡眠の質も下げます。

眠っている間の脳は、休息ではなく記憶の整理をしているのですが、アルコールが体内にある場合には、この記憶の整理に悪影響が出ます。睡眠が浅くなったりトイレに起きる回数が増えることで安眠が妨げられてしまうといった悪影響もあります。

アルコールを摂取し続けると脳の容量が低下したり発癌リスクが上昇したりといった長期的な悪影響も出てきます。ほかにも、酒税はバカみたいに高いし、生活習慣病リスクが上がるしで、お酒を飲んでいいことなんてほとんどありません。

投資の世界で株の神様と呼ばれるウォーレン・バフェットや、Appleの生みの親であるスティーブ・ジョブズはお酒を飲みません。ケンヂまるは夜なかなか寝付けないので寝酒を飲む習慣があったのですが、思い切って寝酒をやめてみたところ、意外と寝付けることに気づき、それ以降はお酒はほとんど飲まなくなりました。

もし飲酒習慣がついてしまっているのであれば、お酒を絶ってみることをオススメします。

マインドフルネス瞑想で集中力アップ

マインドフルネス瞑想をすると、一気に高い集中力を身につけることができる可能性があります。

マインドルフネス瞑想は、「今」の「ここ」に集中する練習です。瞑想といっても、ゆっくり息を吸って、ゆっくり息を吐く、というのを繰り返すだけです。その時、呼吸に集中します。つまり息を吸うこと、吐くこと以外は、全く考えないようにします。

面白いことに、慣れていない人がマインドフルネス瞑想で呼吸だけに集中しようとしても、息を1回吸う間に、雑念が頭の中に浮かび上がってしまうものです。例え雑念が頭に浮かんだとしても、そっと呼吸に意識を戻します。

最初のうちは仕事、悩み、焦り、など、今自分の心がもっとも影響を受けている雑念が多いと思います。つまり負の感情を伴う雑念です。しかしマインドフルネス瞑想を続けているうちに、昔の思い出、懐かしい記憶、新しいアイディアなど、無感情だったり正の感情を伴う内容に変化していきます。

雑念が無いのが一番ですが、まずは負の感情を伴う雑念を消せるだけでも効果があり、集中力の向上効果が期待できますよ。

あせると頭が悪くなる

仕事の納期が迫っているからペースアップしよう。約束に遅れそうだから次の信号に引っ掛かるわけにはいかない。ゲームしたいから効率的に勉強して早く終わらせよう。

このようなあせっている状況って、実はIQが下がっています。期日やその次にやることに気が向いているせいで本題に集中できないからです。

逆にやるべきことには時間を惜しまずたっぷり使うようにすると、うまくいきます。色々とうまくいくから、結果的に少ない時間で最大の結果を出せることも少なくありません。

自分の心をうまくコントロールして、「やるべきこと」を「やりたいこと」と思えるようになると最強です。

ちなみにケンヂまるのやるべきことは、プログラミングですが、これを100%やりたいかというと、実はそうではありません。それでも「プログラミング=楽しい、だからたっぷり時間を使おう」となるように、工夫するようにしています。

まとめ

長くなってしまいましたが、ポイントは

  • 覚えるんじゃなくて理解する
  • 継続が大切
  • 集中できなくても凹まない
  • 作業環境や生活習慣を改善する

といったあたりですね。

無理してはいけませんが、この記事で紹介したような工夫を可能な限り取り入れていってみて下さい。きっと学習効率が飛躍的に向上しますよ。

-プログラミング, 自己啓発

© 2024 ヂまるBlog