プログラミング言語を勉強をするぞ!と決めても、目的がなかったら何から勉強していけばいいのかわかりません。モチベーションが上がらない状態だと、プログラミングの勉強は途中で挫折してしまうのがオチです。

初めてプログラミングを学ぼうとしている方なら、なおさらどの言語を使ったらよいのか分からなかったりもします。そこで目的別形式でどの言語がオススメなのか紹介していきます。

私の主観によるものが大半なので、参考程度に読んで下されば幸いです。
また、人気が高かったり、就職に有利なプログラミング言語を優先してますので、あしからず。

スポンサードリンク

Webサイトを構築したい

今やWEBがない生活なんて考えられない!というくらいネット社会になっています。WEB(ネット)プログラミングを覚えればWEB上で情報を管理したり、商品販売システムなんかも開発できちゃいます。WEBならOSに関係なくクロスプラットフォームで構築できますし、大衆に公開するのが容易です。WEB系プログラミング経験者の需要は高く転職先も多いです。

WEBサイト構築のため、デザイン部分であるHTML形式のファイル構造は少し知っておく必要があります。なのでブラウザに表示されるデザイン部分のHTMLを学ぶことは避けられません。スマートフォンが流行りだしてからHTML5(バージョン)が主流になりつつあります。

サーバサイド(サーバ側の処理)

サーバがWindowsや社内業務システムなら情報量が多いASP.NET(C#,VB.NET)がオススメです。

大規模WebシステムならJavaが選ばれることが多いです。Javaが選ばれる理由は、OSに依存せず、Linux上でも動作する点があります。

個人サイトや小規模サイトを手っ取り早く構築したいなら、RubyPHPですかね。このようなPHPやRubyなどのスクリプト系言語(インタプリタ)は言語仕様が簡単で学習時間が短時間で済むメリットがあります。

話がそれますが、
インタプリタ型とは、すべてのソースを機械語に翻訳し実行バイナリファイルにするコンパイル型ではなく、一文づつ翻訳され実行されていきます。コンパイル型より動作が遅いイメージがありますが、最近はハードウェアのスペックも上がり昔よりかは気になりません。

ブラウザ上でカッコイイ表示がしたい(フロントエンド)

ブラウザ上で表示に動きをつけたり、サーバと通信を行うことが出来るのはJavaScriptです。ちなみに、Javaと名前が似ていますが全くの別物です。また、スクリプト系を覚えたいならJavaScriptが一押しです。

Windowsデスクトップアプリ

業務システムやツール類の開発を目的とするなら、C#またはVB.Net(.NET Framework)がよいと思います。また、.NETは、C/C++などで画面を作るより生産性に優れています。特殊なコントロールやデータベース接続のライブラリは非常に豊富です。デスクトップアプリは、ブラウザでは難しい処理やスタンドアローン環境で動作させるには最適です。

オフィスの作業を自動化

毎日のオフィスソフトの作業を自動化するとしたらマクロです。
会社の事務現場ではマクロが使える人は、重宝されます。
マイクロソフトのVBA(Visual Basic Application)を覚えるのがいいですが、Pythonがオフィスソフト全般で使えるようになるとPythonにシェアが奪われそうな予感です。

VBとは、Visual Basicの略で初心者でもわかりやすい言語とされています。その手軽さ故にソースコードが見づらくなると批判されますが、言語が人間に分かりやすくプログラミング入門に適しているのも事実です。また、スパゲティプログラムになるのはコードを記述するその人次第だと私は思います。

オペレーティングシステム(WindosやLinux)処理をマクロ化したい

オフィスのマクロに似ていますが、ファイルのバックアップから決まった時間に別アプリケーションを起動させるなど、OSに関わる操作をするときに使います。プログラムというか、コマンドいたすら書いていけばできます。

Windows

VBScriptまたはバッチコマンドファイルで構築することが多いです。

Linux

Shellスクリプトとbashシェルスクリプトなどがあります。

スマートフォンアプリ

今は数多くの便利なスマートフォンアプリが出回っていますね。個人でも自由にアプリ開発できます。
iOS(apple iPhone)ならswift。androidならJava。WindowsユニバーサルアプリならC#です。

因みにiOSアプリを一般公開しようとすると年会費がかかる場合があります。
しかし、日本人向けにスマホアプリを作るならiPhoneアプリは必ず検討したいところです。

制御系やIoTやゲーム

デバイスの末端の制御開発ならC/C++言語を勉強したいところです。
ゲーム(描画)に関してC#の書籍が多いです。

人工知能(AI)やディープラーニング

情報が少ないですが、Pythonがライブラリの多さで強みを見せています。これから期待される分野なので就職に有利になるかもしれません。

特に何も目的がない

そんな場合は、すべての言語の参考になってるC言語がよいかもしれません。しかし、C言語は、人によってポインタで挫折してしまう傾向がありますので、流行りについて行きたい人は、今人気のPhythonを覚えて色々な言語にチャレンジするのもいいかもしれません。私個人は、C#かJavaなんかでオブジェクト指向を体感するのをオススメしてます。

1つ目の言語を覚えるのは大変ですが、1つをある程度覚えると他の言語を覚えるのは短時間で済むと思います。結局どの言語もお作法があるだけで、基本は似ています

プログラマー目線で書きましたが、あなたの背中を押せたなら光栄です。