西尾泰和のレビュー一覧

  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    Posted by ブクログ

    読んでて飽きない。軽やかな文体です。内容もわかりやすい。なんで関数があるのかなんでスタックがあるのか。歴史を含めて解説があって読みやすいです。

    0
    2025年12月17日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    Twitterでおすすめされてた

    創作においても、仕事においてもいい本だった

    ・・・以下メモ・・・
    ★は自分が思ったこと

    ■知的生産とは

    他人から与えられた知識を使うだけでは大した価値にはなりません
    →自ら新しい知識を生み出すことが価値の高い知的生産のためには重要
    →→サンプルコードをコピペするだけでは目的を達成できない。噛み砕いて理解し、あなたの置かれた状況にあわせ、修正し、組み合わせ、新しいプログラムを作る必要がある

    ■知的生産術とは
    ①アイデアを思いつく
    ②理解を深める
    ③パターンを発見する
    →共通の要素がある


    ■プログラミングの学び方
    具体な情報収集
    比較してパターン発見
    実践して検証
    →★★全く同じ!

    ■出力について
    人間は脳内の知識を他人に丸ごとコピーできないので、脳内の知識ネットワークを、切り取り、束ね、並び替えて、言葉や図に変換していく作業が必要です

    ■モデル化・抽象化
    情報収集は箱を並べるイメージ
    モデル化は箱を積むイメージ

    本になる文字は支えとなる箱が削ぎ落とされて抽象的な内容になっている
    具体的例をいれたいけど、見る人がどんな知識を持っているかわからないので支えの箱が足りない。あなた自身が考えることで足りない箱を作り出していく必要がある
    →★★★これは仕事でも創作でもとても共通する

    数学は高く積み上げられるが
    その他の分野は多くの箱でピラミッド型に積まないと崩れる

    ■実践・検証
    試行錯誤は見えにくい
    プログラミングでも書いて最初に実行した時高い確率で機体と違う動きをする

    ■チュートリアルは実戦に近いほどいい
    →〇〇をマスターしよう、では頑張れない。
    ★このjava3本を単体テストまで終わらせる、と指示する

    ■知りたいところから
    →必要になった順

    ■そんなの必要ないよ
    yagni原則
    →必要になるまで機能を追加してはいけない

    ■matz まつもとゆきひろ ruby作者
    ・全体を読もうとしない
    面白そうなところをつまみ食いして、先人の知恵を学ぶ
    ・目的をもって読む

    ■知りたいことから学ぶための前提条件
    ・目標が明確化されてる
    ・目標が達成可能である
    ・大まかに全体像を把握している
    →どこを探せば良いのかがわかる

    ■大雑把に
    全体像を把握は、ゴールではない

    ■抽象
    具体的な対象から注目すべき重要な部分だけを抜き出す意味

    ■モデル
    mvcだと、プログラムの本質的な部分
    →表示、と、操作に関わる部分を取り除いた部分

    ■人間の知能を増強する方法
    ①人工物
    →計算機など
    ②言語
    ③方法論
    ④教育

    ■例え話
    どこが同じでどこが違うかを、明確にしないと混乱する

    ■パターン本から学べばいいか?
    あなたが具体的な経験を持たないままパターンだけを習得することはできない

    誰かが積み上げたピラミッドの上の方の箱だけを見て、あれはいいな、ほしいな、と思ってもってきたとしても、それを置く場所の土台が準備できてなければ、ただ地面に置かれるだけ

    ■アイデア
    耕す
    芽生える
    育てる

    ■芽生えは管理できない
    管理できないものは管理しない

    ■言語化
    自分の中から情報を引き出すためには、まだ言語化されていないものの言語化を促すことが大事です
    言語化して紙に書けばそれは掴んで動かすことができます

    人は語れる以上のことを知っている

    ■フレームワークのメリットとデメリット
    フレームワークは盲点を埋めることに有益
    一方で、フレームワークはそれ自体が既存の固定化した思考の枠です
    →★これはmjにも言えること、枠組みにとらわれることなくさらに考えていかないと未来はない

    本当に新しいものは、既存の枠の外にあります
    →★確かに、、、

    フレームワークは習慣性のある薬のようなもの。適切なタイミングで少しだけ使えばとても有効ですが、乱用し継続的に使用し続けると有害なります
    →探索と利用のバランスが重要

    ■創造は主観的
    芽生えてから、それを育てるフェーズで、事後的に客観的な説明を捻り出すのです。
    主観的になることで、既存の枠を壊すこと
    →★これ大事、最初に引っかかる言葉を置いちゃうこととか

    ■例え話 アナロジー
    例え話は個人のこれまでの経験によって機能する、主観的な道具
    →凧揚げをしたことのない文化圏の人をイメージしても、凧揚げのイメージがわかない

    ■シンボル
    その○はどんな種類の
    その○について、ほかになにかありますか
    その○はどこにありますか
    その○はどのあたりにありますか
    その○らなんのようですか

    それから何が起こりますか
    次に何が起こりますか
    そのすぐ前には何が起きますか
    それはどこから来るのですか

    ○と✖️はどういう関係ですか
    ○と✖️は同じですか、違いますか
    00と✖️ほ間には何がありますか
    ○が起きた時、✖️には何が起こりますか
    →たこと、風など

    質問を繰り返してシンボルの位置や特徴や関係を明確化していくことで徐々に発展する

    注意
    個人的なメタファーも生まれ出たそのままの形では有効に働きません。なので他人に伝わる形に修正を繰り返す必要があります
    →★nkykさんはこれができてなくて唐突感ある

    ■まだ言葉になってないもの
    水面に一番近いもの
    →違和感、暗黙知

    もし何を探し求めているかわかっているなら問題は存在しないし、もし何を探し求めているかわかっていないなら何かを発見することは期待できない(プラトン)
    →部屋の財布を探すように簡単じゃない

    ■言語化まとめ
    身体感覚、経験、違和感に注目する
    →まだ言葉になってない
    →言葉にしようとすると例え話や、メタファの形になることがよくある

    出てきたばかりの言葉は説明なしには人には伝わらないかもしれない
    でも、つたわらないことを恐れる必要はない
    まず、自分の中から取り出し、書き留めて消えないようにして、それから人に伝わる形に改善すれば良い

    言葉は把手であり、あった方が操作しやすくなる

    鳥の声のように、把手である言語から、身体感覚が外れてしまっていることもよくあります。
    その場合、身体感覚におりていって、取っ手を繋ぎ直してやる必要があります
    →★なるほど。


    あなたの中にある、
    ・まだ言語がされていないもの
    と、きちんとつながった
    ・言語されたもの
    を、作ることがここでの目的

    つながってない、根無草のような言葉を使っても意味がないのです
    →★経験や身体感覚のない言葉
    これもnkykさんに感じる

    ■最小限の実現可能な製品
    誰が顧客なのかがわからなければ、何が品質なのかもわからない

    ■
    良いアイデアは自分で育つ(Young)
    →見た人を刺激して、その人が積極的にフィードバックをくれるから

    ■自分の中にかわきたじろうエミュレータ。作る
    ある機械の動作を別の機械で模倣することをエミュレーションと言い、その模倣する機械をエミュレータと言います。たとえばゲーム機によっては、昔のゲーム機のゲームを遊ぶことができる機能を提供しています。これができるのは、新しいゲーム機の内部に
    古いゲーム機のエミュレータがあるからです。

    ■スペシャリスト戦略

    その新人研修で教わることをまんべんなく習得したところで、その知識は低い価値しか生みません。その知識は同じ職場の全員が知っていることで、まったく差別化につながらないからです。分野をずらし、卓越を目指す必要があります。
    ここで連続スペシャリスト戦路を取るなら、まず新人研修や先輩の模版によって分野Xの知識をある程度学んでまあまあ評価されたら、分野Xの知識をさらに高めるのではなく、新しい分野Yの知識を手に入れることに時間を投資することになります

    ■言葉は取って

    そういう名前の付いていない概念や考え方に、本を読むことによって名前が付くことがあります。

    そのうまく表現できない考えを説明したところ「ああ、それは『損益分岐点』だね」と言われ、新しい言葉を手に入れました。名前がわかると、それについて検索できるようになり、関連した知識を入手しやすくなります。

    こうやって言葉を手に入れると、その言葉を使って思考をすることができるようになります。つかみどころのないモヤモヤとした考えに「言葉」という「取っ手」が付き、その取っ手をつかんで操作できるようになるのです。
    不定形な水はそのままでは持ち運べませんが、容器に入れると持ち運びができるようになるイメージです。

    0
    2023年11月23日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    内容はスペシャルなものではなく普遍的なものだと感じるがそれが本書の良さ。若手に読んでもらうには丁度良い。

    0
    2022年05月23日
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    Posted by ブクログ

    プログラミング言語の歴史と差分から今ある文法はなぜこのような発展を遂げたのかという観点で説明がなされていて面白かった
    特に6章のエラーハンドリングとか7章のスコープの話が面白かった

    0
    2022年02月08日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    これまでに読んだ読書法と通ずるところがいくつもあったが、この本の方がより詳しく鮮明に示しているように感じた。特に、本書で述べられた数学的な読書と科学的な読書の違いなどは自分のこれまでの読書スタイルに一石を投じるものであった。
    タスクの整理方法、処理方法、知識の記憶方法、アイデアの生成方法、意思決定方法についてよくまとめられていたように感じた。

    0
    2021年08月03日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    学びのサイクル
    ・情報収集・体験
    ・抽象化・モデル化・パターンの発見
    ・実践・検証

    やる気を維持する為に行動に対して素早く報酬を得られるようにする。
    ゴールは明確に、近くに置く。

    紙の参考書を選ぶコツ。
    複数の大学の講義の参考図書に選定されている。
    正誤表がある。
    改訂されている。ロングセラーである。

    知りたいところから学ぶ。
    本を1ページから読むのではない。

    パターンを発見する。

    理解を確認する方法
    自分の言葉で説明できるか。
    自分の経験に基づいた具体例を挙げることができるか。
    自分の目的を達成するためにその知識を使えるか。

    プログラムは作って検証することに適した教材。
    また、学んだことを他人に話すこともお勧め。

    GTD、7つの習慣そしてポロモードテクニック等の紹介、まとめがあり参考になる。
    仕事を計測し時間を見積もることは大切である。また優先順位を決めるのは難しいが、徐々にできるようになると大きく構える。

    記憶は筋肉と似ている。
    繰り返し使うことによって強くなる。
    テストは記憶の手段である。テスト後に復習すると、さらに記憶が強化される。
    つまり、繰り返し学習は大切だが、単なる繰り返しではなく、テストをした方が良い。

    考えをまとめるには付箋で書き出し、並べ替えなどをする。古典のKJ法をベースに著者がカスタマイズしている。自分なりの方法を見つけることが大切だろう。

    エンジニアに向けた本ではあるが、多様な人に参考になると思う。時を置いて再読する価値があると思う。

    0
    2020年02月25日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    色々学びがあった。なんとなく重要そうだから行なっているアウトプットがなぜ重要なのか説明できるようになった。

    0
    2019年07月28日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    学習方法とアイディア発想方法を著者の見識から明文化されている書籍。自分が無意識に行っていることが文章およびプロセス化されており、頭の中でどのような事が起きているか把握できて有意義だった。
    今後、学習およびアイディア発想をするときは活用することで効率良く、良いアウトプットを行いたい。

    0
    2019年04月13日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    面白いと感じつつ読み終わることができた。
    自分の中で言語化できてなかった部分について、記載されていたり、いい方法があったので取り込んで見ようとおもえた。
    何回か部分的にでも読みたいと思える本。

    0
    2019年04月06日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    自分自身も知的生産については考えることが多く、この本を読むことで自分の頭の中で考えていたことがスッキリしました。
    KJ法はやったことないけど、考え方がなるほどなぁーって思いました。

    一回読んで終わりというよりも、何回も読みなら自分の思考をアップデート出来る本です。

    0
    2019年03月12日
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    Posted by ブクログ

    大事なことは最初に書いてある
    技術を学ぶやり方3通り
    ・比較から学ぶ
    →例えば、他の言語ではどうなっているか知ることで違いがわかる。意味がわかる。
    ・歴史から学ぶ
    →なぜそうなったのか?どういう問題があってどう解決しようとして至ったのかを知ることで意味がわかる。
    ・作って学ぶ
    →とにかく手を動かして体でわかる。写経。

    本に書いてあることはわかるけど、なんでそうなの?という根源的な疑問を抱きがちだったので、当たり前に使われているコトバを説明してくれてよかった。折に触れて読みたいなあと思えた本。

    0
    2019年03月08日
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    Posted by ブクログ

    プログラミング言語が備える機能(if/while/forといった制御構文、例外機構、クラス等)が、何故必要とされるようになったかを解説してくれる本。
    歴史を紐解きながらの解説はよく納得できた。

    0
    2015年01月04日
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    Posted by ブクログ

    ブログラマーのみならず、システム業界に身をおく人なら、必ず読むべき良書。

    色々な言語を比較しながら、何故そうなっているのかの理由を背景と共に学べる。

    0
    2014年09月29日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    タイトルに惹かれて手に取った本。
    『自分の教えたい事が一冊に纏まっている本が欲しくて作った』と前書きにある通り、目新しい事が書かれている訳ではないが、とにかく実践的な思考法が一冊に纏まっている。

    特に読書法の紹介が色々あって面白かった。本を読むのは好きだが、読み方についてはいつも迷いがあるので参考にしたい。
    書き出し法について、重複は気にするな、粒度を合わせようとするな、など、気になる人には気になってしまう要素を先回りして「気にしなくて良い」と言ってくれるのが有難い。
    KJ法は面白かった。何か書く時、いつも箇条書きだとスラスラ書けるが、文章にする段階で手が止まり、時間がかかってしまうので参考にしたい。

    その他、学びになった点気になった点は以下。
    ・『目標を明確化する』自分はこれが出来ていないと感じた。
    ・写経を必要としない=『習熟した』と言えるが、同時に新しい分野へチャレンジしていないとも言える、というのは目からウロコだった。
    ・価値観はボトムアップ(日々のタスクから)で。(トップダウン=人生の目標)

    0
    2026年07月25日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    学生の頃の学びと大学以降の学びでは受講生と能動性が異なります。特に社会人になってからは誰かから教えてもらうのではなく、自分から学び続ける必要があります。

    今考えないといけない事は今どうあるべきなのかなのに、将来的には効果もしれないと考えるのは今ある。ミッションから気をそらしている証拠である。

    ゲッティングシングDownで提唱されている手法として、気になることを全部1カ所に集め、それらのリストの中から実施すべき内容とゴミや単なる資料に仕分けたりすることで、やるべき仕事を1つずつ片付けていくことができる。

    仕事には、誰がやっても一定の時間で一定のせいかしか出ない仕事がある。その中でも時間をかけても結果が出ないものを自分が行わないためには、自分にしかできない仕事を優先して獲得できるように結果を出すことが重要である。

    連続スペシャリストとは、ある分野の専門性を獲得し、その専門性を生かして異なる分野へ参入し、そこで新しく専門性を獲得する戦略です。

    0
    2024年05月02日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    再読
    新しい領域を学んでるとき、わりと「うわぁーーー(情報の渦に巻き込まれるーー)」となりがちだけど、ここに書いてあることを実践していければよさそう。

    0
    2023年06月03日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    情報収集、抽象化/パターン化、検証
     抽象化
      共通点、差分、たとえ話

    タスク
     洗い出し、一覧化
      具体的な行動が不要なものは、ゴミ/資料/保留に分類
      具体的な行動が複数なものはプロジェクトに
      次に取るべき行動が
       2分以内ならすぐにやる
       他の人にやってもらうことなら依頼して連絡待ちリストに
       特定の日時ならカレンダーに登録
       どれにも当てはまらないなら次に取るべき行動リストに

    不確かなものは楽観的に
     探索と利用のトレードオフ

    目標はボトムアップで
     現在の行動
     現在のプロジェクト
     注意を向けるべき分野、責任
     1,2年後の目標
     3,5年後の目標
     人生の目標、価値観

    タスクの切り方
     タイムボックス
      1ポモドーロ(25分)1タスク

    アウトプットが記憶を鍛える
     テスト後の復習
      思い出せるだけ思い出してからもう一度読む
     忘れてから復習
      ライトナーシステム
       やさしさ係数
       Anki
     認知的に高度な作業
      問題を自分で作る

    知識を構造化するルール
     最小情報原則にこだわる
      問題を可能な限りシンプルに
     順序の定まらない集合を覚えようとするな
     複数のものの並びを覚えようとするな
     穴埋め問題は覚えやすく効率的
     理解できないことを学ぼうとしない
      ドイツ語ができないのにドイツ語で書かれた教科書を暗記する等
     暗記する前に学ぶ
      知識の全体像を把握
     基礎から積み上げる
     干渉を見つけて取り除く
      似たような英単語を同時に覚える等
     他の記憶と関連付ける
     個人の体験や具体例と絡める
     感情と絡める
     言い回しを簡潔にする
      モデルに名前をつける
     出典を示す
     日付を記録する

    読書
     目的を明確に
     概要を把握
      目次などに注目
     キーワードを抽出
     質問を作る
     熟成させる
      10-20分、できれば一晩寝かせる
     答えを探す
     マインドマップにまとめる
     人に教える
     
     残像が消える前に別の本を読む
      アイデアの結合
     読書メモを定期的に読み返す
      間隔反復法
       読書メモへのリンクをAnkiに登録する等

    アウトプット
     KJ法
      アイデアメモを書き出す
       100枚目標
       重複などは気にしない
      並べて一覧性を高くする
       並べてる途中に思いついたものも記録する
      グループ編成
       関係ありそうなものをまとめる
        事前に分類方法を決めない
       グループに名前をつける
      図解化する
       関係などを図示
        類似、対立等
      文章化する

    アイデア
     インプット
      情報収集、加工
      言語化
       身体的感覚に注目
       絵に書く
       たとえ話を考える
        課題からキーワードを選ぶ
        キーワードを別の空間に紐付ける
        メタファの空間で連想する
        連想したものを課題空間に引き戻す
      自分の枠に囚われない
     寝かせる
     アイデア誕生
     ブラッシュアップ
      最小限の実装で製品化する
       顧客を明確にして品質を定義する
      フィードバックを分析する
       意見の違いに着目
      フィードバック反映
       機能の改善
       アイデアの作り直し

     暗黙知
      暗に知ること
       問題の解決に近づいているか、近づいていないかを感知する非言語能力
        言葉にできない違和感
         重要だと思う身体的感覚に関するキーワードを書き出す
         キーワードに対する辞書の説明と自分の感覚を比較する
         キーワードを使って短文を作る
      暗に知っていること


    知識
     拡大再生産戦略
      知識を使って
       時間を得て、その時間を知識獲得に投資
       お金を得て、そのお金を知識獲得に投資
       立場を得て、その立場を使って知識獲得
     差別化戦略
      複数分野をまたいだコミュニケーション
       社内の複数組織
       社内で学んだことを社外へ発信
       社外の情報を社内に発信
       仕事とは別のボランティア活動

    0
    2022年05月08日
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    Posted by ブクログ

    コーディングを支える技術

    エンジニアの西尾泰和 氏の著書です。
    現在のプログラミング言語で普通に使われている概念、仕様、機能が歴史的にどのような経緯で作られ、他の言語ではどのようになっているかについて書かれています。
    冒頭に効率良く学ぶには、比較から学ぶ、歴史から学ぶ、作ることで学ぶと書かれていますが、その前者2つを学べる本になっています。
    一つの言語で簡単なプログラムが書けるレベルの人が、レベルアップを目指すのに向いていると思います。

    【本書で学べること・考えること】
    - プログラミング言語が生まれた理由
    - 文法が生まれた理由
    - 構造化プログラミングが生まれた理由
    - 関数が生まれた理由
    - エラー処理が生まれた理由
    - 名前とスコープが生まれた理由
    - 型が生まれた理由
    - コンテナと文字列の言語ごとの違い
    - 並行処理の違い
    - オブジェクトとクラスとは

    読んでみての感想です。

    普通の技術書とは異なるアプローチで、言語に共通する仕様を説明してくれる本です。
    目的や成り立ちを知ることで、理解が深まるとともに他言語の学習コストを下げてくれます。良書だと思います。
    「プログラムはなぜ動くのか」など、PCでのプログラム処理の仕組みを知った後で読むとより理解が深まると思います。(マシン語、アセンブラをイメージできていると良い。)文法、構造化、関数、エラー処理、名前、スコープ、型、コンテナは、すべて人が理解しやすい記述ができるように生み出されたものでるということが理解できます。
    並行処理は、使い勝手の向上のためです。
    オブジェクト指向は、少し難しいですが、多重継承の問題などはわかりやすいと思います。

    0
    2022年05月04日
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    Posted by ブクログ

    勉強方法や、タイトルにあるように整理・アウトプットの方法がわからないというエンジニアの方におススメです。
    様々な学習方法や読書方法、アウトプット方法などがカタログの様に紹介されており、かつ実例を挙げて説明されている部分もあるため、理解・実践しやすいです。

    0
    2022年02月05日
  • コーディングを支える技術――成り立ちから学ぶプログラミング作法

    Posted by ブクログ

    プログラミング言語の成り立ち的な本かと思い購入
    中身はコーディングのお作法等について書いてありびっくり

    コーディングをする上で意識すべきもしくは注意すべきことが多く書かれている
    真新しく斬新な事は書かれていない
    ただわかっているつもりだったこと意外と分かっていなかったことに気づけた

    RubyとPerlを書いたことがなかったので例で載っているコード読むのに少し苦労した

    0
    2021年03月17日