文系で数学30点の僕でもプログラミング学習はできます。
プログラミングってなんか難しそうで、理系の人しかできないイメージありませんか?
確かに数学を用いてプログラミングすることもありますが、実際のところは難しい処理にはライブラリ(他の人が作ってくれた機能)を導入することが多いです。
というか僕も実際数Ⅰもまともに分からない人間なので心配しないでも大丈夫だと思います(笑)
ちなみにプログラミング関連だと最近はこういう記事を書きました。良かったら読んでみてください。
なぜ文系でもプログラミング学習が可能なのか
理由は至極簡単です。そもそもプログラミングは言語学習だからです。
なので僕はプログラミング学習は英語を学ぶことに近いと思っています。
多くのプログラミング言語は
- for
- while
- if-else
- try-catch
などの文法を駆使して処理を書くわけなんですが、「文法を駆使する。」という点では英語となんら変わりないと思うんですよね。
なので大事なのは挫折しないことだと思ってます。
挫折しないために
たとえ理系でも、たとえ東大生、はたまた天才であっても恐らくなにかを始めて挫折してその半年、一年後にはなにも覚えていないと思うんです。
つまり大事なのは続けるということ。僕は2020年の10月ごろからプログラミング学習をしてきました。そんな僕が挫折しないために意識したことでも
1.目標を作る
これは色んな人が言っていますがそれだけ大事ということです。
ですが多くの初心者(かつての僕含め)そもそも何を目標に定めるべきかわからないと思います。
なので僕おすすめの最初のプロジェクトは、
「ジャンケンアプリを作る」というものです。
まあ参考にしてみてください(;^_^A
2.完成させきれなくてもコードを書き続ける
これはあくまでも個人的な意見なのですが、プロジェクトを完成させるってとっても難しいことだと思ってます。僕も今までwebアプリだのゲームだのandroidアプリだの。。
色々なものに手を出してきましたが大体は完成してないです。特にwebアプリとandroidアプリは今のところ一つも。。。って感じです(笑)
そんなこんなで得意分野と呼べるものがあまりないんですが、それでもコードは書き続けました。最初にも書きましたが、どんなプログラミング言語でも文法は基本的に似通っています。
なので言語は違えどなにか書き続けていれば上達できます。
っていうのは序盤だけの話なので基本プロジェクトを完成させられなくてもその分野で続けたほうがいいです。
悪い例として今のところ僕は、
C#(FPS) -> Node.js(ウェブ) -> Vue.js(ウェブ) -> Kotlin(android) -> Go(自作言語) ->
C(自作言語) -> Python(流行) -> C#(音ゲー) -> Java(android)
※()内が当時の完成目標
と来ていますが、やっと掴めてきたなって感じているのはC#だけです。
しかもこのうちC#のプロジェクト以外ほぼすべて挫折しています。
C#以外で完成したものは大体短期間(一日くらい)とかで勢いで書いたプログラムだけです。
かといってずっと同じ分野だけして病んで辞めてしまったら元も子もないので、
とりあえず書き続けてください。
3.自分を絶対に卑下しない
めちゃくちゃ大事です。というかこれは一つ上の「コードを書き続ける」ためのモチベーションを保つためです。
プログラミング学習だとか、英語だとかすべてにおいてこれは言えることなんですが、
自分が最初に躓いたときに、「みんなできているのになんで僕は出来ないんだ。。」
ってなる人が少なからずいるとおもいます。
僕もプログラミングで詰まっているときにふとTwitterを見て、自分よりも年下の子がえげつないアプリ作ってるときは「僕って雑魚なんだな」って思っちゃいます(笑)
ですがそれでも続けていると、「報われる」なんて綺麗ごとは言いませんが、自分の努力に納得できるときが来ます。
前を向いて走り続けて振り返ってみると、案外自分の後ろにたくさん人が走っていることにふと気づくはずです。
その時あなたは成長している。といえるのではないのでしょうか。
以上です。最後イキった書き方しちゃってごめんなさい(笑)