2016年3月4日金曜日

【コラム】どのプログラム言語から学ぶべきか。

  • 公開日:2016年03月04日

記事概要

コラム記事。


facebookのCEOザッカーバークはphpでfacebookを開発した。

もうすぐ4月になる。
夢と希望を胸に抱いた(?)多くの若者達が、新社会人としてデビューする。

君がITエンジニアとして社会人デビューするのであれば、プログラミングを学ぶことになるはずだ。また、新入社員でなくても4月から心機一転、プログラミングを学ぼうと思っている考えている人も大勢いるだろう。

もしそうであれば、はじめてのプログラミングにどの言語を学習しようか迷っているかもしれない。
そもそも、今からはじめてのプログラミングを勉強する場合、どの言語を選択するのが良いのだろうか。

そんなわけで、今回は、はじめて学ぶプログラミング言語について言及しようと思う。

はじめて学ぶ言語とは

君がどんなプログラミング言語を勉強するかはわからない。しかし、確実なことが一つある。君がはじめて覚えた言語が、プログラミング的な思考をするベースとなる。

君ははじめて習得したプログラミング言語を用いて、プログラミングの文法を覚え、アルゴリズムを覚え、デザインパターンを覚え、さらにはテクノロジー全般の知識を広げていくことになる。そこで得ていく知識と技術は、君の生涯の宝となり、人生の進路をも形成していく。

このコラムを読んでいる君はおそらく日本人だろう。であれば、君の思考の基本となっているのは日本語だ。
はじめて習得したプログラミング言語は、ITの世界における君の日本語となる。

プログラミング言語の学習は、最初のプログラミング言語の学習がもっとも大変である。海外の言葉の学習と同じだ。そして、一度習得してしまえば、他の言語を学ぶのはそんなに難しくはない。
だからこそ、最初はひとつの言語に集中して深く学習するのをオススメする。逆に、全てのプログラミング言語を浅く学んでも、あまり役には立たない。

だから、君と最初のプログラミング言語は付き合いが長くなる。なので、あなたが一番好きな(興味のある)言語を選ぶべきだ。

もしかしたら、君が好きな言語は仕事として必要な言語とは別かもしれない。ならば、仕事の後に自宅に帰ってその言語を利用してプログラミングするべきだ。もしくはツールの作成に利用するべきだ。

「続けること」「好きになること」。

この2点こそが、君を素晴らしい技術者へと変化させるのである。

とはいえ、選択肢がないと迷ってしまうかもしれない。なので、ここでは個人的にお勧めの言語を3つ選んでみた。

Java

君がエンジニアとしてずっとやっていくつもりならjavaを選ぼう。この世界はCとJavaが発展させたと言っても過言ではない。CとJavaはプログラミングの基礎である。
とはいえ、WEB開発、スマホアプリ開発においては、C言語は触れる機会が少ないだろう。なので、今からならjavaを選択するのが良いだろう。

しかし、もしかしたら君のメンターはC言語を勉強することを激しく勧めてくるかもしれない。しかし、WEB開発やスマホアプリ開発が君の仕事なら、その提案は断ってよい。
C言語は必要になってから学習すればよい。長くIT業界でやっていれば、WEB開発エンジニアでもCに触れる機会が必ず出てくる。その時の君は、すでに大きな技術が備わっているはずだ。その時、必要な箇所のみを学習すればよい。

また、これからjavaを学習するならandroidの開発を中心に据えるとよいだろう。androidのフレームワークは特殊だが、javaを学習するには優れたフレームワークだ。android内のコードには、先人の様々な英知が詰まっている。コードを書いて書いて、書きまくると良い。

一方で、WEBアプリをjavaで作ろうとしているなら、やめるべきだ。WEBアプリを作るなら、RubyかPythonを選ぼう。
今の時代にjavaでWEBアプリを作るのは効率が悪い。大規模なWEBアプリでなければ、javaの力の恩恵を受けることは少ないだろう。

Ruby

君がWEBアプリを作って世界で勝負をしたいと考えているならRubyを選ぼう。RubyのデファクトフレームワークであるRuby on Railsは君をその舞台に連れて行ってくれる。
しかし、同時に、Ruby on Railsは君の心を何度も打ち砕こうとするだろう。なかなか思い描いたようにWEBアプリは作れないかもしれない。その時は、仕様がレールに沿っているかも考えよう。Ruby on Railsを使いこなすには、それなりの知識と技術を身に着ける必要がある。

また、WEBアプリを作り終えると、すぐにバージョンアップしたRuby on Railsが登場するかもしれない。君は更新作業を開始し、またエラーと格闘しないといけない。バージョンアップを放置すれば、そのWEBアプリは誰も触れることのできないパンドラの箱のようなWEBアプリになる。

だが、粘り強くバージョンアップを続けていけば、時代にマッチした素敵なWEBアプリを顧客に提供し続けることができる。
僕も今は、メインでRuby(Ruby on Rails)を使っている。

Python

最後の言語はpythonだ。もし君が機械学習や人工知能の仕事に就きたいのなら、pythonを選択することをおすすめする。pythonは素晴らしい言語だ。計算をするのに優れたライブラリが用意されている。

また、君がなにげなく利用しているyoutubeもpythonで作成されている。pinterestも同様だ。WEBアプリを作成するにも効率が良い言語である。まさに万能の言語だ。

一方で、pythonの欠点は日本での需要がほとんどないことだ。当然、日本語のドキュメントも限られている。pythonを使うのに英語ができないのは、竹槍でB29と対峙するのと同じだ。機械学習や人工知能の学習も英語での学習が基本となる。

まとめ

現状でのオススメ言語は、「Java」「Ruby」「Python」とした。
もちろん、これらの言語が嫌だという人もいるだろう。その場合は、自分の好きな言語を学習すると良い。ザッカーバークはphpで世界最大のSNSとなるfacebookを開発した。

大切なのは、プログラムで何をするかであり、プログラム言語そのものではない。プロジェクトに応じてプログラム言語を変えることは日常茶飯事だ。
英語圏なら英語を使い、中国なら北京語を使い、日本であれば日本語を使うのが当たり前だ。
日本(ruby)で英語(java)を使う必要はない。
システムでも同様で、そのときそのときに応じた言語を使えばよいと思う。

せっかくプログラム言語を学ぶのなら、長く続けて欲しい。
そして、君が世界の生活をより豊かにするようなシステムを作りだすことを期待している。
それが可能なのが、プログラム技術である。

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...