ネットを巡回していたら、プログラミング学習サイト「progate」(プロゲート)を偶然発見。
progateでは、HTML&CSS、Javascript、Rubyなど各種のプログラミング言語を学ぶことが可能で、それぞれのプログラミング言語の初心者向けレッスンを無料で公開しています。
以前からプログラミングに興味があったので、早速会員登録して、無料部分のレッスンを開始しました。
progateで学べるプログラミング言語(Web版、アプリ版)
HTML&CSS
Webページ(ブログを含む)を記述するための言語。
progateの無料部分(HTML&CSS 初級編)のレッスンでは、基本的なタグとCSS記述を扱います。
HTML部分は、HTMLを使った表示、見出しと段落、リンク、画像の表示、リスト作成。
css部分は、css用いた文字の色や大きさ、高さ、幅、背景色の変更、特定タグだけに効果を出すための名前設定。
HTMLとCSSの基本を押さえたら、指示に従いながらWebページのレイアウトを作っていきます。
Javascript
オブジェクト指向タイプのスクリプト言語。Webブラウザ上で動作し、HTMLだけでは表現できない動的なWebサイトを作成するのに用いられます。Javaとは構文が似通っているものの、全く別物のプログラミング言語です。
progateのレッスンには、旧バージョンのES5と、新バージョンのES6の2つあります。
ES5,ES6ともに、無料部分(ES5はI~II、ES6はI)のレッスンでは、cosole.logによる内容(数値と文字列)の表示、変数(変数の定義、計算、更新)、条件分岐(if文、switch文)までを扱ってます。
Ruby
アイドルアニメ「ラブライブサンシャイン!」に登場する、ピギィなお嬢様ではありません。
日本人が開発した、読みやすいシンプルな構造のオブジェクト指向スクリプト言語。日本で開発された言語であり、日本発の言語として初めて、ISO/IECで認証されてます。
progateの無料部分のレッスン(Ruby I)では、Putsによる内容(数字と文字列)の表示、変数(変数の定義、計算、更新、変数展開)、条件分岐(if文)までを扱ってます。
PHP
HTMLに埋め込みで記述するスクリプト言語。オープンソースの言語で、動的なWebサイトを作成するのに使われます。怪しい(?)某出版社とは一切関係が無いです。
progateの無料部分のレッスン(PHP I)では、echoによる内容(数値と文字列)の表示、変数(変数の定義、計算、更新、文字列の連結)、条件分岐(if文、switch文)、配列、連想配列、繰り返し処理(for文、foreach文)、関数まで扱ってます。そして、レッスンの最後で、ここまで学んだことを使って「お問い合わせフォーム」を作ります。
Java
クラスベースのオブジェクト指向型のプログラミング言語。汎用性が高く、全世界で使われています。
progateの無料部分のレッスン(Java I~II)では、System.out.printlnによる内容(数字と文字列)の表示、変数(変数の定義、計算、更新、小数)、データ型変換、条件分岐(if文、Switch文)、繰り返し処理(for文)、配列までを扱ってます。
Python
シンプルで英語に近いプログラミング言語。Webアプリケーション、機械学習、統計処理などに用いられてます。
progateの無料部分(Python I)のレッスンでは、printによる内容(数値と文字列)の表示、変数(定義、計算、更新、文字列と変数の連結)、条件分岐(if文)まで扱ってます。
Swift
MacOS、iOSなどの環境で動くアプリの開発に用いられているプログラミング言語。
progateの無料部分(Swift I)のレッスンでは、printによる内容(数値と文字列)の表示、定数と変数(定義、計算、更新、文字列の連結、変数展開、データ型変換)、条件分岐(if文、Bool型)まで扱ってます。Web版の方は、ここまで学んだことを使って、最後に簡単なアプリを作成。
GO
googleが開発したシンプルで実行速度が速いプログラミング言語。並列処理が可能。多くのプラットフォームで動作します。
progateの無料部分のレッスン(GO I)では、Sprintlnによる内容(数値と文字列)の表示、変数(定義、計算、更新、省略形、文字列の連結)、条件分岐(if文、Switch文)までを扱ってます。
SQL
SQLは、関係データベースを操作するための言語。国家試験の情報処理技術者試験にも出題されます。
progateの無料部分のレッスン(SQL I)では、基本的な関係データベースの操作を扱います。データベースの簡単な解説、カラム(データベースの列)選択、特定の条件を満たしたレコードの取り出し、比較演算子、LIKE演算子(部分一致検索で使用)、空欄レコードの扱い、取り出した結果の並べ替え、必要な数(上位5つまでなど)での取り出しまで扱ってます。
progateで学べるプログラミング言語(Web版限定)
Web版のレッスンは、上記に加えて、次のプログラミング言語のレッスンもあります。
JQuery
JavaScriptライブラリ(JavaScriptの拡張機能)の1つで、Webページにアニメーション効果などを付けられるようになります。
progateの無料部分のレッスン(JQuery I)では、画像を少しづつ表示/少しづつ消す、クリックなどのイベントによるcssの一時的な変更(クリックで文字の色を変える、画像を表示させる)などを扱ってます。
Command line
UNIXではコマンドワードを入力することで、ファイルの管理を行います。
progateのレッスンでは、コマンドワード入力による、ファイルやディレクトリの作成、ファイルの内容表示、ディレクトリの移動、カレントディレクトリの確認、ファイルやディレクトリの移動・名前変更・コピー・削除を扱ってました。
そういえば、Windows登場前にパソコンで使われていたOSのMS-DOSも、コマンド入力でファイルの管理を行ってました。当時のパソコンを使っていた方なら、懐かしくなるかも?
Git
Gitは、コマンドワード入力式のメッセージソフト(SkypeやLINEなど)みたいな感じ。共同開発で用いられます。
共有するファイルの選択、送信するファイルに付けるコミットメッセージの送信、共有の場へのアップロード、共有の場からのダウンロード、変更されたファイルの確認などを扱ってます。
Ruby on Rails
Ruby on Railsは、プログラミング言語Rubyで書かれているWebアプリケーション開発用のフレームワークです。Ruby on Railsなどの開発用フレームワークを使うことで、Webアプリケーションの開発が容易になります。
progateのレッスンでは、指示に従ってコマンドやコードを入力しながら、SNS(Twitter風)を作成していきます。
無料部分のレッスンは、Ruby on Rails I~II。Iでは、Ruby on Railsを起動し、基本的な機能について触れた後、トップページ、サービス紹介ページを作ります。IIでは、データベースの生成と操作(データの追加、取り出しなど)、コンソールの操作などに触れながら、コメントを投稿していくページを作ります。
React
押すと特定の処理を実行するボタンなど、ユーザーインタフェースを構築するためのJavaScriptライブラリです。モバイルアプリケーションの開発などに使われます。
progateの無料部分のレッスン(ReactⅠ)では、ボタンを押すことで表示が切り替わるコンテンツを作っていきます。
目標物を確認したから、内容の表示、JSXの書き方に触れます。その後で、onClickイベント(クリックで文字列を表示させる)、stateによる表示の切り替え、メソッドの定義と呼び出しをしながら、ボタンを押して表示が切り替わるコンテンツを完成させていきます。
Scss
Scssは、拡張されたcssです。スタイルシートを入れ子状に書いたり、変数が使用可能など、cssに比べてシンプルなスタイルシートを記述できます。
無料レッスンは3番目の項目まで。それ以降は有料レッスンになってます。
Web版とアプリ版のレッスンについてですが、progateでは同じプログラミング言語のレッスンでも別個扱いになってます。このため、Web版もしくはアプリ版のどちらか片方だけ修了しても、学習状況が同期しないため、もう片方は未学習状態になります。
progateの無料部分のレッスンについてですが、大部分のプログラミング言語が内容表示、定数と変数、条件分岐処理まで扱ってました。プログラミング言語によっては、無料部分が定数と変数で終わったり、繰り返し処理まで触れています。
学習を開始してから2週間程経過したところで、Web版、アプリ版両方について、無料で公開されているレッスンについては一通り終わらせることができました。progeteで学習を開始してから2週間ほどでした。
アプリ版の無料部分(全12レッスン)が終了。
Web版についても、無料部分(全17レッスン)が終了。
これでprogateで扱っているプログラミング言語の初歩については、一通りのつまみ食いが終わりました。
無料で各種のプログラミング言語の初歩を学べることにより、自分に合ったプログラミング言語を見つけることにも使えます。
ここから先は有料レッスン。
ここから先のレッスンは、有料コンテンツになります。progateの料金システムでは、レッスンごとの買い切りでなく、月単位で課金されるタイプになってます。
このため、もし有料コンテンツでのレッスンを考えているのであれば、1ヶ月間集中的に学べる見込みがありそうなところで利用するのがオススメかもしれない。1ヶ月~数ヶ月集中的に有料部分を学び、終わったところで迅速に有料会員を解除できるように。
progateの有料コンテンツへの支払い方法ですが、Web版からはクレジットカードが必要になりますが、アプリ版からであれば、GooglePlayによる支払いも可能です。Web版、アプリ版どちらからの支払いであっても、Web版、アプリ版両方の有料コンテンツの利用が可能になります。
1ヶ月間集中的に学習に取り組めそうな見通しが立ったら、私もprogateの有料レッスンを検討してみます。