未経験・初心者におすすめのプログラム言語について解説していきます。
まずは、プログラム言語ランキングを見てみましょう。
世界で使用されているプログラム言語
どのプログラム言語が最近のトレンドかを見るサイトとして、
TIOBE社というところが毎月ランキングを発表しています。
引用:TIOBE
こちらのTOP20をみてみると、IT経験者でないとわからないと思いますが、
- 過去に流行した言語
- 現在急上昇している言語
- メインに使用している言語についてくる、サブ言語(SQL系)
が混在しています。
この中で日本でのトレンドと
未経験者向けプログラム言語について解説していきます。
なぜ過去の言語と急上昇の言語が混在しているの?
システムは古いもので何十年も前から現在でも稼働しているものもあります。
銀行などの大企業では古くからシステムを使用しており、今でも過去のプログラム言語でシステムの改修をおこなっていたります。
しかし、新しい言語の方が便利な面もあるので、次期システムとして新言語で再開発を検討しているところが多いです。
大規模システムだと5年前後の開発期間が必要になるので、古いシステムを稼働させながら時期システムへと切り替えを行うため、過去の言語と新しい言語が上位にランキングされます。
これからプログラム言語を習得するなら、切り替わったシステムを開発したほうが働き続けるという点でも有利になるので、新しい言語を習得したほうが良いでしょう。
Java
引用:https://www.java.com/ja/about/
JavaはWeb、アプリケーション、組み込み系など、どの環境でも動作する万能な言語です。
近年のプログラム言語は「オブジェクト指向」というのが基本となっており、この「オブジェく指向」開発を浸透させた立役者になります。
Javaの特徴
Javaはどの場所、この環境でも動くプログラムをコンセプトに生まれたので、業務システムからWebシステム、そして組み込み系とどの分野でも使用されています。
また「オブジェクト指向」をもっとも広めた言語です。
Androidのスマホアプリは基本がJavaとなっているので、スマホアプリを作成したい場合はJava言語を学習する事をおすすめします。また現在のプログラム言語は、Javaをベースにバージョンアップなり、開発されています。
Javaの習得のしやすさ
Javaは様々な分野で使われいるため、サーバーサイドプログラム、サーブレットプログラムと多岐にわたるので、難易度が高めとなります。
しかし、普及率も高いので、書籍など情報は集めやすいです。
Javaを習得すると、「オブジェクト指向」の基本から、応用まで身につけることができます。また様々なWebシステム、スマホアプリから、業務システムと広く使用されています。
そのため需要が多く就職に有利になる言語となります。
PHP
引用:http://php.net/download-logos.php
PHPは、Web開発でよく使用されています。
PHPの特徴
PHPの歴史は古いのですが、Javaの人気がでた頃からバージョンアップを繰り返し、「オブオブジェクト指向」を取り入れるようになりました。
今では、小規模な開発から、大規模開発まで利用されるようになっています。
Javaを意識してバージョンアップをしているので、より扱いやすくなっており、習得しやすい言語になります。
PHPの習得のしやすさ
多くのWebシステムで使用されており、個人でも簡単に開発環境や、サーバーをレンタルしてWebサイトを公開することができるので、未経験・初心者にはおすすめです。
またこちらも普及している言語なので、情報は集めやすいです。
このサイトもphpをベースとしたWordPressで作成しています。
Ruby
引用:https://www.ruby-lang.org/ja/
RubyはTIOBE上位ランキングの中で唯一日本人が開発したプログラミング言語です。
まつもとゆきひろ氏が開発したプログラム言語です。ドキュメントなどが日本語ファーストで用意されており学習しやすいと言えます。
Rubyの特徴
Web系の開発が多いのですが、近年ではIot分野での開発も意識されています。
IPA(情報処理推進機構)も国産言語ということで意識をしています。
IPA-Ruby https://www.ipa.go.jp/osc/ruby/index.html
普及という観点でみると、Java、PHPには及ばないですが、注目されている言語となります。
Rubyの学習のしやすさ
Rudyでの求人も増えてきていますが、まだこれからという段階となります。
Rubyも頻繁にバージョンアップを繰り返しており、Java、PHPよりも少ないコードでシステムを開発することができます。
Rubyの開発者、まつもとゆきひろ氏が監修等で関わっている書籍が多くあります。
日本語でカンファレンスも開かれています。
RubyWorld Conference 2018
python
引用:https://www.python.org/community/logos/
海外でのシェアが大きかったのですが、近年、日本でも利用者が増えてきました。
AI分野での利用が期待されています。
Pythonの特徴
Rubyのように、文法が簡略化されており、短いコードで開発できる言語となります、ランキングでも上位に食い込んできており、Webシステム、人工知能の分野でも活躍しています。
習得しやすい言語ですが、まだ浸透しきっていないのが現状です。
Pythonの学習のしやすさ
Pyhonはプログラミング言語の中でも習得しやすい言語となります。
求人情報では、ほとんど見たことがありません。
とりあえず、プログラム言語をはじめたい方に向いています。
C言語
C言語開発の経緯 https://www.bell-labs.com/usr/dmr/www/chist.html
C言語は歴史が古くまた、現在でも組み込み系で使われている言語となります。
C言語の特徴
C言語は現在のプログラム言語のベースと言えます。
現在主流の言語では、あまり意識しないメモリの管理などを深い部分を意識して開発する必要があります。
これまで紹介した言語とは異なり、オブジェクト指向言語でありません。
手続き型言語となり、未経験者向きの言語でないです。
(私はC言語を学校で習いましたが、留年しそうになった思い出のある言語です)
C言語の習得のしやすさ
習得するとメモリの管理などを深い部分を意識してプログラムを作成することができるようになります。(現在のプログラムは、この部分を自動でやってくれます)
組込み系はJavaでも開発ができますが、限られた容量内にコードを書かないといけないため、C言語を現在でもC言語を採用しているところが多いです。
専門性の高い言語といえ、未経験者には難易度が高いです。
終わりに
代表的なプログラム言語について解説してきました。
このほかにランキングにあるSQLはデータベースを操作する言語ですのでどこでも必要になります。
またJavascriptは主にWebシステムで使用されるので、Webエンジニアを目指すのであれば必要になります。
ここで紹介したプログラム言語のサブ言語と考えてよいです。
どのプログラム言語を習得するには、まずどの職種のエンジニアになるのかを考えて選択したほうが良いでしょう。
スマホアプリエンジニアを希望するのであれば、androidアプリだけでなく、iphoneアプリも意識したほうが良いです。
iphoneアプリは、swift、Objective-Cで開発します。(macで開発することになります)
未経験者・初心者の人は、一つのプログラム言語に絞って、習得したほうが良いです。
オブジェクト指向言語がメインになるので、一旦習得してしまうと、他の言語も学習しやすくなります。