高速なハードウエア,至れり尽くせりのユーザー支援機能を備えた開発ツール,高機能なクラスライブラリやフレームワークなどなど,近ごろのプログラムを書くためのお膳立ては,とても充実しています。しかし,どんなに環境が整っても,ソフトウエアを作るには何らかのアルゴリズムに従って問題を解きほぐし,プログラムにするという作業が相変わらず必要です。 そこで本特集では,まずPart1で身近な例からアルゴリズムというものに迫ってみます。皆さんが普段接している便利なソフトやサービスがどのような仕組みで動いているのか,その仕組みをのぞいてみましょう。教科書で勉強するようなアルゴリズムの話とはちょっと違うものも出てきます。中には,サービスの重要な要素をプログラムで処理せず,手作業に頼って実現しているものもあります。実用ソフトの世界で本当に使いやすいものを作るには,アルゴリズムだけわかっていてもダメなことが少なくない