こんにちは、コン(@pippi_kon)です。
近年、パソコンが急速に普及しIT時代を迎えています。
仕事や学校の授業などではパソコンが使えることが前提になっていることも珍しくありません。
パソコンはとても便利で、できることといえば、インターネットでの調べ物、文書や音楽・動画の作成、ゲームのプレイなどがメジャーですが、そのほかにも「プログラミング」があります。
プログラミングはパソコンやスマートフォンで使える便利ソフト・アプリやゲームなどを作るために必要な技術です。
今では小学校の授業でプログラミングが導入されるほど、プログラミングというものが身近なものになりつつありますね。
しかしこのプログラミング、様々な種類(言語)があり、それぞれ使い方が異なるので習得するのはとても苦労します。
そこで今回は、『私の実体験に基いたプログラミングの勉強方法』をご紹介します。
何を作りたいかを決める
プログラミングは「プログラミング言語」と呼ばれるコンピュータプログラムを記述するための言語を用いて行います。
人は何かものを書いたり話したりするときに日本語や英語などといった言語を使用しますよね。
プログラミング言語はそれのコンピュータ版と思ってください。
世の中には様々なプログラミング言語があり、プログラミングによって何を作りたいかで使う言語が異なります。
スマホアプリを作りたい
→ アプリ系の言語
パソコンソフトを作りたい
→ ソフト系の言語
ホームページを作りたい
→ Web系の言語
一言で「プログラミング」と言っても、いろんな種類のプログラミングがあって、それぞれ似て非なる別のものです。
まずはプログラミングで何をしたいか・作りたいかをはっきりさせましょう。
ちなみに私はパソコンで遊べるゲームが作りたかったので「ソフト系の言語」を学ぶことにしました。
習得したいプログラミング言語を決める
プログラミングで何を作りたいかが決まったら、それを作るためのプログラミング言語を選びます。
プログラミング言語はたっっっっくさんありますので、ここでは代表的なものをご紹介します。
アプリ系の言語
スマートフォン用のアプリを作るためのプログラミング言語です。
iOS用、Android用でそれぞれ適した言語があります。
iOS用アプリ開発に適した言語
iPhoneなどのiOS上で動作するアプリを開発するのに適した言語は「Swift(スウィフト)」です。
これからiPhoneアプリ開発を始めようと思っている方は迷わずSwiftを選択すべきです。
Swiftは2014年に誕生した比較的新しいプログラミング言語で、今でもバージョンアップが行われてどんどん便利に・使いやすく進化しています。
ちなみに、iPhoneアプリやSwiftについて調べていると「Objective-C」というキーワードに出会うことがあります。
Objective-CもSwiftと同様にiPhoneアプリを開発するのに適したプログラミング言語なのですが、実はSwiftはObjective-Cの後継に当たります。
今でもObjective-Cを使うことはできますが、個人的にはSwiftの方が使いやすくわかりやすいのでおすすめです。
昔からiPhoneアプリを開発している会社などではまだObjective-Cが使われていたりしますが、最近ではSwiftに移行している所も多いのではないでしょうか。
Android用アプリ開発に適した言語
Android上で動作するアプリを開発するのに適した言語は「Kotlin(コトリン)」です。
これからAndroidアプリ開発を始めようと思っている方はKotlinがおすすめです。
Kotlinは2017年5月にAndroidアプリ開発公式言語として採用されました。
それまでは同じく公式言語のJava言語での開発が主流でしたが、KotlinはJavaに比べて書きやすくエラーを回避しやすいという理由から、今ではAndroid開発言語の主流がJavaからKotlinへと移行しつつあります。
と言ってもJavaもまだまだ現役。
知名度で言えばJavaの方が上。ネット情報や参考書はJavaに関するものが多いです。
また、Javaはスマホアプリ開発以外でもよく使われるプログラミング言語なので覚えておいて損はありません。
ゲームアプリ開発に適した言語
iPhone・Android両方で遊べるゲームアプリを開発するのに適した言語は「Unity(C#)」です。
Unityはアプリ開発のエディタが用意されているツールの名称で、実際にプログラム記述するのは「C#(シーシャープ)」という言語です。
「iPhoneアプリならSwift、AndroidアプリならKotlin」
と書きましたが、これはそれぞれのプラットフォーム単体で動作させる場合の話です。
両方のプラットフォームでアプリをリリースしたいときはこれら2つの言語でそれぞれ開発しなければいけません。
しかし、Unityを使ってアプリ開発すれば、iPhone・Android両方で動作するアプリを作ることができます。開発の手間が2分の1になります!
しかもこのUnity、ゲームプログラミングに特化したツールでもあります。(特に3Dに強い)
有名企業がリリースしたゲームの中にもUnityを使って作られたものがたくさんあります。
ソフト系の言語
パソコン用のソフトを作るためのプログラミング言語です。
こちらも用途によってそれぞれ適した言語がありますが、どれも一長一短あり、どれがおすすめかは一概には言えません。
なのでここは私が好きなプログラミング言語をご紹介します。
習得しておいて損のない言語
ソフトウェアの開発で使用される定番なプログラミング言語として「C言語」があります。
プログラミングをしたことがある方は聞いたことがあるのではないでしょうか。
C言語は学校の授業や会社の研修でも取り入れられているくらいメジャーです。
私が最初に習得したプログラミング言語がC言語でした。
当時中学生だった私は「自分でゲームを作りたい!」という気持ちを抑えられず情報工学を学べる高校に進学。その高校でC言語を学びました。
ただ、C言語はプログラミング言語の中でも難しい部類に属すると思います。
学校の授業でも理解に苦しんでいた人が何人もいます。
独学でマスターするのはちょっとハードルが高そう。
でもC言語をマスターできれば他のあらゆるプログラミング言語に応用がききます!
(C言語をベースに作られたプログラミング言語も多数あります)
どんな言語もさほど苦労せず習得できるようになるはずです。
ぜひ覚えておきたいプログラミング言語の1つです。
企業でよく使われる言語
世の中にはいろんな企業があり、それぞれがいろんなソフトウェアを開発しています。
当然使われているプログラミング言語もみんなバラバラですが、私がよく耳にするのは
「Java」。
JavaもC言語と同様に研修などで導入されているメジャーなプログラミング言語です。
JavaはC言語を基に作られたプログラミング言語。
プログラマーの使い勝手を考えて設計されており、C言語よりも難易度は低めです。
Web系の言語
ホームページ(サイト・ブログ)を作るためのプログラミング言語です。
ホームページ開発に適した言語
サイトやブログなどのホームページを開発するのに適した言語は「HTML/CSS/PHP/JavaScript」です。
これら4つは切っても切れない仲。
今はホームページ作成用のソフトなどもありますのでプログラミング言語を覚えなくてもホームページ作成できます。
でもこれではソフトの型にはめられたことしかできず、ありきたりなものしかできません。
「ここをこうしたい」のように自分でカスタマイズできるようにするためにはHTML/CSS/PHP/JavaScriptの知識が必要不可欠です。
ホームページにオリジナリティを持たせたいときはこれらの言語を学習しましょう。
自分に合った学習方法を探す
プログラミングで何を作りたいか、そしてそれをどの言語で作るかを決めたら、いよいよ学習の開始です。
いろんな手段があるので自分に合った学習方法を見つけましょう。
ネット情報で学習
インターネットにあるプログラミング学習サイトで勉強する方法です。
ネット上には有志の方々が無料で公開しているプログラミング入門サイトが多数あります。
「C言語 入門」「Java 入門」
とかで検索するといっぱい出てきます。
無料でお手軽に学習できるのでとても便利です。
メリット
- ネット環境さえあれば無料で学習できる
- パソコンでもスマホでも見れるので学習の時間と場所を選ばない
- わかりにくいサイトに出会っても別のサイトに簡単に乗り換えられる
- サンプルプログラムの入力がしやすい(コピペが可能)
デメリット
- 情報に信憑性がない(ウソ・デタラメが書いてあることもある)
- ものによっては情報が古い
- わからない部分ができても解説してもらえない
書籍で学習
書店などで販売されているプログラミング学習本を購入して勉強する方法です。
ネット情報とは違い、お金(書籍代)がかかってしまいますが、書かれていることは正確です。
本なので付箋やマーカーが引けるのがいい!
私は書籍で勉強する派です。
メリット
- 正確な知識を身につけられる
- ネットには書かれていないようなコアな情報も習得できる
- 付箋やマーカーで印をつけられる
デメリット
- お金がかかる(数千円)
- わかりにくい本だったら買い替えが必要
- わからない部分ができても解説してもらえない
- サンプルプログラムの入力が手間(ものによってはCD-ROMでサンプルコードが付いているものもある)
プログラミングスクールで学習
プログラミングを教えてくれる学校で勉強する方法です。
私は高校でプログラミングを学びましたが、高校や大学以外でも、プログラミングを学べる専門学校がたくさんあります。
プロの講師から学べるので知識習得は早いです。
最近では「オンラインスクール」も登場し、家に居ながらネット上で講義を受けることもできます。
おすすめのプログラミングスクールは以下の記事をご覧ください。
メリット
- 文字だけでなく講師の言葉による説明もあるので理解しやすい
- 習得スピードが早い。
- わからない部分ができたら解説してもらえる
- 最新の知識・技術を習得できる
デメリット
- お金がかかる(数万円〜数十万円)
- スクールによっては移動が必要(交通費もかかる)
困った時は質問サイトを活用する
プログラミングの学習を進めていくとどうしてもわからないことにぶつかることがあると思います。
プログラミングスクールに通っていれば講師の方に質問することができますが、ネットの入門サイトや書籍で勉強する場合はそうはいきません。
そこでオススメなのがプログラミング質問サイト「teratail」です。
teratailはプログラミングに関する問題解決をサポートしてくれるエンジニア特化型Q&Aサイトです。
Q&Aといえば「Yahoo知恵袋」や「教えてgoo」などがメジャーですが、teratailはそれらのプログラミング特化バージョンです。
プログラミングのバグが解決できないときや、やりたいことがあるのに実現方法がわからないときなどに、プログラムのソースコードを貼り付けて質問することができます。
学習しながら簡単なものを作る
プログラミング習得の近道は「実際に手を動かす」ことです。
ネット情報や本を読んだだけではおそらく習得は困難でしょう。
スポーツやゲームなどでも、脳内プレイは完璧だったのに実戦ではうまくいかないことがありますよね。
プログラミングもそれに近いものがあります。
その機能がどういうものなのか、どのように動くのかをより具体的に理解するためにも、新しいことを学んだらすぐプログラミングしてみましょう。
自分が想像した通りにプログラムが動いたらとても気持ちいいですよ!
こうやってプログラムをたくさん作っていけば、それが経験になり、知識が身につき、やがて自信に繋がります。
ちなみに私は、ゲームを作りたくてプログラミングを始めたのですが、最初に作ったのは超シンプルなクイズゲームです。
問題文をテキストで表示し、答えを選択肢の中から選ぶというもの。
なんの味気もない、ただの文字だけのクイズゲームでしたが、問題文が表示され、答えを選択でき、解答結果が出た時は『ゲーム作れちゃった!!』とテンションが上がりましたw
誰かに使ってもらう
プログラミングしてモノを作れたら、自己満足で終わらずに誰かに使ってもらいましょう。
自分では見落としていたいろんなことに気づいてもらえるかもしれません。
- ここはこうした方が使いやすい
- こういう機能があったら嬉しい
こんなコメントがもらえるかも。
せっかく作ったプログラムにケチをつけられるのは嫌かもしれません…
でもこのような要望をもらえたらラッキーなんです!
必要な情報を調べたり、試行錯誤を繰り返しながら、もらった要望を実現しましょう。
こうすることで、プログラミングの新たな知識を習得できるほか、ユーザビリティの視点が重要だという、プログラマーとして一歩先に進んだことも学べます。
プロの世界ではユーザビリティの視点が重要になります!
最後に
今回は、『私の実体験に基いたプログラミングの勉強方法』をご紹介します。
- 何を作りたいかを決める
- 習得したいプログラミング言語を決める
- 自分に合った学習方法を探す
- 学習しながら簡単なものを作る
- 誰かに使ってもらう
ご参考になれば幸いです。
(2024/11/21 15:55:05時点 Amazon調べ-詳細)