プログラム言語はたくさん覚える必要があるのだろうか?

C言語,java,Ruby,C++,C#,PLSQL,perl,python,php,perlもはや、ちょっと書くだけでも、ものすごくたくさんのプログラム言語があることがわかるが、プログラム言語の学習を勧めてくる宣伝が増えているが、果たして本当にたくさんのプログラム言語を学ぶ必要があるのだろうか?

目次

  • プログラム言語がたくさんある理由
  • プログラム言語が選択される理由
  • 実現しようとしていることは皆同じ
  • 使う命令も実はほぼ同じ
  • 一つのプログラミング言語に精通すれば、ほぼすべての言語が使える

プログラム言語がたくさんある理由

世の中にはものすごくたくさんのプログラム言語があるが、なんでこんなことになってしまったのだろうかと考えれば、パソコンの開発と同じように、たくさんの学者が各国にいて、それぞれの発想で異なる言語をつくったら、ふつうにたくさんの言語が生まれた。

そんなところが、20年以上プログラムに携わってきたところで感じていることです。

今のようにインターネットで、世界がつながってしまっていれば、むやみやたらにプログラム言語も追加はされないでしょうが、昔はネットワークもなく、それぞれの国、企業、大学、個人が、それぞれで言語を作って、プログラムを組んだ、それ故にたくさんの言語が生まれた、そんなのが強く感じるところです。

プログラム言語が選択される理由

星の数ほどは存在しないプログラム言語ですが、プログラム言語が選ばれる理由を考えてみたいと思います。

最近は、インターネットのWEBサイトを使ったビジネスが多いわけですが、ネット通販のページ、E-コマース一つをとってみても、Ruby,Java,VB,C#,perlさまざまな言語で作られています。

では、どうしてそれぞれのサイトで、とあるプログラム言語がえらばれたのでしょうか?

この理由は、私の理解では、その時の流行りや実現したい機能などが最短で作れる環境があったり、取捨選択、メリットデメリットを評価して、選ばれていった気がします。時には、技術リーダーが精通した言語が採用されたケースも多かったと思います。

この言語じゃないと実現できないというものが、当初はあったかもしれませんが、今現在みまわしてみると、たいていのことはどの言語でも、同じようにできるので、実はそれほど違いがない気がします。

処理速度に関しても、ハードウェアの進化で、ほぼほぼなくなってきますし、問題がある部分があれば、言語側もチューニングをしてくるので、本当に、違いはなくなっていると感じます。

実現しようとしていることは皆同じ

ある目的があって利用するプログラム言語ですが、確かに違いがあります。

  • 記述方法
  • 命令の文字列
  • 継承の方法
  • オブジェクト指向の有無
  • ライブラリの使い方
  • 設定ファイルの名称

これらの違いがあるわけですが、しかし、これらの違いがあったとしても、やろうとしていることが同じであれば、どのプログラミング言語を使っていても、その違いが、アプリの挙動にでることはありません。

あるWEBページがあり、そのサイトで使われているプログラム言語はなにか?を知ろうとしたときに、URLのネーミングの癖で、それが、Javaなのか、VBなのか、スクリプト言語なのか、を判別することはできますが、サイトを見ているだけでは、違いはわからないでしょう。

使う命令も実はほぼ同じ

私がやってきた言語の範囲だけの話かもしれませんが、とある文字列から文字を縮めるような、ベーシックな処理をプログラムに任せようとした場合、エクセルのマクロであろうが、Javaであろうが、phpであろうが、メソッド名や引数の違いがあっても、ほぼ似たような動きをします。

場合によってはメソッド名も引数も同じだったりします。

DB接続や、例外処理の記述方法など、確かに違いが感じられる部分もありますが、その違いが複雑すぎて、わからないというほどのものはあまりなく、ひとつの言語に精通していたら、すぐにその違いを理解し、対応できると思います。

一つのプログラミング言語に精通すれば、ほぼすべての言語が使える

履歴書や職歴など、経験したプログラム言語を書くことがエンジニアには多いと思いますが、ほんとうに自分でもプログラムを書いたことのある人物が、エンジニアを選ぶとすれば、たくさんの言語を使ってきた人物よりも、一つの言語に深く携わった人の方が、重宝される場面が多いと感じます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください