give & not take

日々、幸せに生きるために。。。

趣味でプログラミングを学びたいと思っている人へ。

f:id:gaku3601:20180908180816j:plain

Gakuです。
プログラミング楽しいです!
楽しすぎて始めてからかれこれ13年くらい経過している今日このごろ。

そんなプログラミングを「趣味程度でいいから始めてみたいぃい!」と考えている方も少なくないでしょう。
今回はプログラミングを始めてみたい人へ、「じゃあ、まず何すればいいの?」という観点で、僕が考えるプログラミングをやる前の心構えを記述させていただければと思います。

プログラミングで何を作りたいか決める

f:id:gaku3601:20180908181102j:plain

さて、プログラミングといってもいろんな言語があり、また言語に紐づくフレームワークというものが世の中には無数に存在します。
「この言語が流行っているからやってみよう!」とか「この言語が簡単そう!」とかそういった観点で言語を決めるのではなく、「何を作りたいか」で言語の選択を行うべきです。
例えば、プログラミング入門でC言語をやりましょう!という書籍はたくさんありますが、Webシステムを作成したいのにC言語を選択することはほぼありません。(作れないことはないのですが、修羅の道です。)
なので「何を作りたいか」をまず考えてみるのが大事です。

代表格を簡単にあげておきます。

何を作りたいか 言語とかツールとかフレームワークとか
ゲームを作りたい Unity, Unreal Engine, Cocos2d-x
AIで機械学習やりたい! Python(Tensorflow, Keras, Chainar)
Webシステム作りたい JavaScript(node.js), Ruby, Golang
スマホアプリ作りたい kotlin, Swift

てな感じです。
世の中には数え切れないほどの言語があるので、一概に「これが良い!」ということは言い切ることができません。
ですが、「何をしたいか」をベースに、それを実現できそうな書籍を1冊買ってみて、そこに書いてある言語を選択することがベストです。

何はともあれPCの準備

f:id:gaku3601:20180908181132j:plain

プログラミングを始める場合、当然ですが「PC」が必要です。
PCといってもいろいろなOSが存在しておりますが、一般的にはWindowsを使用している人が多いのではないでしょうか?
ベテランのプログラマーでも意見が分かれるところではあるのですが、使用するOSによって開発のしやすさは変わってきます。
例えば、3Dゲームを作成したい場合、GPUが必要になってきます。
GPUを積んだmacはかなりの高額商品となるため、3Dゲームの開発はwindowsで行うべき!
とか、
Webシステムの開発にはterminalというツールを使うことが多いのですが、圧倒的にwindows端末のterminal(コマンドプロンプト)は使いにくいです。
なので、Web屋さんは基本的にはmacを使用します。
もしそれが難しいのであれば、linuxにする!(windows10ならubuntu for bashが使えるのでそこそこ使えるterminalは搭載されておりますが、フォントが汚くてやる気がでない。) といったような感じです。
このOSの選択も最初は書籍に掲載されているOSを素直に使えば良いですが、Webとかスマホアプリ系の作成にするならmacがオススメです。

環境構築は仕方がないもの

f:id:gaku3601:20180908181241j:plain

何を作りたいかも決めた、本も買った、PCも新調した。
「さて、やるぞぉおお!」と勢いづいて、奈落に落とされるのが「環境構築」という障壁です。
「環境構築」とは開発を行うために、言語やツールのインストール・設定を行い開発ができるように環境を整えることを指すのですが、その内容が全く理解できず、この段階でプログラミングをやめてしまう方が後を立ちません。
おまけに「言語とかツールとかは常にupdateされるもの」であるため、少し古い書籍を買ってしまうと、手順どおりにやっているのに動かない。。。といったことも発生します。

この点は仕方がないものと考えてください。
ベテランプログラマーでも初めて触る言語やフレームワークの環境構築は時間がかかることも良くあります。
もし、手順通りにやっていても上手くいかない場合で、error等が出ているのであれば、そのerror文をgoogleで検索し解決方法を試してみるといったことで地道にがんばりましょう。

おわりに

最後は体育会系な感じになってしまいましたが、プログラミングで「何をしたいか」を考え「したいことを実現してくれそうな本を買う」。
そして、「その本に書いていることを実行する」。
プログラミングが何も知らない状態から始める場合、まずはこれで良いと思います。

ちなみに、「プログラミング入門」と題して、分厚い本でひたすら「変数」とか「for文」とか「if文」とかだけが記述してあるだけの本は、最後までやってみても「で、どうやって作るの?」な感じになるので、購入はしない方が良いと思います。
それよりかは、「今日から始めるiOSアプリ」とか作りつつ学ぶ、本でわからない部分googleで検索する。という形で実践重視で学べば、楽しいですしどんどんプログラミングが上達すると思いますよ。

僕はWeb屋さんなので、Web系の入門系記事もそのうちUPしていこうとは思ってます。

ではでは。。。