Article

ブログ

2015/08/28

selfreeを支える技術~プログラミング言語編~

こんにちは、本間です。

日頃から技術的な内容をselfreeブログにてご紹介させていただいておりますが、ターゲットを絞りすぎた内容であるため、よくわからないというお言葉をいただきました。そこで、今回はselfreeで扱う技術について、ITの世界にあまり詳しくない方でもわかるよう解説したいと思います。

第一回目はもっとも基本的なプログラミング言語ついて。それぞれの名称と概要について簡単に解説しますが、より詳細はWikipediaなどを参考にしてください。

プログラミング言語

ITの世界で必須とも言えるものです。プログラミングをすることで、コンピュータに指示を出すことができます。これを書かないとWebアプリもスマホアプリも動くものは何も作れません。

プログラミング言語にはあらゆる種類があります。エンジニアの間では、どの言語を選択すべきなのか、どの言語が良いのかなど日々議論が繰り返されています。しかしながら、それぞれの言語には得意分野があるため、作りたいものや環境に応じてプログラミング言語を切り替える、という選択が最も正しい考え方だと思います。

selfreeでは、主に以下の言語を利用しております。

  • Ruby
  • JavaScript
  • Java
  • Swift

Ruby

Ruby は国産言語でありながら、世界中に広くコミュニティが広がっている、とても人気なプログラミング言語です。フレームワーク編で紹介する Ruby on Rails の登場により、主にWebアプリ開発者を中心に広がっています。

私は特にRubyの書きやすい構文や、Ruby コミュニティの活発さが気に入っています。私の得意度合いも影響していますが、Rubyで書けば他の言語よりも速く作りたいものを実現できます。

その反面、Rubyの処理速度はあまり速くありません。そのため、高速な処理を必要とするものには向きません。例えばたくさんのアクセス数を持つWebサービスなどではRubyはあまり向いていないと言えます。

弊社はまだまだ小さな規模でのサービス開発であるため、いかに開発スピードを高めてユーザーの喜んでくれる機能を実装できるか、が大事になってきます。システム処理のスピードはそこまで重要ではないため、Rubyは私たちにとって理想とも言えるプログラミング言語です。

Webサービスで使う言語としては他に PHP, Python, Java などが多く、最近は ScalaやJavaScript, Go なども頭角を現しています。

JavaScript

JavaScriptは基本的にはブラウザ上で動く言語です。HTML/CSS/JavaScriptという3ペアでWebページは構成されています。HTMLは文書を表す言語、CSSは見た目を表す言語、JavaScriptは動きを表す言語、となります。

しかし、最近はNode.jsと呼ばれるサーバー側で動くJavaScriptも人気で、これを使えばブラウザで使う言語も、サーバー側で使う言語もJavaScriptということで効率良く開発できると話題です。

selfreeではブラウザ側で動くJavaScriptはもちろんんこと、Node.jsも一部で利用しております。

Java

プログラミング言語において最も勘違いされやすいのは、JavaとJavaScriptが同じもの、であるという認識です。これはプログラミング言語、という括りでは同じですが生まれた経緯や言語の書き方、使われる場所など全く異なります。

JavaはAndroidを始めとしたデバイス上で動くもの、Webサーバー、一般的なソフトウェアなどあらゆる場面で利用されます。こちらを利用しているプログラマーはとても多いです。

弊社ではAndroidアプリを作るときにJavaを利用しております。

Swift

Swift は ずばり iOSアプリを開発するための言語です。以前はiOSアプリを作るにはObjective-Cと呼ばれる言語を習得する必要がありましたが、今はこのAppleの新しいプログラミング言語であるSwiftが主流となってきております。

selfreeではiOSアプリ開発でSwiftを利用しております。

まとめ

いろいろなプログラミング言語を初めての人でもわかるように分類してみました。これだけでもプログラマーは勉強しなければならないことがたくさんあることがお分かりいただけたかと思います。しかし、一つの言語をしっかりと学べば、あとは違いを知るだけでいいので大丈夫です。外国語も同じですね。

次回はプログラミング言語の上で動く、フレームワークについて解説していきたいと思います。