Programming

オススメのプログラミング言語は

こんにちは、うすです。

最近流行っているプログラミングについて興味は持ったけれども

結局なんのプログラミング言語を使えば良いのか

どういう特徴があるのか分からないという方は、多いかと思います。

そういう方のために解説させていただきます。

Python

最近AIなどの話が多いと思いますがAIを動かしているプログラミング言語は、ほとんどがPythonという言語です。

Pythonにはライブラリ(便利道具)が非常に多く、特にAIのライブラリは、あのGoogleが提供しているので

めちゃくちゃ性能が良くてみなさん使っています。TensorlFlowといいます。

ライブラリをいれて、少しいじればAIが出来るそうです。

他にもPythonは、行列計算や分析など計算系のライブラリが豊富なので計算が速いと言われております。

しかし、Pythonはインタプリンタのプログラミング言語なので実行速度は遅いです。

AIの開発言語では、Pythonの他にC++というプログラミング言語も使われています。

C++は、プログラミング言語の最も速いと言われていたC言語の上位互換のようなものです。

機能を足したため多少速さは、落ちてしまったようですが非常に高速です。

Pythonと比べるととても速いです。

しかし、Pythonはとてもコードがわかりやすく有名なプログラミング言語で

C++はプログラミング言語の中では、読みにくい部類に入ります。

なので開発する上で比較すると、次のような状況になります。

Python

コードが読みやすい(開発が速い!)

実行速度が遅い

C++

コードが読みにくい(開発が遅い)

実行速度が速い!

最近は、実行速度よりも開発速度を取ることが多くなってきています。

なぜかというと、実行速度はマシーン自体が高性能になればなるほど速くなるので

最終的には、人間が感じることのできない違いになってしまうからです。

なのでなるべく読みやすく開発しやすいモノを勉強していく方が良いでしょう。

Ruby

Rubyは、日本製のプログラミング言語です。

開発者は、「まつもと ゆきひろ」という方です。

1993年に開発され生み出されたようです(私と同い年♪)。

Rubyは、シンプルでわかりやすく高い生産性を持っています。

Rubyを作った「まつもと ゆきひろ」さんは

「プログラミングを楽しむためにRubyを開発した」と言っております。

それくらいプログラミングで面倒なことが起きないように設計されています。

なので読みやすく非常に開発しやすいです。

さらにすごいのが「Ruby on Rails」の存在です。

Ruby on Rails

Ruby on Railsとは、WEBフレームワークで制約は非常に多いのですが

制約に従えばものすごい速度でWEBアプリを作成してくれます。

このRuby on Railsの活躍により様々なサービスがものすごい速さで進化してきました。

例えば、「Cookpad」、「Gunosy」、「食べログ」です。

他にも様々な企業が導入しています。

その証拠に転職サイトなどを覗いてみてください。

サーバーサイドのお仕事の半分くらいがRuby on Railsを使用しています。

それくらい現在でもとても人気のプログラミング言語です。

Node.js

Node.jsはGoogleの作ったものでChromeに使われているプログラミング言語です。

JavaScriptをサーバーサイドでも使えるようにしたものです。

珍しいのですがサーバーの機能も持っているのでWEBサーバーなしでも単体でWEBサイトなどを構築することもできます。

このNode.jsは少々特殊で特徴としては、「非同期のイベント駆動型のノンブロッキングI/O」というモノです。

通常、マルチタスクが発生した時は、プロセスを分けて実行するものですが

このNode.jsはシングルスレッドでマルチタスクをこなします。仕組みとしては、イベント駆動型なので

何かの処理が発生した時にコールバック関数(処理が終わった後に通知が来るシステム)を採用しており

処理が終わり次第、指定されたコールバックの処理を行います。割り込み処理のようなものです。

この仕組みは、非常に注目されており分散に非常に強いと言われています。

通常は、マルチに作業をこなそうとすればリソースをものすごく食ってしまいとても重くなってしまいます。

しかしこのNode.jsのシステムなら重くなることはありません。

同じような仕組みを採用しているWEBサーバーもとても注目されています。

Nginxです。これも同じように分散に向いているので注目されています。覚えておいて損はないでしょう。

Go

プログラミング言語の中では非常に新しいプログラミング言語です。

Googleによって作られた言語です。

特徴としては、

  • コンパイルの速度が速い
  • 実行速度が速い
  • 並列処理が出来る
  • WEB系も得意

ものすごく有能です。

最近様々な開発に取り入られています。

しかし、それでもまだまだGo言語を使って開発する企業は少ないように思えます。

今学生の方は、ぜひこのGo言語を使ってWEBアプリを作ることをオススメします。

今一番アツイ言語だと思います!!

おまけ

他にも様々な言語はあります。

Nimはスクリプト言語のような記述の仕方でC言語にコンパイルする

コンパイル言語です。実際動くのはC言語のプログラムなので

めちゃくちゃ速く、C言語で書くより最適化されていて速いと言われているほどです。

面白ければ調べてみてください。

インストールとコンパイルで実行するまでは、そこまで難しくないです。

ただドキュメントが圧倒的に足りてないので独学がやりにくいです。

皆さんも自分の大好きなプログラミング言語でプログラミングしてみましょう。

きっと楽しいです。そして、それが仕事になれば最高ですね!