プログラミング言語を学習する際、どの言語から始めればよいのか。
プログラミングのスキルはとても応用の効くスキルである。
プログラムは今や業種を問わず使われており、特にWEBのシステムは様々なプログラムの塊のようなものである。
しかし学習を始める前に疑問が出てくる。
プログラミング言語は色々と存在する。
C言語、C++、C#、Java、javascript、Ruby、PHP、Python、SQLなどなど。
どの言語を学べばよいのか。
と思うかも知れないが、単純な優劣は存在しない。
プログラム言語ごとに特徴があり、目的に合った言語を学ぶことが重要となる。
そこで今回は目的別プログラミング言語の特徴とおすすめの言語について解説する。
この記事を書いている人
記事を読むメリット
目的別プログラミング言語の特徴とおすすめの言語がわかる
【目的別】プログラミング言語の特徴とおすすめの言語
冒頭でも挙げたように、プログラミング言語を学ぶ際は、目的に合った特徴の言語を学ぶことが重要だ。
プログラミングを活かせる目的として大きく以下の4つが考えられる。
プログラミングの目的
これらの目的に合った言語を紹介していく。
WEB開発
WEB開発をするならWEBフレームワークが充実している言語が良い。
メジャーなところとして以下のようなものがある。
Ruby on Railsはフレームワークとしてはかなり年数が経っているものではあるが、今でも使われている。
LaravelはPHPのWEBフレームワークの中では最も勢いのあるものだ。
この2つのどちらかをマスターすれば需要はある。
流行りどころでいえば
このあたりはかなりモダンなWEBアプリケーションフレームワークなので習得できればかなり強力なスキルになる。
しかしjavascriptはデバッグが難しいので敷居は高いかも知れない。
何を選ぶにせよWEBの開発をするのであればプログラミング言語の他にHTML(ページ構造)、CSS(デザイン)、Linux(サーバーで使われるOS)の知識は必要になる。
データ分析、機械学習(AI)
データ分析や機械学習(AI)をしたいのであれば、Python一択だろう。
Pythonが何故おすすめかというと、ライブラリが潤沢だから。
他の言語でもPythonと同じようなことはできる。
しかしPython側には色々な有志がデータ分析や機械学習系のライブラリを提供しており、同じ処理でも1から作らずに済むものが多い。
データ分析には可視化しながらプログラムを書けるJupyterが使えるし、機械学習にはPyTorchが使える。
Pythonと一緒にライブラリの使い方も学ぶと良いだろう。
またデータ分析をするならデータベースのデータを扱う言語のSQLは覚えておく必要がある。
アプリ開発
スマホアプリを開発したいのであればまた別の言語を学ぶ必要がある。
SwiftはiOS用のアプリを作るための言語で、kotlinはAndroidアプリの開発に使える言語である。
C#を使う場合はXamarinやUnityなどを使ってiOS、Androidの両方のクロスプラットフォーム開発ができる。
ただしどちらも完全互換とはいかないので、必ずしもクロスプラットフォーム開発が良いとは言い切れない。
Flutterもクロスプラットフォーム開発ができるし、最近「2」がリリースされたばかりなので良いかもしれない。
米Googleは、モバイルアプリフレームワークの最新版となる「Flutter 2」を、3月3日(現地時間)にリリースした。
「Flutter 2」は、単一のコードベースを使用して、ネイティブアプリをiOS、Android、Windows、macOS、Linux向けに提供できるほか、Chrome、Firefox、Safari、Edge向けWebアプリケーションの提供にも対応している。また、車、テレビ、スマートホームアプライアンスなどへも組み込める。参考:「Flutter 2」リリース、モバイルアプリに限らず、デスクトップ・Webアプリの開発や組み込みも可能に:CodeZine(コードジン)
組み込み機器
アプリケーションではなく、機械を直接制御するプログラムをしたい場合はC言語やC++を使うことになる。
特徴としては軽くて早い。
なのでメモリが小さなデバイスにも載せやすい。
しかし反面、開発者が気をつけなくてはいけないところが多い。
C言語なんかは特にメモリの管理もある程度プログラム側で行う必要があり、間違えるとすぐにエラーになってしまう。
このあたりを習得するとアナログな物理デバイスとデジタルなコンピューターの橋渡しをするプログラムを自作できるようになるので、実世界での応用力が増すだろう。
まとめ
今回はプログラミング言語の特徴とおすすめの言語について解説した。
冒頭でも挙げたように、プログラミング言語を学ぶ際は、目的に合った特徴の言語を学ぶことが重要だ。
WEB開発にはRuby(Rails)、PHP(Laravel)。
データ分析、機械学習(AI)ならPython、SQL。
アプリならSwift、kotlin。
組み込みならC言語。
目的別にこのあたりから始めると良いかと思われる。
とはいえこれも絶対ではない。他の言語で挑戦しても良いし、今後もっとおすすめの言語が登場するかも知れない。
大切なのは、どのような言語があるか調べて、どのような選択肢があるか理解して選ぶと良いだろう。