こんにちは、3度のフィリピン留学経験があるフリーランスエンジニアのZiziです。
今現在はジョージアという国で起業し、色々な事業を展開しています!
プログラミング学習をする中で「自分にはプログラミングセンスがない!」と感じてしまったり 「自分はプログラミングに不向きなのだろうか」と悩んだりすることがあります。
基本的にプログラミングは「学び続けること」が前提となっており、モチベーションが低かったり、学習スタイルが身に付かなかったりするようなタイミングに挫折しがちです。
今回はプログラミングセンスがないと感じたときに知ってもらいたいことや、プログラミングセンスに対する考え方について解説していきます。
それではいってみましょう!
記事のもくじ
プログラミングセンスは継続することで磨かれる
プログラミングセンスがないと感じるタイミングにありがちなのが、向き不向きや自分にセンスや才能がないと思い込んでしまうことです。
プログラミング学習する中で「理解できない」や「思ったように動かない」ことは誰にでも起こりうることであり、解決することで理解を深めて、さらに学べるようになります。
まずはプログラミングのセンスや向き不向きに対する考え方を見てみましょう。
向き不向き・センスの有無はある
あくまでも一つの考え方として、誰にでも向き不向き、センスの有無はあると認めましょう。
なぜなら、実際には向き不向きやセンスの有無は「未経験」や「未知」と同じであり、やれないことをやれるように学ぶタイミングで誰でも感じることだからです。
例えば、料理が得意ではないと感じている人でも、レシピを見て、何度も挑戦することで料理が得意になります。
プログラミングも同じであり、何度も挑戦すること、諦めずに学ぶことが大切です。
向き不向きとは興味や集中力が継続されるかどうか
何らかのスキルを会得しようとする時、途中で諦めてしまうと確実にスキルは身に付きません。
途中で諦めてしまうタイミングこそ「プログラミングスキルがない」と感じてしまいがちであり、向き不向きがあるのではと疑いたくなるタイミングでもあります。
基本的に人が何かを学ぶ時、必要に迫られるか、興味があるかどうか、そして何よりも集中力が継続するかが鍵です。
センスの有無や向き不向きを感じた時こそ「もう少し続けてみよう」と踏ん張るべきタイミングだと覚えておきましょう。
センスを磨くことは誰にでもできる
プログラミングセンスとは「記述したコードの内容」で判断されます。
例えば、もっと短いコードで済むのに、同じことを何度も繰り返させて冗長的になってしまったり、不必要なコードがちりばめられてしまったりすると「プログラミングセンスがない」と感じられてしまいます。 俗に言う「スパゲッティコード」というやつですね。
逆に、短いコードに拘りすぎて可読性が低くわかりにくかったり、必要なコードや記述が足りないことで、 やはり「プログラミングセンスがない」と思われてしまうこともあるでしょう。
言い換えれば、プログラミングセンスとは自分自身で決めることではないということです。
まずはプログラミング言語ごとの基礎をしっかりと学ぶこと、そして自分でプログラム書いてみて、必要なコードが必要なだけ記述されているか、自分だけでなく他の人が見ても理解できるかを意識してみてください。
綺麗なコードを理解することがプログラミングセンスを磨く近道
プログラミングセンスがないと感じてしまう時、自分が書いたプログラムやコードのみを見てしまいがちです。
特に学び始めて理解や知識、経験が足りない状態ですと、プログラムが動かなかったり、何が問題なのかわからずストレスになってしまいます。
プログラミングセンスがないと感じた時こそ、他人のコードをよく読むこと、どんな意図があって、どのように動かしたいのか、そしてどう動いているのかを感じ取れるようにしてみましょう。
- WEB制作で言えば、世界的な大企業の「Airbnb」はどんなコードを書いているのか?
- WordPressの公式テーマはどんな中身になっているのか?
これは全部タダで見れるんです。 世界の一流企業はどんなコードを書いているのか?
それを理解することがプログラミングセンスを磨く近道です。
綺麗なコードを感じ取れるようにする
プログラミング学習の初心者の方ですと、そもそも美しいコード、綺麗なコードって何?と悩んでしまいがちです。
美しいコードや綺麗なコードを感じとるためにも、他人の書いたプログラム、コードをたくさん読むようにしましょう。
いくつかコードを読んでいくと、わかりにくい部分や理解しにくい箇所に遭遇します。
逆に、スムーズに理解できるもの、プログラミング言語ごとの文法にきちんと則るだけでなく、ソースコードとして読みやすいものなどが判別できるようになります。
自分自身でプログラムを書くことも大事ですが、同じくらい他の人のコードを読むことも大事にしてみてください。
わかりやすさや可読性について考える
プログラミング学習を進めていくと、基本的にプログラミングとは文字列の塊であり、コードとは文章、命令の集まりだということに気がつきます。
一つ一つの命令や条件は小さく、簡単なものであっても積み重なれば複雑になり、わかりにくくなるものです。
また、適切な命令や条件を思いつかない時、自分が求めた結果に合わせて記述してしまうこともあり、結果として可読性が下がってしまうこともあります。
どのようなコードにすれば簡素で簡潔、何よりもわかりやすくなるのかを意識しながら、 読みやすいコード、理解しやすいコードを考えるようにしてみましょう。
複雑な処理や出力をしたいと考えた時こそ可読性を高めようと努力することが大切です。
誰にでも読みやすいコードを心がける
簡単なスクリプトや自分だけが使うプログラムであれば気にするべきことではありませんが、仕事やOSSなど、何らかの形で他人の目に触れるコード・プログラムであれば、誰にでも読みやすいコードとなるように心がけましょう。
なぜなら、何らかの形で他の人があなたの書いたコードやプログラムの修正や改変する可能性があるからです。
誰にでも読みやすいコードを心がけることで、必然的に綺麗なコード、美しいコードが書けるようになりますし、結果としてプログラミングセンスの向上に繋がります。
どうしてもわかりにくい箇所がある場合はコメントに残すなどして、他の人が見た時にどのような意図があったのか、どんな意味があるのかを記述しておくことも重要です。
丁寧なプログラミングがセンスを磨く
独学やオンラインサービスを利用してプログラミング学習を進めていると、プログラミングが「ひとりでするもの」のように感じてしまいがちです。
しかし、実際には他人と情報を共有し、コミュニケーションする必要があります。
自分にも他人にも丁寧なプログラミングとは何か、なぜ丁寧なプログラミングがセンスを磨くのかチェックしてみましょう。
プログラミングは他者とのコミュニケーションでもある
プログラミングは孤独な作業のように感じることもありますが、他の人とのコミュニケーションという一面もあります。
もちろん、自分が使うためだけにプログラミングをすることもありますが、仕事で活かしたり、OSSに貢献したりするのであれば、自分だけが理解できるコードの書き方では成長しにくいと言えます。
他者とのコミュニケーションに必要なのは「相手がどれだけ理解できるか」であり、自分の主張や考え方を述べただけのようなコードでは丁寧とは言えません。
逆に言えば、他人が書いたコードを読むことで、自分がどれだけ理解できたか、またはコードの書き方によってわかりやすい、わかりにくいなどが理解できるようになります。
他の人のコードを読むこと、そして自分のコードが他人に理解してもらえるように心がけることで、少しずつプログラミングセンスが磨かれるようになるでしょう。
ディスプレイ上に表示されないからといって手を抜かない
プログラムを使う側とすれば、望んでいる結果が得られるのであればどんなソースコードでも気にならないかもしれません。
しかし、プログラムを作る側としては、望んでいる結果が得られるのであれば、どのようなコードになっても良いという考え方を持つことは非常に危険です。
一般的にはプログラムのソースコードを見る人は少ないと思われますが、趣味や仕事としてプログラミングが好きな人であれば、どんなコードなのか見ることがあります。
もちろん、他人の目や評価、コメントやアドバイスを、必ずしも気にする必要はないですが、プログラミングのセンスやスキルを磨きたいのであれば「他の人にもわかりやすいように」という心構えは必要です。
誰も見ていないかもしれないからこそ、丁寧なコードを作ること、コードそのものがディスプレイに表示されないからこそ、手を抜かないという気持ちを持ちましょう。
プログラミングはその人の性格を表す可能性もある
プログラミング言語にもよりますが、基本的にプログラムは文法に沿って作る文章であり、プログラムを書く人によって表現の方法が異なります。
人によっては効率化や簡素化を重視する人もいますし、可読性やわかりやすさを重視する人もいます。 もしかしたら、多少冗長的で雑であったとしても、求める結果が出るなら気にしない人もいるかもしれません。
プログラムを見ることで、プログラムした人、コードを書いた人の性格や個性、知識や経験の程度を知る尺度にもなり得るということです。
もちろん、プログラムを読む人によって受け止め方が異なるので気にし過ぎはよくありませんが、必要以上に個性や性格が出ていないか、自分独自の考え方になりすぎていないかを意識することも忘れないようにしましょう。
まとめ:プログラミングのセンスがないと感じるのは知識や経験が足りないだけ
いかがでしたか?
プログラミングセンスがない!と感じた時こそ、プログラミングセンスを才能や持って生まれたギフトのように考えてしまうのではなく、単に知識や経験が足りないだけであり、必要以上に不安に感じないようにしましょう。
プログラムが動かない、または理解が進まない時は基礎となる部分や必要な知識が足りていない証拠です。
逆に言えば、一つ一つは小さくわかりやすいものの積み重ねがほんの少し足りないだけということ。
特にプログラミング学習は、わかったようなつもりで進めてしまいがちですが、充分に理解できていないことも多いです。
真面目にコツコツと小さな部分や基礎を学ぶ姿勢を忘れなければ、プログラミングセンスは確実に磨かれるということを忘れないようにしてくださいね!