教養としてのコンピューターサイエンス講義 第2版 今こそ知っておくべき「デジタル世界」の基礎知識
ブライアン・カーニハン(著)
,酒匂 寛(訳)
,坂村 健(解説)
/日経BP
作品情報
デジタル時代に活躍するための「教養」をこの1冊で身につけよう!プリンストン大学の一般人向け「コンピューターサイエンス」の講義が1冊に。デジタル社会をよりよく生きるための知識を伝説の計算機科学者がやさしくお伝えします。好評をいただいた第1版から2年、早くも第2版が登場です。第1版の「ハードウェア」「ソフトウェア」「コミュニケーション」の3部構成から、第2版では「データ」を新設、4部構成となりました。第4部「データ」では、第1版では「コミュニケーション」に含まれていた「データと情報」「プライバシーとセキュリティ」が移設・補強されるとともに、「人工知能と機械学習」が加わりました。第2部「ソフトウェア」の「プログラミングを学ぶ」では、第1版でのJavaScriptでの説明に加えて、Pythonを用いた説明も加わりました。また、コロナ禍によるデジタル環境の加速について追記されるなど、全面的に内容が見直されています(末尾の目次をご覧ください)。私たちの身の回りには、情報機器があふれています。そうした機器を使いこなしてデジタル社会をよりよく生きるためには、コンピューターやソフトウェア、インターネット、さらにはデータに関する知識が欠かせません。本書は、パソコンやスマホをはじめとするコンピューターや、ネット、ウェブサイトがなぜ動くのか、データの扱いを含めどう安全に使いこなせばいいのかを、理系・文系を問わない「一般の人」を対象に、イチからやさしくお伝えします。
もっとみる
商品情報
- 著者
- ブライアン・カーニハン, 酒匂 寛, 坂村 健
- ジャンル
- コンピュータ・情報 - コンピュータ・インターネット
- 出版社
- 日経BP
- 書籍発売日
- 2022.04.29
- Reader Store発売日
- 2022.04.29
- ファイルサイズ
- 15.5MB
- ページ数
- 540ページ
以下の製品には非対応です
この作品のレビュー
平均 5.0 (4件のレビュー)
-
図書館で借りた。
タイトル通り、コンピュータサイエンスを広く学べる本で、その広さは一般向け・教養としての学びが得られる。著者はC言語のカーニハン&リッチーで知られる、カーニハン先生だ。さらには坂村健先…生の解説付きだ。名著と呼ばれるだけある格式高い本と感じる。
教養と付いて一般向けではあるものの、箇条書きなどの形式は無く、写真や絵図も少なめなので、コンピュータサイエンスも本当に初めてでかつ読書も苦手な方はハードル高いかもしれないとは思った。最低限の国語力が必要だ。
しかしながら、最新であること、またコンピュータサイエンスの幅広さを1冊にしたのは見事と感じた。私はコンピュータサイエンスで修士まで行った、一応"専門家"の一人であるが、WWWの記載、検索エンジンや広告のあたりなど、一般知識に繋がる流れは「おぉ、ここにこれを挟むのか!」と唸った。
もちろん星5つ。非常にオススメだ!続きを読む投稿日:2024.01.10
# 1周目 読み終えた
「コンピューターサイエンス講義」というタイトルよりも、横に少し小さく書かれている「今こそ知っておくべきデジタル世界の基礎知識」の方が内容をよく表している。特にプライバシーとセキ…ュリティについての警句が各所に置かれているので、コンピューターとインターネットに触るのが少し怖くなるくらいだった。インターネットが怖く思えるのは、最近はすっかり薄れていた感覚で、知らずに麻痺していたのが解けたようだった。
## 14章を読んだ
次にくるものは?
締めくくりの章。ここまで読んでくればおそらくは予想がつくとおり、決して技術の発達によって未来が明るくなるような楽天的な予想をしていない。まだ未解決の問題がたくさん残っている。それらを残したままより良い方向へ進むには無理があるように思える。コンピューターは今のままでも十分面白いものだけど、まだまだ改良の余地はあるだろうし、ここでストップしてしまうようなことは望まれない。そうはあってほしくないと思う。
## 13章を読んだ
プライバシーとセキュリティ
この本では何度もプライバシーとセキュリティについて注意喚起されてきた。コンピューターサイエンスと題している本だが、本当に伝えたいことはコンピューターの細々とした仕組みについてではなく、これらではなかったのかとさえ思える。プライバシーとセキュリティは同一視されやすい。プライバシーが漏洩することは危険でもある。セキュリティーを確保することははプライバシーを守るためにも役に立つ。両者を守るためにも必要不可欠なのが暗号の技術であり、そこに注目している。暗号アルゴリズムの重要性は色んな所で耳にするが、ようやく、初めてその重要性を感覚的に理解できたかもしれない。
## 12章を読んだ
人工知能と機械学習
多くのメディアが賛美する近年のAIに関わる動向について、やはり誇大広告が紛れ込んでいると見る立場のようだ。そうであると分かっていても、これだけ持ち上げられたら無関心を保つことは難しい。中立的でありながら、なんとかうまく溶け込めるようになりたいものだ。短い章ではあるが、ざっくりと現状がどうなっているのかを知ることができた。
## 11章を読んだ
データと情報
検索エンジンから話が始まる。そしてトラッキングに関する警告につながっていく。インターネットでの活動は必ず追跡されている。それはやはりプライバシーの観点から望ましくない。そもそも収集されたデータは何に使われるのだろうかというと、広告のために利用されるのが主で、そのために売買されているようだ。それ以上の悪いことにも利用されている可能性もある。トラッキングから少しでも逃れるために、意識的に対策を行わないといけない。ささやかながら普段の行動を変えることで、できることもある。
## 10章を読んだ
ワールド・ワイド・ウェブ
セキュリティに関していくらか楽観的な自分でも強い不安を覚えるくらいに、Webの負の側面が強調されている。公共の場の無線LANサービスなんかは絶対に使わないでおこうと心に決めた。
いつからか、Webを利用する上でのプライバシーをあまり考えなくなってしまっていた。Webブラウザはほぼデフォルト設定のままで、JavaScriptは実行し放題、唯一入れているプラグインはDuckDuckGoのプライバシーガードのみになっている。一番確実な手段はネットワークケーブルを引っこ抜く、あるいはWi-Fiのスイッチをオフにしてしまうことだろう。それでは不便極まりないので、少しずつ制限を弱めていくと、どこかで妥協点が見つかるはずだ。その妥協点は本当に安全なのかは全くわからない。インターネットに接続している時点で、そうでない場合と比較にならないくらい、コンピューターは危険にさらされている。そんな中でできることなどたかが知れているのではないか、そんな諦めがあった。Webブラウザに対する信頼もある。ここ何年かの間で、Webブラウザはさらに洗練されてきた印象を受ける。きっとこのWebブラウザならそんなに間抜けなことはしないだろうと安心して使っていて、実際に目に見えるような形で問題に遭遇したこともない。昔はもっと懐疑的であった。時代が変わってWebの安全性は少しは改善されてきたのかと思って懐疑心は薄れてきていた。しかし、安全になったようなこと全くないようだった。残念なことだ。
## 9章を読んだ
インターネット
インターネットは重要だ。いくらネットワークの社会インフラが整っていても、コンピューターでそれを活用できなければあまり意味がない。インターネットにつながっていないコンピューターもあまり面白みがない。20年くらい前のゲーム機なんかはネットワークにつながってなくても面白いものではあった。それは、コンテンツがインターネット以外の媒体で提供されているからあまり問題にならなかったのだろう。PCにはコンテンツがほとんど含まれておらず、インターネットから入手することが前提となっていたところがある。今や、インターネットにつながらなければWindowsはライセンス認証すらできなくなっている。もはやコンピューターとインターネットは切り離せないもの考えて良い。
インターネットを支えるソフトウェア技術はTCP/IPであり、重要性が強調されている。ネットワークプロトコルは階層化されている。ある階層のプロトコルはその他については一切関与せずに、愚直に自分のことだけをこなしていく。このモデルは大成功した。今のところほとんど完璧に機能しているとみなしてもよく、裏舞台で実験されていたとしても、表立って新しいモデルに置き換えようという動きはない。TCP/IPについてしっかり学んでおくことはまだ当分の間、必須科目であり続けるのだろう。
## 8章を読んだ
ネットワーク
古来から人力でどうやって遠く離れた場所に情報を伝達してきたか、それから機械を使うようになって、電子を使った手段に発展してきた。ネットワークは技術的な課題だけではなく、個人、企業、政府、その他の団体にまたがって、社会的な課題も含んでいる。特にコンピューターの利用に関わる話題として、無線ネットワークの実現に注目する。携帯電話の利用は当たり前になりすぎて、つながるのが当然のような感覚でいるが、背後では複雑なことが行われていることを忘れないでおきたい。
## 7章を読んだ
プログラミングを学ぶ
JavaScriptとPythonを少しやってみる。意外なことに、これまでになく平凡な内容だった。プログラミングの経験のない人にとっても特別に優れたガイドではなさそうだし、経験者にとっても特別に得るものが多いわけでもなさそうに思えた。もしプログラミングの講師をするなら言語はPythonを選択するそうだ。もし自分が初めてプログラミングの講座を受講するなら、ラズパイで電子工作をPythonで学びたい。Webブラウザの環境よりも遥かにプログラミングをしてコンピュータを操っている実感が得られる。Arduinoでももちろん良い。問題は楽しいと思えるかどうかだ。オンラインコンパイラではプログラムが動作しときの楽しさが激減してしまうのが問題だ。
言語を学ぶだけのか、プログラミングを学ぶのかにより適した材料に違いはあるだろう。Webの偉大さは認識しているつもりだ。それでも、Webプログラミングが最初に学ぶべきものなのかどうかには否定的な立場を取る。JavaScriptが最初の言語として優れているようには見えないというのもある。Pythonが広く利用されているのは、機械学習やその他のAI技術やデータサイエンスなど、そういった技術的な背景があるからであって、Python自体が特別最初の言語に向いているわけでもないように思う。Pythonを学ぶ人すべてがAIやデータサイエンスに関わりたいわけではないだろう。かといって、他に良い言語があるわけでもないので、別にそれで不利益があるわけでもない。
## 6章を読んだ
ソフトウェアシステム
OSとアプリケーション。OSの役割について、なぜ必要なのか、何を行っているのか。汎用化が進んでいる。特殊目的のハードウェアであっても、新たに専用のOSを開発するコストを差し引くと、Linuxなどを採用するケースが多くなってきている。現代普及しているOSは、Microsoftのものを除くと、ほとんどがUnix系列になっている。これは少し寂しい話だ。アプリケーションはWordがよく引き合いに出されてきた。ここではWebブラウザーが取り上げられている。Webブラウザーの役割がOSに近いところがあるからだ。WebブラウザーをOSとするコンピューターシステムのようなアイデアをありがちだが、実現しないのだろうか。ChromeOSの存在が気になる。
## 5章を読んだ
プログラミングとプログラミング言語
アセンブリ言語と高級言語。知的財産権。オープンソースソフトウェア。どれも自分にとって重要な話題だった。まったく目新しい話題であるわけではない。プログラミングを始めてから、少しずつ経験を積むにつれて、最後にはオープンソース、別の言い方をするとフリーソフトウェアにたどり着くのが自然な流れであるように解釈できなくもない。それだけが唯一の正解であるなどとは思わないし、そういう意図で構成された章であるわけでもないだろう。自分の場合にはよく当てはまっているし、それで良かったと思うだけだ。プログラミング言語のようなコアなツールはオープンソースでなければ支持を得るのは難しいという主張には全く同意する。
## 4章を読んだ
アルゴリズム
アルゴリズムは料理のレシピのように例えられることがある。この例えはイメージしやすくて便利なのだが、コンピューターに仕事を依頼するレシピとしては不完全でもある。コンピューターに依頼するときは、料理のレシピのような曖昧な記述は一切許されない、融通の利かないものだ。
線形時間 N の探索と、対数時間 log N の二分探索を比較して、対数時間アルゴリズムがいかに優れているかを明らかにする。線形探索では、データが1000増えれば1000ステップ増加する。二分探索では、10ステップくらいしか増えない。10億増えても30ステップしか増えない。データが多くなるほど対数アルゴリズムの優位性は際立つ。ソートアルゴリズムについてもO(N^2)とO(N logN)では大きな違いが出てくる。最後にP=NP問題について触れられていている。
## 3章を読んだ
プロセッサーの内部
プロセッサーの動作をシミュレートする、おもちゃのコンピューターを使って解説が進められる。アセンブリ言語の経験があるのなら馴染み深いものだ。おもちゃではあっても、その原理は変わらない。フェッチ、デコード、実行の処理サイクルは本物のコンピューターと同じである。本書で強調されていることに、命令もデータも同じようにメモリにロードされる、ストアドプログラム方式の流れを体験できる。プロセッサーの性能は指数関数的に向上していくことが予言されていて、そして真実となった。しかし、物理的には大きな進化を遂げながら、やはりその原理は変わっていない。単純に処理速度を向上させる単純な目標に絞ることができたのも後押しとなったのだろう。性能が上がったことによる恩恵で、単に短時間で計算が行えるにとどまらず、根本は同じことなのだが、コンピューターによっていろんなことが可能となった。この傾向はこれからも続いていくのだろうか。
## 2章を読んだ
ビット、バイト、そして情報の表現
二進数について。なぜコンピューターは二進数を扱うのか。アナログとデジタルの違い。どのようにして写真や音楽や動画をビットで表現しているのか。全く未知の話題ではなかった。ビットやバイトという名称の由来は何なのかなどの豆知識が披露されていて、読んでいて飽きない内容だった。
## 1章を読んだ
コンピューターとは何だろう?
めっちゃ読みやすい。コンピューターの発展の歴史について柔らかく語られている。自動車の基本的な構造が変化していないのと同様に、コンピューターもフォン・ノイマン型のアーキテクチャから変わっていないという対比は分かりやすい。それでいて、性能は1960年代から桁違いに向上している。基本アーキテクチャを変えることもなく、これだけの性能の向上を達成しているのはよく考えると興味深い。PCがどうなっているのか、各コンポーネントの仕組みと役割が解説されている。PC自作派の人にはおなじみだろうけど、最近はパーツで購入して自分で組む人が減ったような気がするので、こういうのも必要だろう。少なくともコンピューターに関わるなら、教養としてでだけなく、実用的な面からも知っておいたほうがいい内容だ。
## 0章を読んだ
はじめに
特にプライバシーの危機が強調されている。あらゆる情報、例えば、ある個人が今どこにいるとか、どんなものを買ったとか、インターネットでどんなサイトにアクセスしたとか、そういうのはすべて記録されている。そして、様々なところで売り買いされたり、悪用されたりする可能性がある。そう聞いてもあまり驚かないのは、感覚が麻痺しているからだろうか。もし、自分一人だけの情報がダダ漏れになっている、とかだと嫌な感じがするけど、世界全員がそうであるというのなら、仕方ないというか、諦めに近い気持ちになる。心理的な対策として、PCに保存されているデータはすべて見られているくらいの気持ちでいて、見られて困るような変なものは入ってこないようにしている。しかし、これはあまり健全ではないし、そういう話でもない。困るのは、本当にセキュリティが必要な、アカウントの認証情報やクレジットカードの情報なんかだろう。これらがダダ漏れになるのは流石に気分が悪い。もっと深刻なのは、セキュリティが脆弱な社会というのは、土台が不安定な上に立っている建物のようで、ちょっとしたことで崩れてしまう危機感すら感じさせる。
## 前書きを読んだ
原題は "Understanding the Digital World" のようだ。本来の対象読者は、エンジニア、数学者、物理学者のような技術的背景を持つ人たちではないと書いてある。コンピューターの専門家向けの本ではないという意味で、教養と呼ぶのは誤解のない良い名前だ。
丁寧に書かれている良い前書きなのだけど、一つだけ気になるのがある。ネットワークを介した攻撃者のことをハッカーと読んでいるが、カーニハン先生が本当にそういう文脈でその単語を使うのかどうか気になって、Google Booksを覗いてみたら本当にhackerと書いているようで、意外だった。続きを読む投稿日:2023.09.26
新刊自動購入は、今後配信となるシリーズの最新刊を毎号自動的にお届けするサービスです。
- ・発売と同時にすぐにお手元のデバイスに追加!
- ・買い逃すことがありません!
- ・いつでも解約ができるから安心!
※新刊自動購入の対象となるコンテンツは、次回配信分からとなります。現在発売中の最新号を含め、既刊の号は含まれません。ご契約はページ右の「新刊自動購入を始める」からお手続きください。
※ご契約をいただくと、このシリーズのコンテンツを配信する都度、毎回決済となります。配信されるコンテンツによって発売日・金額が異なる場合があります。ご契約中は自動的に販売を継続します。
不定期に刊行される「増刊号」「特別号」等も、自動購入の対象に含まれますのでご了承ください。(シリーズ名が異なるものは対象となりません)
※再開の見込みの立たない休刊、廃刊、出版社やReader Store側の事由で契約を終了させていただくことがあります。
※My Sony IDを削除すると新刊自動購入は解約となります。
お支払方法:クレジットカードのみ
解約方法:マイページの「予約・新刊自動購入設定」より、随時解約可能です続巻自動購入は、今後配信となるシリーズの最新刊を毎号自動的にお届けするサービスです。
- ・発売と同時にすぐにお手元のデバイスに追加!
- ・買い逃すことがありません!
- ・いつでも解約ができるから安心!
- ・優待ポイントが2倍になるおトクなキャンペーン実施中!
※続巻自動購入の対象となるコンテンツは、次回配信分からとなります。現在発売中の最新巻を含め、既刊の巻は含まれません。ご契約はページ右の「続巻自動購入を始める」からお手続きください。
※ご契約をいただくと、このシリーズのコンテンツを配信する都度、毎回決済となります。配信されるコンテンツによって発売日・金額が異なる場合があります。ご契約中は自動的に販売を継続します。
不定期に刊行される特別号等も自動購入の対象に含まれる場合がありますのでご了承ください。(シリーズ名が異なるものは対象となりません)
※再開の見込みの立たない休刊、廃刊、出版社やReader Store側の事由で契約を終了させていただくことがあります。
※My Sony IDを削除すると続巻自動購入は解約となります。
お支払方法:クレジットカードのみ
解約方法:マイページの「予約自動購入設定」より、随時解約可能ですReader Store BOOK GIFT とは
ご家族、ご友人などに電子書籍をギフトとしてプレゼントすることができる機能です。
贈りたい本を「プレゼントする」のボタンからご購入頂き、お受け取り用のリンクをメールなどでお知らせするだけでOK!
ぜひお誕生日のお祝いや、おすすめしたい本をプレゼントしてみてください。※ギフトのお受け取り期限はご購入後6ヶ月となります。お受け取りされないまま期限を過ぎた場合、お受け取りや払い戻しはできませんのでご注意ください。
※お受け取りになる方がすでに同じ本をお持ちの場合でも払い戻しはできません。
※ギフトのお受け取りにはサインアップ(無料)が必要です。
※ご自身の本棚の本を贈ることはできません。
※ポイント、クーポンの利用はできません。クーポンコード登録
Reader Storeをご利用のお客様へ
ご利用ありがとうございます!
エラー(エラーコード: )
ご協力ありがとうございました
参考にさせていただきます。