プログラミング

独学プログラミングはProgate(プロゲート)から始めよう

僕はプログラミングを一番最初に始めるかたには自身を持ってProgateというサービスをおすすめします。

https://prog-8.com/

レッスンもとても充実していて、月額たったの980円しかかからないので、3000円以上する書籍を買って頭を悩ましながら勉強するよりよっぽどいいなと思っています。

「入門Python3」もそうでしたが、本にはときどき誤植や古い情報がそのまま記載されています。

あわせて読みたい
【書評】入門Python 3の感想と扱えるレベルを解説 Python3の参考書「入門Python3」を購入したのでその感想を書いていこうと思います サイズはこんな...

初学者ではこうした箇所に気づくことがなかなかできません。しかしネットサービスでは常に運営によって教材がアップデートされていくのでこうした問題に当たることが少ないのも、僕が最初に始める教材にProgateを推している理由です。

充実の無料レッスン

Progateは無料レッスンも非常に充実しています。こちらが現在Progateで無料で勉強可能なレッスン一覧です。

HTML & CSS 初級編
WEBページはHTML、CSSという言語によってその見た目が作られています。実際にWEBページを作りながら学んでみましょう!

JavaScript (ES5) Ⅰ
JavaScriptはフロントエンドだけでなく、サーバーサイドまで広い可能性を持つプログラミング言語です。まずJavaScriptⅠでは、基本的な文法や変数の使い方を学びましょう!

JavaScript (ES5) Ⅱ
JavaScriptⅡではプログラミングでは重要な内容である「真偽値」や「条件分岐」を学びます。少しずつ複雑になっていきますが、最後まで頑張りましょう!

jQuery 初級編
jQueryを使うとWEBページにアニメーションや効果を簡単につけることができます。このレッスンでは、そんなjQueryの基本を学習します!

Ruby Ⅰ
RubyはWEBアプリケーションの「システム」をつくるためのプログラミング言語です。RubyⅠでは、Rubyの基本的な文法、変数、条件分岐などについて学びましょう!

Ruby on Rails5 Ⅰ
Ruby on Railsは、Rubyで書かれた、WEBサービスの開発に必須のフレームワークです。Railsを使って、実際にTwitterのようなSNSサービスを開発してみましょう!

Ruby on Rails5 Ⅱ
このレッスンでは、Ruby on Rails5Ⅰで作成したSNSサービスに、投稿一覧ページを追加していきます。投稿一覧ページを作成しながら、データベースについて学びましょう!

PHP Ⅰ
PHPを学べば、ユーザーからデータを受け取りそれを表示するなど、実際のWEBサービスで必要な機能を作ることが出来ます。

Java Ⅰ
世界中で使われている有名な言語「Java」の世界へようこそ!
このレッスンではJavaの基本的なコードの書き方、データ型、変数などについて学びます。

Java Ⅱ
このレッスンでは、条件分岐や繰り返し処理といった、プログラミングに必須な論理の組み方を学びます。Javaの基本を身につけましょう!

Python Ⅰ
「Python」はWebアプリケーション開発や機械学習、統計処理など、様々な分野で使われています。このレッスンではPythonの基本的な使い方について学びます。

Swift Ⅰ
SwiftはiPhoneアプリを作るための言語です。Swiftを学んでiPhoneアプリを作る力を身につけましょう!

Command Line 基礎編
コマンドラインはコンピュータを操作するツールであり、webサイトやアプリを作る上で必須のものです。このレッスンで必要最低限の基礎知識を学んでいきましょう!

Git Ⅰ
Webサイトやアプリなどを作る際に、複数人で協力しながら開発していくことがあります。Gitを使うことでそのような共同開発をスムーズに進めることができます。このレッスンでは「にんじゃわんこ」と「ひつじ仙人」と一緒にGitを学んでいきます。(このレッスンは「Command Line 学習コース 基礎編」の知識を前提としています。)

SQL I
SQLはデータの管理や分析を行うデータベース言語です。今回のレッスンではSQLの基本的な使い方を学習します。

有料レッスン

有料レッスンは月額980円で、Progateで公開されている全65講座をすべて受講することができます。基本的な参考書を一冊買っても3000円はくだらないことを考えると非常に安く勉強ができることが分かると思います

プロゲートの特徴① スライド授業

Progateはこのようなスライド形式で理解を深めていきます。カラフルかつ端的な説明の後には次のような演習に入るので勉強したことをすぐに復習することができます

Progateの特徴② モチベーションが保ちやすい

プログラミングの独学で一番大きな壁になるのがモチベーションの維持だと思います。Progateでは自分の成果をレベルやメーターで分かりやすく表示してくれるのでゲーム感覚で勉強を進められます。

僕はPythonの勉強に特化してやったのでこのような形になっています。Webアプリケーションを作る際にはHTML、CSSなどの知識も必要になるのでその時はまたProgateに戻って勉強しようと思っています

Progateの特徴③ アプリでも勉強できる

ProgateはIOSにもAndroidにも対応したアプリもリリースしています

通学通勤の退屈な時間や、日常のちょっとした空き時間でもササッとプログラミングの復習ができるようになっています。ゲーム感覚でサクッとできるアプリでプログラミングに対する抵抗感が払拭できるかもしれません。

Progateで勉強する際の注意点

ときどきProgateで200レベルを超えるようなツワモノと出会います。僕はそのようなProgateオタクになってしまうのはとても効率が悪いと思っています。見ての通り、僕はPythonの全講座を終了していますが、それでも29レベルにとどまっています。Pythonは他と比べて講座数がすくないということもあるのですが、それにしても200レベルは高すぎると思ってしまいます。

初めて勉強をする人が、全部のプログラミング言語を学ぼうとするのには無理があります。プロのエンジニアでさえ自分の得意とする言語をもって仕事をしているのですから、PHPもPythonもRubyも全部学ぼうと初学者が考えるのは非常におこがましいと言うか危険だと思います。

原因は何を目的にプログラミングを学んでいるのかが明確では無いことにあると思います

大まかなゴールを見定めよう

まずプログラミングの勉強をする前に「自分はどうしてプログラミングの勉強をしたいのか」をもう一度考えましょう。

・起業したい

・独立したい

・副業がしたい

・エンジニアになりたい

・エンジニアと対話できるビジネスマンになりたい

・何かアプリをつくってみたい

などいろんな動機があると思います。Progateで最強を目指すことが目的になってしまっては本末転倒なので、まずは自分の目的をはっきりとして、それにあった言語を選ぶようにしましょう。

僕がPythonの勉強を初めたのはAIやブロックチェーンについての知識を深めたいという目的があったからです。またPythonで創られている代表的なサービスにYoutubeやEvernoteやInstagramなどの誰でも知っているアプリケーションがあることも知り、そういったサービスを開発してみたいというちょっとした夢も持ちました。しかしこうした勉強と同時並行で例えばIOS専用のSwiftなどの学習をすることは最適解では無いと思います。必要に応じて、必要な言語を随時習得していくやり方が一番効率のいい勉強順序だと思うので、Progateはあくまで最初のスタート地点と割り切りましょう。

Progateのレベルは履歴書に書くことはできませんから!

https://prog-8.com/