プログラミング素人がC++をマスターするまでの全記録

プログラミング経験ゼロの大学院生がC++をマスターし、アプリ開発ができるようになるまでの全記録です

#1 開発環境の導入

C++プログラミングに必要なもの

 

  1. パソコン

 

上記の3つが必要。らしい(全部の文にこの3文字が必要になるので以下略)。

 

 

①パソコン

 

まあ、これは当たり前。と言うか、これが無いと始まらない(笑)

 

 

コンパイラ

 

テキストエディタで書いたプログラムを実行可能な形式に変換するソフトウェア。

 

 

テキストエディタ

 

プログラムを書くためだけのソフトウェア。

 

 

 

コンパイラのインストール

 

C++コンパイラにはいろいろ種類がある。

 

考えるのがめんどくさいので、とりあえず天下のMicrosoftが出している「Visual Studio」なら間違いないだろうってことでこれを選択。

 

ありがとう、ビルゲイツ(笑)

 

 

www.visualstudio.com

 

  上記のサイトからダウンロード可能。

 

 

 

f:id:programfrom0:20190122224111p:plain

VisuaStudioダウンロード画面


個人での利用なので、コミュニティの無償ダウンロードをクリック。

 

「実行」をクリックすると「このアプリがデバイスに…」という警告が表示されるので「はい」をクリック。

 

 

 

f:id:programfrom0:20190122224332p:plain

インストール確認画面

 

上記のような画面が表示されるので、「続行」をクリック。

 

 

 

f:id:programfrom0:20190122224333p:plain

インストールする機能の選択

 

上記の画面が表示されたら、必要なものにチェックを入れてインストールをクリック。

 

自分は、モバイルアプリの開発も視野に入れているので、「C++によるデスクトップ開発」と下のほうにある「C++によるモバイル開発」にチェック。

 

 

f:id:programfrom0:20190122224336p:plain

サインイン画面

サインインが必要になるので、Microsoftのアカウントでサインイン。

 

再起動を行えば、コンパイラのインストールは完了。

 

 

 

 

テキストエディタのインストール

 

テキストエディタは、ただプログラムを書く紙のようなもの。

 

なので、イメージ的にはジャポニカ学習帳でもcampusノートでも、自分の好きなものを選んで使えばいい。

 

 

freesoft-100.com

 

 

これもプログラミング言語と一緒で無料のものから、有料のものまで多数あるので正直どれを選べばいいか分からない。

 

 

考えるのがめんどくさいので、とりあえず天下のMicrosoftが出している「Visual Studioコード」なら間違いないだろうってことでこれを選択(2回目)。

 

ありがとう、ビルゲイツ(笑)

 

ちなみに、Windowsにはメモ帳というテキストエディタもプリインストールされているけど、戻る(Ctrl+z)が一回しか使えないなど、機能がシンプルすぎて使いにくい。

 

 

ってことで、Visua Studio コードのインストール方法。

 

f:id:programfrom0:20190122224111p:plain

先ほどVisualStudioコードをダウンロードしたのと同じページ



Visual Studio コードの方の、無償ダウンロードをクリック。

 

正直、ある程度パソコンを使い慣れている人なら、つまずくようなところも無かったので以下略。

 

 

 

さあ、以上でC++プログラミングの準備完了。

 

欅坂46でいうとグループ結成(例えとしては、何気に初登場)。

 

 

いよいよ次回より、プログラミングのスタート!

#0 プログラミングを学ぶ理由と目標

なぜプログラミングをやる?

 

素人がプログラミングをやろうと思い立つには、それなりに理由があると思う。

 

大学院生の自分の場合

 

  • 研究を発展させるために必要性を感じた
  • アプリ開発による収入

 

2つが理由だ。

 

 

やりたいことが決まれば目標も定まってくる。

 

 

 

目標

 

 

0から始めてこの2つができるようなレベルまでプログラミングを身に付ける。

 

 

なぜc++を選択した?

 

ああ、俺のやりたいこと実現するためにはプログラミングちゃんとやらないかんのやなと思ってググってみたら、200以上のプログラミング言語があるらしい。

 

 

プログラミング言語一覧 - Wikipedia

 

 

そんなに多かったらどれを選んだらええか分からん…

 

 

ってことでまたググってみると、プログラミング言語にはそれぞれ特徴があって、やりたいことによってある程度絞り込めるらしい。

 

自分のやりたいことのメインは画像処理、アプリ開発はおまけ程度で考えているので選択肢としては

 

 

辺りが多く出てきた。

 

人工知能にも興味があるので、C言語は残念ながら選択肢から外れる。

 

 

人工知能の分野はやはりPythonが強いらしい。

 

処理速度が速いのはC++

 

 

正直どっちが良いか分からん(笑)

 

 

結局プログラミングの基本はC言語やし、C++にしとくかくらいのノリでC++に決定。

 

なので、途中でPythonの方がいいかもとなったら、そっちに移行する予定(笑)

 

 

