どーも、sironecoです。
2019年を迎え、新規一転、プログラミング言語を習得と思っている方におすすめの言語をお届けします!
せっかく勉強するなら、自身のキャリアのステップアップに役立てたいですよね?
今回は、#SHIFTの記事からピックアップした、2019年に習得すべき3つのプログラミング言語をご紹介します。
sironecoも開発経験ありますが、知っている言語もあれば、知らない言語もあります(笑)
どんな言語達なのか、早速みていきましょう!
まずは安定のJavaScript
記事にありますが、JavaScriptは、現場で利用されている言語のスカウト件数で1位を獲得しています。
また、調査企業RedMonkの発表した2018年1月期プログラミング言語ランキング(外部リンク)でも、2017年と2018年でJavaScriptが1位を獲得しています。
これは案件が継続で豊富ということで、JavaScriptを習得しておくと、食いっぱぐれないと言えるかもしれません。
JavaScriptはどこで使われているのか?
JavaScriptは、Webブラウザ上で動作し、動的なWebサイトの構築で主に利用されます。
ブログやWebサイトでは非常に多く使われていて、このブログでも大活躍している言語です。
Webサイトでは、ショッピングサイトなどで電話番号欄にひらがなを入力すると、「半角英数字で入力してください」とメッセージが表示されることがあります。
この入力文字の種類をチェックしているのが、JavaScriptなのです。
また、ブログなどで、メニューボタンを押下するとメニューの一覧が表示されるなどの機能もJavaScriptが実現しています。
JavaとJavaScriptは何が違うの?
名前にJavaが付いていますが基本的には別物です。
Oracleによると、Javaはオブジェクト指向プログラミング言語であるのに対し、JavaScriptは、オブジェクト指向スクリプト言語となります。
スクリプト言語の大半は、実装したコードをコンパイル不要で動かせるため、気軽に使うことが可能です。
その一方、Javaはコンパイルが必要となるため、作成したプログラムを動かすには、一手間必要となります。
JavaScriptの実装環境と特徴とは?
スクリプト言語であるJavaScriptは、Webブラウザとテキストエディタ(メモ帳)があれば実装可能です。
基本的には、他の言語と同様のため割愛しますが、変数のデータ型定義が不要なのは大きな特徴です。
データ型の設計が不要だと設計時間が短縮されるため、処理のロジック検討に時間を割くことが可能ですね。
MozillaがJavaScript入門者向けにチュートリアルなども提供しているので、興味ある方は、ぜひ挑戦してみてください。
Javaの後を継ぐ!? 大注目のScala
Scalaが設計されたのが2001年とのことで、比較的新しい言語です。
そのため、技術者が少なく、スカウト金額もランキングで1位を獲得しています。
最近では、サイバーエージェントアドテクスタジオやドワンゴなど、日本でも知名度の高い企業の導入事例が増え始め、注目度が高くなってきています。
Scalaの使われているところはどこ?
Webサービスのサーバサイド言語として利用されることが多いです。
例えば、先に述べたサイバーエージェントアドテクスタジオでは、スマートフォンに特化ししたプロダクトである、AMoAD(広告配信ネットワーク)やDynalyst(アプリケーション向けダイナミックリターゲティング広告)で、Scalaが使用されています。
ドワンゴではニコニコ生放送のプログラムをScalaで再実装した実績があります。
その他の導入事例は、日本Scalaユーザーズグループの採用事例(国内)(外部リンク)をご覧ください。
ScalaとJavaはどんな関係なのか?
ScalaはJavaプラットフォーム上で動作し、JavaとAPIの相互利用が可能です。
Javaでのライブラリインポート時とあまり差異のない記述でScalaでJavaライブラリが利用できるため、Javaエンジニアにとっても新規習得しやすい言語であると言えます。
また、Javaとの互換性を第一に考えられた言語であるため、JavaからScalaへの移行を容易に行うこともできます。
Scalaの実装方法は?
Scalaを開発するためには、IntelliJ IDEAと呼ばれる統合開発環境(IDE)とJavaが必要です。
IntelliJ IDEAでは、商用利用向けのUltimateとオープンソースのCommunityが、用意されています。
Ultimateは機能が豊富にあり、開発効率が向上しますが、有料のため、まずはCommunity版で、Scalaってどんな使い勝手なのか調べてみると良いでしょう。
Scalaは、オブジェクト指向と関数型プログラミングを併せ持つプログラミング言語であることが大きな特徴です。
主な特徴は以下の通り。
- 簡潔なコード記載が可能
- 分散・並列処理が可能
- 関数もオブジェクトとして扱う
簡潔なコード記載により、Javaと比べるとコード量が半分程度に済むため、コードのメンテナンスがしやすくなるのが、大きな魅力の一つではないでしょうか。
人気急上昇!GoogleのGo!
スカウト金額ランキング2位のGoを紹介します。
こちらは、Googleのエンジニアにより開発され、2012年にリリースされた言語です。
スカウト件数のランキングでは7位ですが、プログラミング技術知識共有サイトStack Overflowの開発者調査2018内で、最も愛されるプログラミング言語の5位となっています。
今後、ますます人気になることが予想される言語のため、今年ぜひチャレンジしたいですね!
Goはどこで使用されているのか?
主にミドルウェアやAPIの開発で利用されています。
例えば、ヤフー株式会社の分散オブジェクトストレージDragonのAPIノードとストレージノード、株式会社エウレカのマッチングサービスであるPairsのWEB APIなどで採用されています。
株式会社Nagisaが提供する無料漫画アプリのマンガZEROでは、PHPからGOへの切り替えが行われており、Goで開発したWebAPIを運用してきたことがオフィシャルブログ(外部リンク)で紹介されています。
Goが人気急上昇の理由は?
Go Cloudの登場により、クラウドアプリを開発しやすくなったからではないかとsironecoは考えています。
今までのGoでは、クラウドサービスを利用したい場合、開発者自身がライブラリを作成する必要がありました。
しかし、Go Cloudにより、クラウドサービスの利用時のライブラリ作成が基本的に不要となりるため、クラウド移行がトレンドとなっている昨今、Goの人気に火がついたと考えらます。
Goはどのように開発すれば良いか?
公式サイトからパッケージをダウンロード、インストールし、Visual Studio CodeやAtomなどのIDEでGoを使える設定を行えば開発可能です。
Goの特徴としては、主に以下の通りです。
- クロスコンパイルが可能
- 並列処理が可能
- コンパイル時間が短い
- 構文がシンプルで覚えやすい
コンパイル時間が短いというのは、非常に開発者にとってありがたい特徴です。
業務などで利用するプログラムは非常に膨大な量のソースコードで記載されるため、コンパイルにも時間を要してしまいます。
スピードが命なIT業界では、コンパイルにあまり時間をかけたくないのが本音のため、その時間が短く済むGoは、魅力的なプログラム言語であること間違いなしと思います。
まとめ
2019年習得すべきプログラミング言語を3種類ご紹介してきましたが、いかがだったでしょうか。
私が開発をしていた頃は、Javaが一番だった印象でしたが、Webやクラウドへの需要が高まった今日では、様々なプログラミング言語が登場し、人気を得ていることに驚きました。
もちろん、昔からある言語の需要がなくなる訳ではありませんが、プログラミング言語のトレンドは、時代の流れに応じて、今後も移り変わっていくでしょう。
エンジニアとしてのスキルアップの参考に、この記事が貢献できれば幸いです。
以上、ローストビーフをもぐもぐするsironecoでした!