プログラム言語に優劣はあるか?

プログラム言語
この記事は約3分で読めます。

 こんにちは、画像処理エンジニアのつちもぐらです。画像シミュレータをC++やPythonを用いて実装しています。

 プログラム言語の優劣については職場やネットでも散見されるので、ここでは私の経験も交えて、記事を書かせて頂きます。最初に結論から書くと「プログラミング言語に向き不向きはあるが、優劣はない」となります。

スポンサーリンク

プログラム言語のマウンティング

 私の職場でもたまに見かけますが、難解なプログラム言語を使っているエンジニアは、簡単な言語を使っている同僚エンジニアよりも俺の方が優秀だとアピールする事があります。

 元々エンジニアは、知識によるマウンティングが大好きです。なので設計レビューの時などは、レビュアーのデザインはそっちのけで、己の知識をひけらかし、レビュー参加者に「いかに自分は優秀なエンジニアであるか」を印象付ける事に一生懸命なエンジニアがいたりします。世界的に見てもそうみたいで、とある国際規格では「レビューでマウンティング行為をしないように!」といった事にまで言及しています。

 難しい言語を操っている方が偉いという考え方は良くありません。趣味ではなく仕事でプログラムを使うのであれば、仕事の内容とコードの生産性・保守性で言語を選択すべきです。  

マウンティングを仕掛けてくる人の特徴

 元々エンジニアがマウンティング好きというのもありますが、特徴としては1つの言語しか知らない人が多い気もします。そしてその不勉強な自分を正当化するために、自分が使っている(選んだ)言語が1番だとアピールし、複数言語を使って効率的に仕事をしようとしている人を捕まえて「そんな事には意味はない」と根拠のないマウントをしかけてきます。

 もしあなたがそのようなマウンティングを仕掛けられた場合は、 コードの生産性と保守性を論拠として、理路整然と反論してみても良いかもしれません。

 ちなみに私は、彼らがそのような行動を取るのは悲しい自己防衛の本能から来るものだという事に気づいてからは、余り相手にはせずただ黙々と結果だけを示して黙らせるように努めています。

プログラム言語に向き不向きはあるが優劣はない

 プログラム言語には得手不得手があるので、少なくともプログラミングをメインとする仕事では、1つの言語を取得すればOKという事はなかなか無いかと思います。プログラム言語の選択は建築に例えられる事があります。一軒家を鉄筋コンクリートで建てる人はいないし、逆に高層ビルを木造で建てようとする人もいないですよね

 私も昔Python単体で画像シミュレータを組み上げた事がありますが、実行してみたところ絶望的に遅かったので、C言語(C++)で作り直すハメとなった事があります。

 上記の失敗例では、画像シミュレータは高層ビルに相当します。 当時もPythonの実行時間が遅い事は知っていましたが、その分楽に作れるので、まぁ大丈夫だろうとPythonで組み上げたのですが、1枚の画像を作成するのに30分くらいかかってしまいました。その結果、お客さんからどんどん来る画像シミュレーション依頼をこなせなくなって行きました。言語の選択をミスった、典型的な例かなと思います。

複数のプログラム言語をマスターしよう

 職場にもよるかと思いますが、メイン業務がプログラミングの会社で、1つの言語を覚えただけで仕事が問題なく進められるという事は、なかなか無いかと思います。

 プログラム言語を複数知っていれば、仕事の内容に応じて言語を選択する事が出来ます。しかし1つしか言語を知らないと、それ1本で戦うしかなくなるので、厳しい戦いを強いられる事となりますし、自分がやれる仕事の範囲も限定されてしまうでしょう。

 器用貧乏も良くないですが、仕事の内容に応じて、出来れば3つ位のプログラミング言語はマスターして、その組み合わせで業務の効率化を最大限までアップしてみてください。余った時間は、勉強やプライベートの充実に充てると良いでしょう。

 最後にボーナス前の面談では、業務効率化をアピールする事も忘れずに(^^v

タイトルとURLをコピーしました