分かりやすい、丁寧な記事を心がけています。
プログラミングをしている男性の画像です

プログラミング学習の手引き。まずはここから始めよう!【独学者必見】

  • 2018年11月8日
  • 開発
  • 710view

プログラミング学習の手引き

これからプログラミングを始めようと思っているあなた、こんな悩みありませんか?

  • Webサービスを作ってみたいけど、何から始めれば良いの?
  • 言語が多すぎて何が何やら。どれをやれば良いの?
  • 調べると開発環境がうんぬんって書いてあるけど、どういうこと?

そんな、これからプログラミングを始めたい!と思っている方に向けて「プログラミング学習の手引き」ということで、学習に使えるサービス等をまとめていきます!

プログラミング言語の選定

プログラミングを始めようと思った時、最初の壁は間違いなく言語選びです。
どれを学ぶのか。それを決めないのことには何も始まりません。
まずは学ぶ言語を決めましょう!!

あ・・・その前に、
大変残念なお知らせを先にしなければなりません。
Webサービスは複数の言語を組み合わせて作るものなので、1つの言語を覚えても作れません。泣
毎日10時間以上学習して、作ろうと思えば2〜3ヶ月でもサービスが作れるかもしれませんが、無理やり詰め込むと、一つ一つの言語の理解が中途半端になって、後になってからまた学習のし直しなんてことになりかねませんので、少しずつ長いスパンで考えて作るようにしましょう。
では2種類に分けて言語について紹介します。

フロントエンド言語

画面構成を司る言語です。見た目部分を作るために必須の知識です。
そもそもこれらの言語が無いと、何も始まりません。

主に使うのは「HTML」「CSS」「JavaScript」の3言語です。

フロントエンド言語は、家作りだと思っていただければ分かりやすいです。

HTML家の設計図を構想し、その構造を元に作成する。
CSS作成した構造に外観をつける作業
JavaScript動線を考えて、使いやすいように内観をつける作業

フロントエンド図解です。

サーバサイド言語

データベースへのアクセスや処理等を司る言語です。フロントエンド画面で入力されたデータ等をどのように処理するかを指示します。基本的にWebサービスでデータが一切ないということはありえませんので、こちらの言語も記述できるようにする必要があります。

有名な言語でいうと、
実行速度は速いが、コンパイルなしでは実行できないコンパイラ型言語の「Java」、「C」、「C++」。
実行速度は遅いが、コンパイルなしでもそのまま実行可能なインタプリタ型言語の「PHP」、「Ruby」、「Python」
等があります。

では、どれを学ぶべきかということですが、
自分が作りたいサービスによっても学ぶべき言語は変わってくるので一概には言えません。
例えば、AI関連の開発であれば「Python」になりますし、iOSアプリの開発なら「Swift」になるかと思います。

ですが、初めて学習する言語は「Ruby」や「PHP」をオススメします。
この2言語は実用例が多く、分からなくなった時に解決法を検索して見つけやすいからです。
基本的に構造は同じなので、まずは始めやすいところから始めましょう!!

データベース言語

データベース言語とは、サーバサイドで処理したものをデータベースに入れたり、検索をしてデータベース内のデータを取得してきたりする言語です。
これは、ほぼ一択でSQLになるかと思います。その中で、MySQLやPostgreSQLがありますが、上記のサーバサイド言語と同じ理由で、最初はMySQLにしておきましょう。

広告

プログラミングする上での開発環境

これは有名なLAMP環境(Linux,Apache,MySQL,PHP)にしておきましょう!!
と言いたいところですが、Linuxでの開発はターミナル(コマンド)作業に対して、少しでも抵抗があるのなら、潔くMacOSかWindowsでの開発にした方が良いと思います。

そもそも、これから始めようと思っている方は最初に開発環境を頑張って構築しようとするのは避けた方が良いかもしれません。。。
理由は単純で、かなり難しい作業だからです。開発者でもつまずくと2日間くらい取られることもザラで、ここで挫折する方も少なからずいます。せっかくやる気になっていても、出鼻を挫かれたらやる気も削がれちゃいますよね・・・泣
最終的に開発者として食べていくのであれば、環境構築する必要はありますが、
とりあえず作成してみるのであれば簡単に構築できる方法で短縮しちゃいましょう!!

おすすめツール

  • Cloud9

クラウド型の統合開発環境です。自端末に環境構築するのではなく、クラウド上で開発環境を作ってしまいましょう!統合開発環境というと難しそうですが、開発に必要な機能がまとまったものだと考えてください。
これは、有名なAmazon Web Service(AWS)のサービスですので、安心してお使いできます。
cloud9

  • Atom

開発の際にソースを書くためのエディタです。どのOSでも利用できますし、GitHubが公開したエディタだけあって、色々な方が作成した便利なプラグインが多くあります。cloud9にもエディタはついていますが、今後のことも考えると自分の端末上にエディタを入れておくといいと思います。
迷ったら、とりあえずこれにしておきましょう。

Atomインストール

 

プログラミング初学者のためのサービス一覧

それでは、ここから筆者の体験も踏まえて便利なサービスを紹介していきます。(有料のサービスを含みます)
おすすめの手順に沿って、説明します。

0.ドットインストール

これは手順というより、「迷ったらとりあえずここ」というおまじないのようなものです。笑
開発者ならほとんどの人が一度はお世話になっているのではないでしょうか。
ドットインストールの特に良い点は、以下の3つです。

  • 初学者でも分かりやすい構成になっている。
  • 数多くの言語がレッスンごとに整理されているため、明確に自分が学んでいることがわかる。
  • 動画なので実際に何をどうすれば良いのかが手順を見て、はっきりとわかる。

