新しいプログラム言語やフレームワークを素早く学ぶ方法

システムエンジニアだけでなく、プログラミングは多くの人に使われるようになりました。

開発効率化を高めるため、日々多くのプログラム言語やフレームワークが開発・リリースされています。

この記事では、どうやったら新しいプログラム言語やフレームワークを素早く学べるか、紹介します。

新しいプログラム言語やフレームワークを学ぶ理由を整理する

  • 新しいプログラム言語やフレームワークは、なにか便利な機能があるはず
  • 理由を整理すると、モチベーションがアップする

どうして勉強しないといけないのか、整理してみましょう。

自分の中で整理することで、ニーズが明確になり、知識を習得した後の自分を想像できるので、結果的にモチベーションがアップします。

新しいプログラム言語やフレームワークがリリースされるときは、それまでのシステム開発の苦労や煩雑さ、複雑さがいくらか解消されているはずです。

例えばFlutterというフレームワークを使えば、iOSとAndroid、ウェブアプリやPCアプリを1つのソースで開発できるようになるだけでなく、マテリアルデザインを用いた美しいUIデザインを簡単に開発できます。

いままで1ソース・マルチプラットフォームのアプリケーションを開発できるフレームワークは多くありましたが、UIデザインまで踏み込んだフレームワークはありませんでした。

別の例を上げると、ネイティブアプリ開発のプログラム言語です。例えばWindowsアプリケーションを開発する場合には、JavaScriptでもVB.NETでも、どの言語でもある程度開発が可能です。

しかし、Windowsフォームコントロールを使おうと思うと、VB.NETやC#など.NETフレームワークが導入されている言語が必要になります。

HTMLでUIを作るのもいいですが、WindowsフォームコントロールやWPFが使えると開発効率が上がります。

開発効率が上がると、素早く開発できるスキルが身に付きますので、結果的に自身の評価につながります。

新しく勉強するには、それが必要になる理由を整理しておきましょう。

チュートリアルを写経・コピペしてみる

  • 問題なく動くソースコードを書いて読むのが一番早く理解できる
  • 動く楽しみを得られる

どのプログラム言語やフレームワークにも、公式サイトにはチュートリアルがあります。

チュートリアルでは基本的な考え方から応用的な考え方まで、幅広く情報が整理されています。

実際に自分でソースコードを打ち込んで動作すると楽しくなりますよね。

一方で、公式の開発環境・CLIツールには、テンプレートからソースを生成する機能があるかもしれません。

その機能を使えば、動作するソースコードが素早く入手できます。ソースコードを読むだけでも知識が吸収されます。

環境構築に手間取る場合はDockerイメージが無いか探す

  • 環境構築に時間をかけるのは無駄
  • Dockerイメージなどを使って、素早く環境構築

システム開発で避けて通れないのは、環境構築です。

インストーラーからインストールするだけで完了するものであれば問題ありませんが、何かが足りなくてエラーになったり、複雑な設定が必要になったりするものもあります。

目的がプログラム言語やフレームワークの勉強なのに、環境構築で時間がかかっていると、時間の無駄です。

そんなときは、Dockerイメージが無いか探しましょう。

Dockerは仮想環境を構築するシステムの1つです。たくさんのDockerイメージが用意されていますので、それを起動するだけで開発環境を入手できます。

仮想環境ですので、色んなものをインストールしても仮想OS側にしか影響がありません。

仮想OS側にCPUやメモリを割り当てる必要がありますので、ハイスペックなPCが要求されるかもしれませんが、使えるならDockerでささっと環境構築しましょう。

PCスペックが足りなければ、クラウドサービスを使う

  • PCを買うよりも安い場合は、VPSなどのクラウドサービスを使う

上記にも書いたように、仮想OSを起動する場合はそれなりにスペックが必要になります。

それだけでなく、昨今のフレームワークは、推奨スペックが高くなっています。

今持っているPCのCPUやメモリのスペックが、公式の推奨スペックに達していない場合は、クラウドサービス(VPS)を使うことを検討しましょう。

例えばAWSのEC2を使えば、1時間あたり数十円~数百円でWindows Server を使うことができます。

使用していないときに電源を落としていれば、EBS(EC2のストレージ)の料金だけしかかかりません。

しばらく使わないのであれば、AMI(イメージファイル)に変換しておけば、もっとEBSの料金は安くなります。

がっつりハイスペックPCを使うのであれば購入を検討するべきかもしれませんが、少し使ってみたい程度であれば、クラウドサービスの方が安くすみます。

本を読んだり、オンラインのプログラミング講座を受講する

  • 公式チュートリアルよりも、本やプログラミング講座の方が分かりやすい
  • しかし、体系的な知識しか得られない

公式のチュートリアルもいいですが、分かりやすさで言えば、本や講座が一番です。

多少お金はかかりますが、もう少し体系的な知識を詳しく知りたいと思ったら、本や講座の受講を考えましょう。

ちなみに私は速習シリーズが好きです。Kindleで500円くらいで、ページ数もそこまで多くなく、必要最低限にまとまっている印象です。

概要を掴むために最初に速習シリーズで勉強して、必要になったら分厚い本を買うようにしています。

Q&Aサイトなどで有識者に質問する

  • ピンポイントで知りたい場合に有効
  • 質問力が重要
  • 「主語」「述語」を正しく省略せずに使う、OSや言語・フレームワークのバージョンの記載、ソースコードの提示を忘れない

本やプログラミング講座で得られるのは、体系的な知識だけです。「ここが分からない」といったピンポイントの知識は得られない可能性があります。

そんなときは、Q&Aサイトなどを活用して、知っている人に質問しましょう。

ピンポイントで疑問が解消できるので、時間がかかりません。

ただし、質問するときは、質問力を磨いておきましょう。

質問したい内容が回答者に理解してもらえなければ、より良い回答が得られません。

質問するときは、「主語」「述語」を正しく省略せずに使う、OSや言語・フレームワークのバージョンの記載、ソースコードの提示を忘れないようにしましょう。

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