見出し画像

プログラミングの学び方

クオンツをやっていたので、C、C#、VBA、JAVA、R、Pythonとにかく沢山プログラムを買いてきました。そんな自分も最初は全くプログラムがわからない時があり、どうやって習得していったか、どうやって学ぶのががいいかという話をします。

極上サンプルプログラムを探してパクろう

いきなり結論から言うと、効率的にカンニングしましょうという事、できるだけ極上のサンプルを探して、それを解読、そして手を加えることによって、自分にその技術を取り込んでいくのです。

もちろんわからないところは、プログラミング教則本を辞書的に使って理解していきます。 流れ的には
 ありがち: 「本」  から 「学習」  そして「 作成」 
 実践的    :  「実物」 を 「 本を使って解読」 そして 「修正」
という感じです。大事なのは後者のほうが圧倒的に本を効率的に読めるという事、頭もフル回転することになります。

研修受けるもさっぱりわからず

山一證券に入って配属されたのはコンピューターセンターでした。最初に受けた新人研修はCobolという言語のプログラミング。
一ヶ月くらい毎日、講習をうけました、教科書的なものを実行していくだけなんですが。研修が終わっても、大丈夫な気がまったくしませんでした。

最初に与えられたプログラム修正の仕事

実際の部署に配属されて、最初の仕事はリアルに動いているプログラムの修正作業、毎日修正前のプログラムを眺めていたら、だんだん読めるようになりました。
読めるようになったので、その結果、書けるようにもなったという感じです。

どれだけ自分のやる気を引き出せるか

経験的にいうと、「実際にそれを作ることによって得られるであろう、心地よさ」をどれだけイメージできるかで、やる気度合いは大きく変わります。

自分の場合は、とにかく定形作業や、スピードの遅さにすごくストレスを感じていいたので、主に自動化に関するものでした。

○ 1時間の作業時間が数秒で終わる
○ こんなアプリがあれば誰よりも早くトレードできる
○ 3人でやってる仕事をプログラムで自動化したら、みんな激喜ぶだろう

ただこれは、ある程度書けるようになったときに思ったこと

最初に困っていたことは

1. エラーになった時の解決が自分でできない、時間がかかる、どうすれば早くエラーを見つけられるの?
2. 毎回、同じコードを書いてる、これってもっと早く書けないのかな?
3. 本のコードを自分で実行してみたけど、どんなものが自分で作れるのかイメージできない

その解決法

1.IDE(Visual Studio や Visual Studio Code)のデバッグ機能を覚える、ブレークポイントや、ステップ実行など
2.IDEのコードスニペット機能、コードの登録機能がついているのでそれを使う
3.簡単なアプリを開発するというテーマで、一つ一つの機能を説明しながら解説している本を探して、同じ用に実行してみる。
もしくは、知り合いのアプリをもらって、自分でいろいろ手を加えて、わからない部分は知り合いに聞いてみる。
これは難易度が高いです、達成したときの自分の気持ちよさを強くイメージして学習していくとなんとかなります。

最近は、Youtubeで解説している人も多いので、自分に役立つ人の動画を探して、何度も見ながら自分でも実行するのも良いと思います。

自分は、「スピード重視、無駄なエネルギーは避ける、同じことはできるだけ高速に処理する」という方針でやってきました。最も役立ったのはIDEをスマートに使うことでした、参考まで。

結局、小さな成功体験の積み重ね

いろいろ書きましたが、少しでも出来るようになれば、脳が気持ちよくなります。「その気持ち良さをどれだけ継続して感じられるようになるか」を意識して、少しずつ積み上げる事が大事です、少なくとも自分はそうでした。

逆にいうと、苦痛を感じながらプログラムを書いていては、上達にすぐ上限がでてきます。苦痛を感じないように、スキルをつけることも大事です。



この記事が気に入ったらサポートをしてみませんか?