開発ツール

好まれる/敬遠されるプログラミング言語--開発者が語る違い

多くの企業で採用されているプログラミング言語が、開発者にも好まれているとは限らない。それぞれの用途に適した言語、優れた言語に共通する特徴などについて、専門家の意見を聞いた。

 業務の最適化に向けてデータ分析を採用する企業が増加しているため、開発者の需要は拡大する一方だ。この仕事では必ずプログラミング言語を扱うことになり、中でも「Python」「Java」「JavaScript」が特に幅広く使用されている。

 これらは企業の間で人気がある言語だとしても、プログラマー自身にとっては最愛の言語というわけではない。JavaとJavaScriptは実際のところ、プロの開発者に嫌われる言語の1位と2位だという。

 「JavaScriptは非常に人気が高いので、この意見には異論もあるだろうが、実際にはとても大変な作業になることが多い」。こう述べるのは、アプリケーションセキュリティプロバイダーnVisiumの最高経営責任者(CEO)であるJack Mannino氏だ。

 「設計上、JavaScriptはグローバル変数の使用などのアンチパターンを奨励している。またJavaScriptの型強制アプローチは、予想外の結果が出たときに、開発者が困惑することも少なくない」とMannino氏は語る。

 Javaに関しては、「コードが持続困難で、すぐに複雑になり、メンテナンスが難しい」との意見が、インテリジェントITオートメーションソフトウェアプロバイダーSaltStackの共同創設者で最高技術責任者(CTO)を務めるThomas Hatch氏から出ている。「皮肉なことに、Javaは大規模なチームでのメンテナンスを容易にすることを目指して設計された言語だ」

 どのプログラミング言語にもそれぞれ目的があり、言語の使用は多くの場合、開発者が何をプログラミングしているかという文脈に左右される、とIntuitのシニアソフトウェアエンジニアであるKatie Levy氏は語る。

 「何をする必要があるかによって、すべてが決まる」。Coding DojoのリードインストラクターであるWill Goode氏はこのように述べた。「パフォーマンスをさらに最適化したアプリケーションを記述して、OS上で動かしたいなら、『C++』の多くの機能を重宝するだろう。OSカーネルを記述する場合は、『C』の機能がありがたい。ハードウェアの特別な命令セットにアクセスする必要があるコードを記述するには、アセンブリ言語が最適だろう」

 しかし、他の言語よりも扱いやすい言語には、共通の特徴がある。

優れたプログラミング言語の特徴

 「理想的なプログラミング言語とは、構文が分かりやすく、コアライブラリーが充実していて、不必要な複雑さで開発者を悩ませることがない言語だ」とMannino氏は述べる。

 「優れた言語は柔軟性に優れていて、問題解決の方法が複数用意されているが、開発者がその言語の独断的な実装をデフォルトにしたい場合に、簡単に実装できる機能も備えている」(Mannino氏)

 基本的に、堅実なプログラミング言語とは扱いやすい言語だ。

 「なぜJavaが本当に嫌いなのかというと、あまり得意ではないからだ。根本的に良い言語や悪い言語というものはほとんどない。プログラミング言語を作成する作業は非常に複雑で、すぐに妥協する必要が生じる」。Hatch氏こう指摘した。

 「言語の最高の特徴は、理解しやすいこと、開発者に知られていること、そして開発者がプログラムをどのように構築したかを別の開発者に簡単に伝えられることだ」(Hatch氏)

 Pythonは明らかに、非常に多くの開発者に好まれている。

 「最高の言語は、使いやすく、一貫性があり、他の開発者に伝達ができる。シンプルさが何より大事だ。プログラミング言語の本質は、コンピューターと開発者の能力を最大限に引き出すことにある。それができるのが、優秀な言語だ」とHatch氏は述べた。

 「だからこそ、Pythonをとても気に入っている。Pythonでの開発は簡単だ。他の開発者に渡すのが難しいコードを記述するPython開発者は、ほとんどいない」。同氏はこう付け加えた。

提供:Getty Images/iStockphoto
提供:Getty Images/iStockphoto

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

「開発ツール」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
クラウドサービス
OS・ミドルウェア
開発
開発ツール
開発支援
ノンプログラミング開発ツール
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. マンガでわかる「ルール駆動開発」レガシーモダナイズを成功させる開発手法を基礎から理解する
  2. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  3. APIエコシステムを狙うサイバー攻撃が急増、Webアプリにおける最新のAPIセキュリティ対策とは?
  4. クラウドやコンテナ利用が増える中、世界の企業が利用するAPI経由の安全なアプリ構築手法とは?
  5. ウェビナーによる営業活動が本格化、顧客接点が増加する一方で見えてきたハードルと解決策とは?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]