×
言語処理系と開発実行モデル

ライブラリは、現代のソフトウェア開発において「車輪の再発明を避ける」ための最重要ツールです。画面への文字の描画、ネットワークを通じたデータの送受信、複雑な暗号化アルゴリズム、AIの機械学習モデルなど、これらをすべてゼロからプログラミングするには膨大な専門知識と途方もない開発時間が必要になります。しかし、世界中の優秀なエンジニアたちが作成し、テストを繰り返して品質を高めたライブラリを利用することで、私たちは自分のアプリケーションの独自の機能(ビジネスロジック)の開発にのみ集中することができます。
ライブラリには、大きく分けて「静的ライブラリ」と「動的ライブラリ」の2つの提供形態があります。静的ライブラリは、プログラムをコンパイルして実行ファイルを作成する際(リンク時)に、ライブラリのプログラム本体が実行ファイルの中に完全に組み込まれます。そのため、実行ファイル単体で動作するというメリットがありますが、ファイルサイズが大きくなる傾向があります。一方、動的ライブラリ(WindowsではDLL、Linuxでは.soファイルなどと呼ばれます)は、プログラムの実行時に必要に応じてメモリに読み込まれ、複数のアプリケーションで同じライブラリを共有して使うことができます。これにより、ディスク容量やメモリの使用量を大幅に節約でき、ライブラリのアップデート時に各アプリの再コンパイルが不要になるという利点があります。