筆者も今だによくお世話になっています。
1動画が3分程度なので、通勤中や通学中などにとりあえず動画を見れるのも大変嬉しいところですね。
基本は無料で視聴できますが、いくつかのコンテンツや文字起こし、ソースコードの閲覧、再生速度の変更等は有料サービスになります。
正直、無料でも十分すぎるくらい良質なサービスですので、とりあえず登録をしておきましょう!!

ドットインストール

1.Progate

さて、まず1つ目は「Progate」です。
基礎部分までは無料で行うことができ、応用部分になると有料会員登録が必要になります。
ですが、金額も月学980円とかなり破格な金額形態ですので、登録してみても良いかもしれません。
筆者も有料会員になって、学習させていただきました。
Progateの特に良い点は、以下の3つです。

  • ブラウザ上で環境が作られているので、その場でコードを打ち込むことができる。
  • 「スライド学習 → コードの打ち込み → 実際の画面の確認」の流れで、少しずつ自分で作っているという感動がある。
  • 学習したコース数に応じて、レベルアップしていくのでモチベーションが上がる。

最近はあまり利用していないのですが、自分のレベルがどれくらいか確認してみたらLv.154でした。
2,3年前の時点でこのレベルまでやっていたようで、大分やり込んでいたみたいです。笑
すごく分かりやすく、はじめの一歩として、大変良いサービスですので使ってみてください!!

Progate

広告

2.CODEPREP

2つ目は「CODEPREP」です。
Progateと似ていますが、無料で全てのブックを学習することができます。質問もすることができるので、途中で躓いても安心です。
元々は有料のプランだったものが、無料になりました!!筆者が使っていた時は有料だったのに・・・泣

CODEPREPの特に良い点は、以下の3つです。

  • 習熟度チェック用のブックで、自分がどれくらい理解できているのかを確認できる。
  • 「〇〇を作ってみよう」シリーズで、実際に動作するものを作ってみることができる。
  • Reactなどのフロントエンドのライブラリも学習することができる。

Progateで基礎部分を身につけて、CODEPREPで実践というようなイメージで筆者は取り組んでいました。
ライブラリというのは、汎用性の高い機能をまとめて利用できるようにしたもののことです。全て1から作成していたのでは、いくら時間があっても足りないので上手にライブラリを使えると開発スピードをあげることができます。

CODEPREP

3.paiza

3つ目は「Paiza」です。
そもそもは転職サービスなのですが、paizaラーニングを使用して、動画学習することができます。
ですが、筆者はProgateやCODEPREPで学習していたため、paizaラーニングはあまり使用しませんでした。
どちらかというと、言語やアルゴリズムの理解度を測るためにスキルチェックを利用していました。

paizaの特に良い点は、以下の3つです。

  • スキルチェックを通して、自分に理解度が測れる。
  • ランク性なので、ランクが上がるとモチベーションが上がる。
  • プログラミングをテーマにしたゲームがあり、楽しみながら自分のスキルをあげることができる。

学習してきたことをどれだけ活かせるかをPaizaで確認するのが良いと思います。
自力でコードが書けて、正解した時の爽快感は最高です!!笑

paiza

4.Schoo

正直、ここまでやれば学習すべきことは、ほぼ一通り学べているかと思います。
最後に紹介するのは「Schoo」です。
基本的には無料で視聴できます。有料会員になると、生放送を見逃した場合の録画配信や限定生放送などの全ての動画が視聴できるようになります。

Schooの特に良い点は、以下の3つです。

  • リアルタイムでの放送では、コミュニケーションを取りながら学習ができる。
  • 1つ1つのコンテンツが約1時間あり、授業を受けているような感覚で学習ができる。
  • 現職の方が指導者なので、より実践的な内容が多い。

ある程度開発ができるようになった状態で、理解が少し足りない部分を補強する教材として筆者は使用しています。
動画を見ていると、「ここは分かるなー」とか「え?そうなの??」という部分もあって、よく分かっていなかった箇所がどこなのかに気づくことができます。
Schooは実名登録必須のため、実名でも構わないという方は使ってみると良いと思いますよ!!

Schoo

まとめ

言語、開発環境、学習サービスについて、いくつか取り上げて記事を書きましたが、本当に便利な社会になったなーと感じます。
学びたいと思った時に、その入り口が格段に低くなっていますよね。
誰しもが、やってみたいことを形にできる社会になってきていると思うとワクワクしますね!!
筆者は最近、「ゆくゆくはWebコンサルをしたいなぁ」と漠然と考えています。色々な業界の動向や、そこに活用されている技術等を学習し始めました。やってみたいと思ったことを我慢していたら損ですよね。笑
この記事が、プログラミング初学者のための第1歩になったら嬉しいです!!!!

以上。yukilaboでした!

おまけ

長文になったにも関わらず、ここまで読んでくださった方に、もう一つだけ紹介します!
まだ、筆者も使用してはいないのですが、2018年10月から「Techpit Market」というサービスが始まりました。
先輩開発者たちが教材を用意してくれていて、実際のサービスを作りながら学ぶことができるようです。
有料にはなりますがすごく面白そうです!!
「作ってみたい!!」と思えるサービスの教材が出てきたら、突撃してみたいと思います。笑

Techpit Market

広告
プログラミングをしている男性の画像です
興味を持ったら是非!!
広告