この夏学びたいプログラミング言語10選

一部の都府県が緊急事態宣言下のこの夏、外出を控えて自宅でのんびりしている方も少なくないでしょう。せっかくなので、この機会にプログラミングを学んでみませんか?

ここでは、この夏、学んでおきたいプログラミング言語をご紹介します。参考書籍や、動画のリンクもつけましたので、ぜひ順番に学んでいきましょう。

※ 書籍のアドレスはアフィリエイトリンクです

Table of Contents

    1. HTML Living Standard

    まずは、今やどんな分野でも基礎の知識といえる、HTMLです。ウェブページを構築するのはもちろん、この後紹介する Reactなどのプログラミング言語でも必須の知識となっています。

    HTMLはこれまで、W3Cという標準化団体によって定期的に「勧告」がされ、HTML3.0や HTML5など、バージョン表記がされてきました。しかし、2020年に仕様の策定がブラウザーベンダーが主導する「WHATWG」に移され、バージョン表記をやめて『Living Standard』として、常に最新の仕様がタイムリーにリリースされる形に変わりました。

    すでに、HTMLは知っているという方でも、この機会に改めて確認をしておきましょう。

    2. ECMAScript(JavaScript)

    JavaScriptは、現代のプログラミングにおいて、最も重要な言語といえます。ウェブの技術では、完全に独壇場であることはもちろん、今ではモバイルアプリやデスクトップのアプリケーション開発、サーバー上など、オールマイティに活用できます。

    JavaScriptは、Ecma Internationalという標準化団体によって「ECMAScript」という規格として定められています。ECMA Script 2015(ES6)からは、変数の宣言や関数の利用などに大幅な変更が加えられ、各ブラウザーでも対応が進んでいます。

    古い書き方をしている方も、是非新しい書き方に慣れていきましょう。

    3. React / Next.js

    ウェブの開発において、JavaScriptをそのまま利用するというのはまれで、ライブラリーやフレームワークを利用します。これまで、JavaScriptのライブラリーといえば「jQuery」が定番でした。

    しかし近年、より開発しやすいライブラリーやフレームワークが登場してきています。Vue.jsや Riot.jsなど数多くのライブラリーの中でも、Facebook社を中心に開発された「React」が海外を中心に人気を集めています。

    特に、Reactベースのフレームワークである「Next.js」と組み合わせて使われることが多く、近年流行している「ヘッドレスCMS」の開発などに活用されています。

    【言葉】ライブラリーとフレームワーク

    ライブラリーとは、HTMLファイルなどに取り込んで使うもので、後から機能などを追加して使います。小規模なページの制作などに適しています。

    対してフレームワークは骨組みとして使われ、はじめからフレームワークを利用して、その上にウェブサイトやシステムを丸ごと構築します。大規模なシステムの開発に適しています。

    ただ近年は、ライブラリーとフレームワークという言葉の定義は曖昧になり、どちらの意味にも使われることがあります。

    【言葉】ヘッドレスCMS

    従来のコンテンツ管理システム(CMS)は、管理部分と表示部分を両方担っていました。しかし、サーバー上で動作する CMSは処理に時間がかかってしまうため、表示速度のネックになっていました。

    そこで、管理部分と表示部分で処理を分け、管理部分だけに特化したのが「ヘッドレスCMS」です。代表的なサービスには、Contentfulや microCMSなどがあります。

    利用には、表示部分を JavaScriptなどで実装するのが必要で、そのためのフレームワークである「Gatsby」などもあります。

    4. TypeScript

    JavaScriptは手軽な反面、「型」という概念がないというデメリットがあります。初学者のうちは、型の重要性は理解しにくいですが、チームでプログラミング開発をする場合や、大規模な開発をする場合は型の有無は死活問題です。

    そこで、Microsoftが開発したJavaScriptの互換言語(スーパーセットといいます)が TypeScriptです。変数やクラスに型をつけることができ、厳格なエラーチェックが行えます。作り終わったら、JavaScriptに変換できるので、従来のブラウザーでも動作可能。今では、TypeScriptを開発に採用している現場も少なくありません。

    現在では、JavaScriptの学習の代わりに TypeScriptから始めることもあります。

    5. GraphQL

    JavaScriptでアプリケーションを作成する際、必須になるのがサーバーとのデータのやり取りです。そこでは「API(Application Programming Interface)」という窓口を通じてやりとりをするのですが、ここで一般的に利用されているのは「REST API」と呼ばれる技術でした。

    しかし、REST APIには無駄のデータのやり取りが多く、効率が悪かったため Facebookらによって新しいインタフェースである「GraphQL」が開発されました。

    簡単なフォーマットで問い合わせ(Query)の書式を作成し、サーバーに問い合わせをすれば適切なデータが必要な量だけ取得でき、効率よく開発することができます。

    ヘッドレスCMSや、SPA(Single Page Application)の開発などに今後必須となっていくので、この機会に学習しておくとよいでしょう。

    6. PHP / WordPress

    従来型CMSの代表として揺るぎないのがWordPress。ヘッドレスCMSが台頭していますが、WordPressはヘッドレスCMSとしても利用できるため、まだまだ人気が衰えることはありません。

    WordPressの開発言語の PHPも、最新バージョンの 8となり、懸案であった動作速度なども劇的に改善しており、こちらも人気は衰えません。是非、押さえておきたい言語といえます。

    7. Dart / Flutter

    スマホアプリの開発といえば、これまでは iOSなら Swift、Androidなら Kotlinと別々の言語が必要でした。そのため、マルチデバイスのアプリを開発するには、かなりの労力がかかりました。

    そこで、Googleが開発しているのがマルチデバイス技術の Flutterです。独自の Dartという言語を使うものの、JavaScriptに似た構文で開発ができ、iOS/Android両対応のアプリを開発できます。さらには、ウェブやデスクトップアプリなどの開発なども可能なように開発が進められており、今後非常に注目の技術といえます。

    8. Python

    今、最も人気のある言語といえば Pythonがあげられます。学習しやすい上に、非常に強力で人工知能の開発にも活用されています。ウェブ上でも Djangoというフレームワークで活用でき、手軽な開発ができます。

    今からプログラミング言語を学習したいという場合には、Pythonからスタートするとスムーズでしょう。

    9. Bubble

    「ノーコード」という言葉が流行しています。プログラミングで記述する「コード」を必要としないため「No Code」と呼ばれ、ノーコードツールを利用してビジネスアプリや、簡単なスマホアプリを開発できるというもの。

    Googleや Amazonなども続々とノーコードツールに参入していて、今年以降より一般的になっていくでしょう。なかでも、先駆者として開発されているのが「Bubble」と「Adalo」です。

    デザイン性に優れた Adaloと、本格的な開発が行える Bubbleという住み分けがありますが、しっかり学習するなら Bubbleがおすすめです。

    10. WebFlow

    ウェブサイトの制作でのノーコードの例外ではありません。ウェブサイトの制作には古くから、「オーサリングツール」ト呼ばれるツールで HTMLや CSSを意識することなくページを制作するというスタイルは存在していましたが、なかなか思うようなデザインができずに歯がゆい思いをすることもありました。

    しかし近年のノーコードツールの発展はめざましく、Wixや Jimdo、国産では STUDIOなど、デザイン性の高いページを制作できるツールが登場してきました。

    なかでも、WebFlowは英語インターフェイスしかないものの、プロでも唸るほどの高機能を誇っていて、HTMLや CSSを手でしたのと同じようなデザイン性の高いページを作ることができます。

    その分、専門的な知識や難解のツールになれる必要がありますが、学習する価値は十分にあります。

    まとめ

    いかがだったでしょうか? さすがにこの夏に全部を学習するのは難しいと思いますが、まずは HTML/JavaScript/React位までを目標に学習を始め、その後ノーコードに行くか、WordPressに行くか、はたまた JavaScriptを極めるかなど、自分の将来に合わせて学習するものを選んでみて頂けると幸いです。

    是非、コツコツと学習を進めていきましょう。私の YouTubeでも、常に学習に役立つ動画をアップしていますので、もしよろしければ是非ともチャンネル登録をして頂けると幸いです。