ある特定の用途だけに特化しておらず、さまざまなことに使用できる性質やその度合いのことです。
プログラミングの領域では、再利用しやすいように設計された関数やクラス、アルゴリズムといったものは、異なる目的のソフトウェアを開発するときにそのまま使えるため、汎用性が高いといえます。
また、コンピューターは、最初期のころには、行いたい処理に応じて物理的に配線を組み替える必要があるなど、汎用性に著しく欠けたものでした。プログラム内蔵方式が生まれたことにより、用途に応じてアプリケーションを使い分けることが可能になるなどして、現代のパソコンやスマートフォンは高い汎用性を持っています。
汎用性が高いことを「汎用的である」「汎用である」のように表現することもあります。
汎用性が高いことが、必ずしも優れていることを意味しない点には注意しましょう。汎用性を低下させてでも、専門特化した作りにすることで(最適化)、圧倒的に優れたパフォーマンスを実現できることもあるためです。
よく似た言葉として、互換性、移植性、拡張性といったものがあります。互換性は「ほかの同じ種類の要素に置き換えられること、あるいは置き換えやすさの程度」を、移植性は「ほかの環境で動作させる容易さの程度」を、拡張性は「あとから機能を追加する容易さの程度」を意味しています。それぞれ相互に関連することが多いですが、意味的には微妙な違いがあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |