感情タグBEST3
Posted by ブクログ
Swift(Swift5)を実践的に使うための技術を書籍名の通り「詳解」してあります。大変詳しく、簡潔ながらも理解が深まるプログラム例が多数掲載されています。言語仕様についてもかなり丁寧に記述してあります。さらに、こなれた日本語で簡潔かつ必要十分に書かれているため、読むのにストレスが溜まりません。
サンプルプログラムの多くが様々なアルゴリズムをSwiftで記述したものであるため、単に言語を学ぶだけでなく、アルゴリズムを実際のSwift言語にどのように落とし込めば良いのかまで理解できる点が素晴らしい点だと思います。
SwiftUI の導入に従って、少なからず理解が必要となるDSLについても最小限ですが説明してあり、この本を読む前は腑に落ちなかったSwiftUIでの記述方法について理解を進めることができました。
また、これらのサンプルは、本に記述してあるままXcodeのplaygroundで実行できるため、体感的に言語仕様を学べるという利点もあります(一部の書籍のように、サンプルコードをネットからダウンロードする必要がない)。
上記の理由から、この本の評価は★5つなのですが、あえて難点を書くとすれば、「C言語の知識が多少なりとも必要である」という点でしょうか。そういう意味では他の方も仰るように全くの初心者向けではありません。中級者以降がターゲットであれば間違いなく★5です。
逆にいえば、C言語、とりわけ構造体やポインタ(関数への参照渡し)が理解できれば、この本に書いてあることは概ね理解できると思います。
つまり、C言語でそれなりのプログラムが書けるけど、Swift独自の記述がわからない、という人にとっては、この本の理解は難しくなく、かつC言語とSwift言語との違いなどを納得のいく形で理解できるということです(C言語を概ね理解できる私にとっては大変ありがたいことなのですが)。
そういう点において、書籍の初期段階からポインタなどとの比較が書いてある(あるいは、K&Rの話に言及している)点から、まったくの初心者にとっては理解が難しいという点も考えられます。
ただ、C言語は現在使われているプログラミング言語の多くの基礎となっており(Swiftも言語構造上そうだと思います)、C言語の言語構造そのものはあまり難しくないので、プログラミング言語初心者の方はC言語の基礎を学ばれてから(CコンパイラはApp Storeでも無料でダウンロードできるものもありますし)この本を使ってSwiftを学ばれるのが一番良いかと思います。
ちなみに、この書籍のサンプルプログラムですが、macOS(Catalina)では残念ながら解凍に手間がかかるようです。ダウンロードしたファイルをダブルクリックしても、エラーが出て解凍できません。もし、コマンドラインを使える方であれば、コマンドラインからunzipを使うことで解凍できますので、そちらで試すことをお勧めします。
また、本文216ページList8-11のプログラムが途中で切れているようです。
これらのtypoなどについては現在問い合わせ中です。