ブログ開設の経緯と運営方針

ブログ開設の経緯

このブログを開設した目的は、大きく3つある。

 

  1. プログラミング学習の記録
  2. プログラミング習得過程を可視化・言語化する
  3. お金が欲しい

 

①プログラミング学習の記録

いきなりだけど、学生時代、英単語を覚えたときのことを思い出してほしい。おそらく、紙に繰り返し書いて覚えたという人が大半だろう。

 

一部の天才を除いて、一発で覚えるということはほぼ不可能である。

 

私も御多分に漏れずその凡人の一人だ。

 

 

プログラムは一回書いてしまえば、あとはパソコンにお任せ。つまり、学習のプロセスで重要になる「繰り返す」という作業が必要ないわけだ。

 

そこで、学習の記録としてブログという結論に至った。ブログに書くことで最低2回は同じ事を「繰り返す」ことが出来る。

 

さらに、ブログを書くということは、それなりに人に見られるということなので、自分専用のノートを作るよりも丁寧に書くことになるだろう。

 

 

ブログにアウトプットすることで同じプロセスを繰り返すとともに、人に伝えるように書くことで自分自身の理解も深めるというわけである。

 

 

 

②プログラミング習得過程を可視化・言語化する

2020年度の小学校でのプログラミング必修化に向けて文部科学省が動いている。

 

文部科学省のホームページを見る限り、プログラミング言語そのものを学ぶというよりは、Scratchを使って、プログラミングの考え方を学ぼうという趣旨のようだが、その授業をきっかけに本格的にプログラミングをやりたいという子も出てくるだろう。

 

 

学習過程でのつまずきは、諦めに繋がりやすい。

 

主要5教科は、授業研究だったり、先生方の研究会だったりで情報共有し、理解が難しい部分を分かりやすく教える工夫が生まれてきた。しかし、小学生向けのプログラミング教育には、その事例の積み重ねが無い。

 

 

プログラミングを子どもに教えるという視点で考えられる人が少ないという問題もある。

 

現在プログラミングのプロと言われる人は、おそらくプログラミングにある程度興味があって、専門学校や大学でお膳立てされた授業を受けて、プログラマーになった人が大半だろう。

 

プログラミングをある程度学んだ経験がある人に教えたことはあっても、ゼロから教えたことがある人は少ない。

 

だから、プロが教える側に立つと、「なんでそんな当たり前のことが分からんのかが分からん」という状況が発生する。

 

私は「一応」、教育に関わる人間だ。ずぶの素人がプログラミングを独学で習得する過程を可視化・言語化することで、プログラミング教育のヒントくらいにはなるかなと考えている。

 

自分が教える立場になった時にこのブログを見返して、ヒントにするという要素の方が大きくなりそうだけど。

 

 

③お金が欲しい

これが一番大きい理由かもしれない(笑)

 

お金が欲しい。大事なことなのでもう一度書きます。

 

「お金が欲しい」

 

大学院生の懐事情は厳しい。毎日もやし生活なんて当たり前。しかも学部生と違ってバイトするなんて余裕も無い。

 

専門分野と別にプログラミングもやろうとしてるぼくは、時間はさらに削られ、教材費などの出費は増えていくわけだ。

 

仕送りだけでは賄いきれない分を、どうにか稼ぐ必要がある。

 

 

そこでたどり着いたのが、ブログでの広告収入だ。筆不精な僕には、お金という外発的動機づけになることも心強い。

 

目標は、あくまでも教材費を得ること。

 

だから、このブログで生計を立てようなんていう気は一切ない。

 

 

学習記録として最低限読める文章を書くことが目標で、他のブロガーさんみたいに上手な文章なんて書く気もない。

 

あれ、なんか①で書いた内容と矛盾してないか? 

まあ、そこら辺も含めて学習記録という要素が強くなる点はご了承いただきたい。

 

 

ちっ、アフィリエイトかよと思った画面の向こうのあなた、そっとブラウザの戻るボタンを押してください。

 

 

ただ、こんな私を少しでも応援しようという物好きな方がいてくだされば、間違ってでも良いので広告をクリックしてみたり、Amazonで商品を購入したりしてください。泣いて喜びます。

 

 

 

ブログ運営方針

 

上に書いたこととほぼ同じ内容になるけど、

 

  • このブログはプログラミング童貞素人の大学院生の学習記録です。
  • 記録なので上手な文章でないことや、関西系の方言が所々に顔を出すことがあります。
  • 素人理解を掲載するため、正しい情報でない場合があります。
  • 中の人は欅坂46けやき坂46のファンなので例えにちょくちょく登場します。
  • 更新は完全に中の人の学習の進行に依存します。
  • 収入を得るため記事内に広告を掲載します。

 

 

以上を理解した上で、素人がプログラミング習得するまでの過程を見せるエンタメくらいの感覚でお付き合いください。

 

そして、もし心優しい専門家の方がいらっしゃれば、間違いを指摘し訂正していただけると幸いです。