Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

20221016




ほんの少し回復の兆し。
しかし度々訪れる睡魔が凄い。


問題解決力を鍛える!アルゴリズムとデータ構造

よくある書籍のように、数々のアルゴリズムとそのコードを紹介するのではなく、アルゴリズム自体を設計するための基礎を身につけるための書籍だ。哲学を学ぶことにたとえるならば、次の後者に当てはまる。

  • アリストテレスフロイト等の哲学者、その思想を学ぶ
  • 哲学そのものである、ある主題について概念的思考を通じた研究を学ぶ

アルゴリズムそのものを設計し、実装するための基礎が説明されている。そのような特性から、ただ文字を追っていくだけの読書では、とても読んだとは言い切れない書籍でもある。少なくとも、説明されている事柄を理解しながら読み進めるならば、1か月は欲しい内容だ。

説明の粒度は細かいのだが、それでも「分かっている」人ならではの粗さが目立つ。理論的に考えればわかる事柄を省略しているところがあり、それが理解の障害となる。幾ら理論的に考えたとことで、それが瞬間的に理解に到達できる人もいれば、第三者に教えてもらえるまで分からない人だっている。そのようなことが「分かっている」人には分からない。

いくら説明がくどくなろうが、書籍は知識と情報を伝達するためのものなのだから、そこにつまずきを生じさせる省略をすべきではないだろう。このような点が多々あるがために、読書体験を損なっているのが残念だ。

Linuxプログラミング

先の書籍とは異なり、こちらの読書体験はとても良好だ。題材が異なるとはいえ、ソフトウェアをインストールするように、知識が吸収されていくような感覚を覚える。

シェル・プログラミングからCによる開発までをカバーし、取り扱っている範囲が広いのも良い。

  1. シェルプログラミング
  2. ファイルの操作
  3. UNIX環境
  4. 端末
  5. curses
  6. データの管理
  7. 開発ツール
  8. デバッグ
  9. プロセスとシグナル
  10. プロセス間通信とパイプ
  11. セマフォ、メッセージキュー、共有メモリ
  12. ソケット
  13. Xプログラミングの概要