エンジニアに聞きました「いろいろなプログラミング言語、それぞれの特徴は?」

blog20160707

皆さん、こんにちは。ご無沙汰しております。
今回は、当社のエンジニアに「プログラミング言語の特徴」について聞いてみましたのでご紹介します。

当社は、特定の開発言語や動作環境に限らず、様々なアプリを開発します。どの言語をどんなアプリに使うのか、それぞれどんな特徴があるのかということが気になる方もいらっしゃるのではないかと思います。これから新たにプログラミングをやろうと思っている方にも、何かの参考になるかもしれません。(なお、ここでご紹介する情報は、当社社員の個人の見解であることをご了承ください。)

C#
 「コーディングしやすい」
 「コードの書きやすさと実現できることのバランスが取れている」
 「.NET系やるなら知っておいた方がいい」
 「世間的にVB.NETに比べて開発者の単価が高いとの噂」
当社の社員の中では、C#の評判は高いようです。今回のアンケートでは一番人気でした。

C,C++
 「なんか色々できるが、できすぎて、コードがお察しください状態になる」
 「コーディングする時に細かいことをしようとすると一番便利だけど、一番面倒くさい言語」
当社はアプリ開発が大半ですが、組み込み系の仕事も少しだけあります。組み込み系の開発ではC言語を使っています。

COBOL
 「数値計算に強い」
 「数字の桁数を多く持てるため、金額の計算に向いている」
 「新規開発はないが勘定系では今なお現役という生きた化石」
私は、新人研修で初めてCOBOLを勉強して、入社後2年くらいはCOBOLを使った開発に携わりました。今では、研修でも勉強はしませんし、年々COBOLを使う仕事も、使えるエンジニアも減っています。たまーーに、COBOLの仕事があると駆り出されたりすることがあります。

IBM RPG
 「ソースが見づらく、知っている人しかメンテナンスできない」
 「この言語を扱う技術者は少ない」

Java
 「大規模開発向き、小さい機能や突発的な改造は向かない」
 「お客さんのシステムの担当者には受けが良い印象」
 「動作環境のプラットフォームに依存しない」「万能」
 「チェックが厳しいのでなかなかコンパイルが通らない」
 「Webアプリを作るならこれがファーストチョイス」
 「Eclipseのメソッド補完等がとても便利で開発しやすい」
Javaも人気ですね。学生時代から親しんでいる社員も多いと思います。当社では、2番目によく使われる開発言語です。

JavaScript
 「Webページのクライアント側(ブラウザ)で何か処理をさせたい時に使う言語」
 「ブラウザを問わないWebアプリに向いている」
 「jQueryが便利」
Webアプリ開発では、ブラウザ側の処理を制御するのにJavaScriptをかなりの頻度で使います。サーバ側の処理は、他の開発言語で作ることが多く、VB.NET、C#、JAVA、Ruby、PHP等、様々な言語と組み合わせて開発しています。

Objective-C
 「Swiftの普及でiOSアプリ開発からお役御免?」
 「オブジェクト指向の理解には使いやすい」

Perl
 「文字列操作で正規表現が使用できるプログラミング言語」
 「読み辛い、メンテナンスし辛い」
 「全角文字に弱い」
 「適当にさっと作れる」
私が新卒で入社して、一番最初に担当したのは、Perlを使ったマイグレーションの仕事でした。開発言語のバージョンアップに伴い、プログラムの文法が変更になった箇所の書き換え(置換)をPerlでやりました。

PHP
 「環境構築が面倒、環境があればさっと作れる」
 「お手軽な言語、趣味でたまに触ります」
 「コードも書けるHTMLみたいな認識」
 「変数が適当に使えるのでたまに製造時はまる」
 「とっつきやすいが、これしか使えないプログラマはPHPerと言われる運命にあるのだとか・・・」

Python
 「大人数の開発に向いているらしいと聞きました」
 「少ないコード量でプログラミングできるらしい」
 「抱腹絶倒モンティ・パイソンが名前の由来」
『らしい』とか『聞いた』という回答が多かったので、当社の社員はあまりやったことがないみたいですね。以前当社の選考を受けた学生が「気軽に試しながら作りやすい」と言っていました。名前の由来である「モンティ・パイソン」を知っている学生が少なそうですね。

Ruby
 「日本発」
 「日本人が開発したPerlをオブジェクト指向にしたようなプログラミング言語」

VB
 「Basicというプログラミング言語から生まれたもので、開発ツールでフォームに部品を配置していくことで、画面付きプログラムを簡単に作ることができる」
 「Windowsアプリケーション作成が簡単」
 「自由度が大きく文法エラーになり辛い、代わりに実行時エラーが多発する」

VB .NET
 「昔VBを使っていた企業では人気、そして結構多い」
 「プログラマのセンスによっていろいろとできると思うが、スクラッチ開発に向いているかなという印象」
 「初心者向け、簡単にプログラムを作ることが出来る」
 「C#のほうが好き(コードの見た目が)」
 「コードが追いにくいことが多いのであまり好きじゃない」
VB.NETは当社ではよく使いますが、あまり人気じゃないみたいですね。今後、徐々に VB.NET → C# に移行していくという話も出ています。

VBA
 「Excel/Accessのマクロ用言語」
 「ちょっとしたツールとして使用するなら便利」
 「エクセル上で操作を自動化したい場合に使う」
 「処理が遅いというのは甘えで、なかなか手早く色々なことができる」

VBScript
 「親が現役時代のころに新登場したというレガシーASPで使っていた」
 「webブラウザで使われるスクリプト言語」
 「ちょこっとした処理をWindowsでサクッと動かしたいときに向いている、毎回やっている単純作業をバッチ化するなど」
当社では、VBAやVBScriptを使ってのシステム開発は少ないですが、ちょっとしたツールの作成や、自分の作業効率アップの為に使用している社員が多いのかなと思います。

今回は当社のエンジニアの意見を寄せ集めてご紹介しましたが、ネット上には、プログラミング言語の特徴を道具に例えたり、プログラミング言語開発者の名言集など面白い投稿がたくさんありますので、興味のある人はぜひ探してみてください。

採用担当 堀島