こんにちは、みやびのです。
今回は、
「Pythonに国語力が必要ですか?」
という疑問に答えます。
Pythonに国語力は必須であり、最重要な教科の一つです。
国語力はプログラミングを組み立てる場合や、ドキュメント制作やコミュニケーションなど様々な場面で役立ちます。
国語力はプログラミングに限らず仕事をする上では絶対に必要な能力なので、必ず身につけるようにしましょう。
本記事の内容は以下の通り。
・Pythonを勉強するなら国語力は必須。しっかり勉強しよう
・Pythonに必要な国語力の勉強方法
Pythonを勉強するなら国語力は必須。しっかり勉強しよう
厳密にいうと日本語並みにできるのであれば、英語でもスペイン語でも中国語でも何でもいいです。
とにかく語学で自分の作りたいものを説明できる能力があればOK。
まあ、これを読んでいる方の大半は日本人だと思うので、とりあえず国語をやっておけば問題ないです。
自分の考えを論理的に組み立てる
プログラムを組み立てる時に論理的思考は必須です。そして論理的思考の根幹である国語力もまた必須です。
論理的思考は数学的な考え方と思っている方も多いと思います。
もちろん数学的な考え方も必要ですが、同時に国語的な考え方も必要です。
ざっくりと切り分けると以下のようなイメージ。
プログラムの処理条件や順序を決める→数学的
処理を理解しやすいプログラムに変換する→国語的
前者(数学的思考)だけだと他人には理解しがたい難解なプログラムが出来上がります。
「理解できないのはてめえの技術が足りないせいだ」と言う方々がよく書くコード。
もちろん初心者には理解できないだけで、中級者や上級者であれば理解できるのであれば「技術力が足りない」という指摘は正しいです。が、スパゲッティを書きながらこういうことを言う人のなんと多いことか。
一方、後者(国語的思考)だけだと「学校のテストなら80点ですね」という教科書通りのコードは書けますが、速度が出なかったりUI・UXが最悪だったり使えないプログラムが出来上がります。
正しい書き方はわかるけど最適解が考えられていないのでとても実運用には耐えられないです。
なので論理的思考には数学的思考も国語的思考も大事。
しかし、現役エンジニアでもできていない方は意外に多いです。かくいう私も10年やっていますがどっちの能力もまだまだ。慢心せず修行しております。
自分の考えを相手に伝える
自分の考えを相手に伝えたい場面でも国語力は役立ちます。
自分の考えを相手に伝えるいわゆる「コミュニケーション能力」はプログラミングをする上では必須。特に共同開発する場面では大事です。
ドキュメントやコメントを理解しやすい形で書くことはもちろんのこと、プログラミングもより他人に理解しやすい書き方を心がけましょう。
「自分は一人で作るからそんなの考える必要ないです」
と考える方もいるかもしれませんが、明日の自分も他人です。今日の自分が考えていたことを明日の自分が理解してくれるとは限りません。
まあ、次の日だったらまだ覚えているかもしれませんが、1か月後、1年後の自分は完全に別の人間だと思った方がよいです。
私も1か月前の自分のコードを見た時に意図を全然思い出せないことが多々ありました。意図がわかるコメントもドキュメントもなかったため意図を思い出すのに多くの時間を使ってしまいました。
未来の自分を救うためにも自分の考えを相手に伝えることは非常に大事です。
相手の意図を読み取る
相手の意図を読み取る時にも国語力は役立ちます。
相手の意図を理解できれば顧客の満足度も高くなりますし、仕事もたくさん頂けます。逆に顧客の意図を汲み取れなければどれだけ素晴らしいシステムを作ったとしてもただの自己満足です。
顧客の満足度もあまり高くなりません。むしろ不満を持たれる可能性すらあります。
エンジニアの中には自己満足で作っている人が意外と多いです。
顧客の役に立つかどうかでなく「綺麗なコードが書けるか」とか「最新の技術をどう活用するか」とか。
趣味でやるなら全然かまわないです。
綺麗なコードを書くことは素晴らしいですし、最新の技術もどんどん学んでください。
が、仕事の場合は話が別。
顧客が欲しいのは「抱えている問題を解決するシステム」であり、「綺麗なコードで書かれたシステム」でもなければ「最新の技術を使ったシステム」でもありません。
相手が何を望んでいるかきちんと考えましょう。
上記はどんなエンジニアでも陥る可能性がある問題です。
私も作り手の立場で考えてしまって失敗したことが何度もありました。
綺麗なコードを書くことも大事ですし、最新の技術を活用することも会社やあなた自信の発展のためには大事なことです。
しかし、それ以上に「顧客の意図を読み取ること」が大事なので、「お客様目線でものが作れているか?」ということ常に見直すようにしましょう。
Pythonに必要な国語力の勉強方法
・音声を聞く
・本をたくさん読む
・新聞の記事を要約してみる
・文章をたくさん書く
要するに文章をたくさん読み書きすればOK。
漢字をたくさん書けるとか、ことわざをたくさん知っているとか、そういうのは考えなくてよいです。
教養として知っておくのは素晴らしいと思うのでやりたい人は是非やりましょう。私もことわざの意味を調べたりするのは好きです。
音声を聞く
私が現在最も活用しているのが音声を聞くという方法です。音声なら読書が苦手な人でも取り組みやすいですし、通勤時間や休み時間も有効活用できます。
仕事中やゲーム中・運動中に聞くのもありですね。
オーディオブックなどの書籍読み上げアプリを使うのもよいですし、ノウハウ系のYouTubeをラジオ感覚で聞くなどの方法もあります。
まずは聞き流しでいいので音声を聞くことから始めてみましょう。
本をたくさん読む
本を読むことに抵抗がある方は多いと思います。
「全部読まなきゃいけない」とか「小説みたいに最初から読まなきゃいけない」とか謎の完璧主義な方が多いです。
ちなみにかつての私も「読み始めたら全部読まなきゃいけない」という謎の完璧主義にとらわれて、結局1ページ読まないという本末転倒な経験が何度もありました。
本は全部読む必要は全くありません。1ページだけだっていいです。もっと言うなら1行だってOK。
活字が苦手という人はラノベや漫画やノベルゲームでもいいです。何も読まないより遥かにマシ。
別に読んだものが何だろうが何ページだろうが咎める人は誰もいません。
読みたいように読めばいいのです。
読みたい部分だけ読みましょう。飽きたら本を閉じましょう。本なんてそれくらい軽い気持ちで読めばいいのです。
新聞の記事を要約してみる
要点をまとめると意図を読み取る力が高まります。
「この記者はこういう意図で記事を書いているのかな?」
と考えながら要約しましょう。
こちらも完璧を目指さなくてよいです。
まずは短い記事や、1段落だけなど限定的な要約から始めてみましょう。
文章をたくさん書く
文章を書くことは非常にメリットが多いです。
相手が理解しやすい文章を考える勉強になりますし、わかりやすいプログラムを書くためのヒントにもなります。
パソコンで書けば国語力だけではなくタイピングスキルも上がるのでプログラミングにも役立ちます。
書く文章は「ブログ」でも「日記」でも「プログラムのドキュメント」でも何でもよいです。
文法とか文章のうまい下手はひとまず気にしなくてもOKですが、「誰かに読んでもらうつもり」で書きましょう。
・どうやったら自分の意図が伝わるか
・どうやったら読みやすい文章になるか
などなど読み手のことを考えて書くようにしましょう。
私はブログを書いていますが、「どんな記事が読者に響くか?」、「読者はどんなことを求めているのか?」といったことがリアルな数字でわかるので非常に勉強になっています。
日記でもよいですが、できれば人の目に入るブログを書くのがおすすめです。
終わりに
「Pythonは数学が大事」とか「Pythonは英語が大事」とかはよく聞くのですが、「プログラミングは国語が大事」という意見は全然聞こえてこないんですよね。
日本で仕事する以上国語が大事なのは当たり前なので、あえて言う人がいないだけかもしれませんが。
Pythonをするなら国語は最重要な教科の一つです。
本を読んだり日記を書くなど簡単なところから始めてみましょう。
Pythonの始め方まとめ>>Pythonプログラミングの始め方まとめ