面白い記事を見つけたので、あらすじを要約しました。
記事はここ:
http://hackingnewstutorials.com/13-best-programming-languages-that-you-need-to-learn-in-2017/
この記事には、前置きとして「なんの目的で学びたい」かを、しっかり考えて欲しいという一言があり、ここはかなり重要だと思います。
会社の新規事業に参加したいから、自分で単純に学ぶ楽しさを感じたいから、誰かに「かっこいい!」と言われたいから。
それによって、学ぶべき言語は大きく左右されるので、まずは、目的から考えて選ぶが大事です。
じゃ、人気者は誰?
さて、どの言語かな〜?という部分に進みます。
記事の著者は、様々なランキングや専門家の声を参考に作ったリストはこれです:
- JavaScript
- Java
- Python
- Elixir
- Rust
- Go
- TypeScript
- PHP
- Ruby on Rails
- C#
- Swift
(ショック〜 私の好きなphpが、結構後ろに^^;)
このリストの中で更に二つのグループに分けられていて、「2017年の人気言語」と「無視できない言語」にラベリングされています。
このラベリングを追加した状態のリストは、こうなります:
- JavaScript 「2017年の人気言語」
- Java 「2017年の人気言語」
- Python 「2017年の人気言語」
- Elixir 「2017年の人気言語」
- Rust 「2017年の人気言語」
- Go 「2017年の人気言語」
- TypeScript 「2017年の人気言語」
- PHP 「無視できない言語」
- Ruby on Rails 「無視できない言語」
- C# 「無視できない言語」
- Swift 「無視できない言語」
こうみると、人気の高い言語の下に、必須読書みたいに、人気はないけど勉強せずにはいられない言語が残っている印象があります。
目的が「開発者になりたい」なら!
このランキング以外に、「フロントエンド開発者になりたかったら」と「バックエンド開発者になりたかったら」という、シンプルな感じで学ぶべき言語が提案されています。2017年にプログラマーを目指すなら!的なざっくりなまとめですが、どこから始めればいいか、となった時、参考になりそうと思ったので、記載します。
フロントエンド開発者になりたかったら
「無視できない言語」として:HTML, CSS
「2017年の人気言語」として:JavaScript, TypeScript
バックエンド開発者になりたかったら
「無視できない言語」として:PHP, Ruby on Rails, C#, Swift
「2017年の人気言語」として:Java, Python, Rust, Elixir, Go
まとめ
記事の最後に、特に若いエンジニアに読んで欲しい文章がありました。私もこれに強く同意です。
It’s NOT about how much you KNOW, but rather what you DO with what you know.
ちょっとかっこよく訳してみると:
_知識_が大事ではなく、その知識を使って_何ができる_かが大事だ。
多くの言語を知ってても、少ない言語を完全にマスターしても、足りないということです。
持っている言語のスキルを使って、何を作れるか、どのぐらい早く身軽に開発できるか、どれぐらい人が読めるコードを書けるか、どれぐらいテスタブルなコードを書けるか、が今の世の中ではかなり大事だと思います。
新しいものを学ぶのも素晴らしいけど、今持っている知識の「適用」の仕方を学ぶのも、大事だなと、最近つくづく思っています。
そのテーマについて、面白い記事や書籍を見つけたら、またここにも書いていきます。