作品一覧

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

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

    ビジネス・実用

    3.9
    1巻2,717円 (税込)
    本書は,プログラミング言語が持つ各種概念が「なぜ」存在するのかを解説する書籍です。 世の中にはたくさんのプログラミング言語があります。そしてプログラミングに関する概念も,関数,型,スコープ,クラス,継承など,さまざまなものがあります。多くの言語で共通して使われる概念もあれば,一部の言語でしか使われない概念もあります。これらの概念は,なぜ生まれたのでしょうか。本書のテーマは,その「なぜ」を理解することです。 そのために本書では,言語設計者の視点に立ち,複数の言語を比較し,そして言語がどう変化してきたのかを解説します。いろいろな概念が「なぜ」生まれたのかを理解することで,なぜ使うべきか,いつ使うべきか,どう使うべきかを判断できるようになるでしょう。そして,今後生まれてくる新しい概念も,よりいっそう理解しやすくなることでしょう。
  • エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする

    ビジネス・実用

    4.1
    1巻2,728円 (税込)
    (概要) 仕事をするうえで、どのように学び、整理し、アウトプットするのか。ソフトウェアエンジニア向けに、プログラミングと執筆を具体例として、知的生産の方法を解説した書籍です。サンプルコードの丸写しでは仕事に役立つプログラムを書けないのと同様に、知的生産術も丸写しではあなたの役に立つものにはなりません。 本書では、数々の知的生産術を比較して学ぶことで、何が重要な原則なのかを体得し、みなさんが自分の環境に合わせて手法を修正し、組み合わせ、新しく生み出せるようになることを目的とします。また筆者が日ごろ行っている具体的な手法や、今までの試行錯誤も紹介します。

ユーザーレビュー

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

    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日

新規会員限定 70%OFFクーポン 今すぐGET