$30 off During Our Annual Pro Sale. View Details »

『達人プログラマー 第2版』/ Pragmatic Programmer 2nd Ed.

『達人プログラマー 第2版』/ Pragmatic Programmer 2nd Ed.

#devsumi 2022
https://event.shoeisha.jp/devsumi/20220217/session/3650/

「ITエンジニア本大賞2022」に『達人プログラマー 第2版』が選出されたそうで、ご縁があって著者でも翻訳者でも編集者でもないのにプレゼン大会でピッチすることになりました 😇

Further Reading:
* goto.bookclub: https://gotopia.tech/bookclub/episodes/pragmatic-programmer-in-2020
* 『達人プログラマー 第2版』(PDF版)https://tatsu-zine.com/books/the-pragmatic-programmer-2ed
* 角谷信太郎 × 和田卓人 ピアソン技術書のゼロ年代と俺たち ―"OO厨"史観のふりかえりと、技術書翻訳のこれから― - YouTube https://www.youtube.com/watch?v=khNX9-4tpEU

Shintaro Kakutani

February 17, 2022
Tweet

More Decks by Shintaro Kakutani

Other Decks in Technology

Transcript

  1. !LBLVUBOJ'FC EFWTVNJ

  2. ࠓ೔ͷ͓͸ͳ͠ w ʰୡਓϓϩάϥϚʔ ୈ൛ Šख़ୡʹ޲͚ͨ͋ͳͨͷཱྀʱ͸ l5IF1SBHNBUJD1SPHSBNNFSZPVSKPVSOFZUPNBTUFSZ  UI"OOJWFSTBSZ&EJUJPOzͷ຋༁Ͱ͢ प೥ه೦൛ 

    w શ໘తʹݟ௚͞Εɺ͸ॻ͖ԼΖ͞Εͨվగ൛Ͱ͢ɻ࠷ॳͷ ൛ ΍৽૷൛ Λཤम͞Εͨํ΋ະཤमͷํ΋ੋඇͲ͏ͧ w प೥ه೦൛ͰมΘͬͨͱ͜Ζ΍มΘͬͯͳ͍ͱ͜Ζͷେ࿮ Λ͓఻͍͑ͨ͠ͱࢥ͍ͬͯ·͢ վΊͯಡΈ௚͢ͱɺੲ࿩΍ࣗ෼ޠΓΛͨ͘͠ͳͬͯ͠·͏͕զຫզຫʜ😬
  3. ͥͻ࡭͓ٻΊ͍ͩ͘͞R w ࢴ൛೚ҙͷ ΦϯϥΠϯ ॻళ͔Β w ిࢠॻ੶൛,JOEMF ͳͲ  w

    1%'1%'ୡਓग़൛ձͰങ͑·͢R ࢲ͸ʰୡਓϓϩάϥϚʔʱ͸ݪஶͱҎલͷ൛ͱͰࢴ൛छྨɺిࢠॻ੶छྨ࣋ͬͯ·͢ʜɻ 
 ·͋ɺ͜ΜͳΜͳΜ΅͋ͬͯ΋͍͍Ͱ͔͢ΒͶɻ IUUQTUBUTV[JOFDPNCPPLTUIFQSBHNBUJDQSPHSBNNFSFE
  4. ֯୩৴ଠ࿠ @kakutani 
 ʰϢχίʔϯاۀͷͻΈͭʱ༁ऀ🦄😇 Ұࣾ ೔ຊ3VCZͷձཧࣄ ג Ӭ࿨γεςϜϚωδϝϯτސ໰ 
 ϑΟϤϧυϒʔτΩϟϯϓސ໰

    5IF1SBHNBUJD#PPLTIFMGࣾץߦॻ੶ LJOEB ຋༁ऀ
  5. None
  6. IUUQTHPUPQJBUFDICPPLDMVCFQJTPEFTQSBHNBUJDQSPHSBNNFSJO

  7. ʰୡਓϓϩάϥϚʔʱ຋༁ͷόʔδϣϯ l5IF1SBHNBUJD1SPHSBNNFS'SPN +PVSOFZNBOUP.BTUFSz   5IF1SBHNBUJD1SPHSBNNFSZPVSKPVSOFZUPNBTUFSZ 
 UI"OOJWFSTBSZ&EJUJPO  

    ϐΞιϯɾΤσϡέʔγϣϯץߦͷୈ൛ͷ຋༁  ΦʔϜࣾץߦͷʮ৽૷൛ʯ ಺༰͸ୈ൛ ஫ऍ  ΦʔϜࣾץߦͷʮୈ൛ʯ 
  8. ϐΞιϯԶͨͪδϡϯΫಊ<ݕࡧ> ͍ΘΏΔlϐΞιϯɾγϣοΫz 

  9. lϐΞιϯɾγϣοΫzαόΠόʔζ ͜ͷλΠτϧ͸೔ຊޠͰ΋ಡΈܧ͕Εͯ΄͍͔͠Βٹग़ͯ͠΄͍͠ 
 ͱ͓ئ͍ͨ͠ͷśƀśƀ ΦʔϜࣾ͞Μ͋Γ͕ͱ͏͍͟͝·͢ 
 ࠓ೔͓࿩͍ͯ͠͠Δͷ΋ʮಡΈܧ͕Εͯ΄͍͠ͱࢥ͍ͬͯΔਓ୅දʯŕũŠŪʜ

  10. ͥͻ࡭͓ٻΊ͍ͩ͘͞R w ࢴ൛೚ҙͷ ΦϯϥΠϯ ॻళ͔Β w ిࢠॻ੶൛,JOEMF ͳͲ  w

    1%'1%'ୡਓग़൛ձͰങ͑·͢R ຊͱΩʔϘʔυ͸࣮࣭ແྉ IUUQTUBUTV[JOFDPNCPPLTUIFQSBHNBUJDQSPHSBNNFSFE
  11. प೥ه೦൛

  12. IUUQTHPUPQJBUFDICPPLDMVCFQJTPEFTQSBHNBUJDQSPHSBNNFSJO “Tech and society have changed, but we are still

    people making the same mistakes we were making 20 years ago. !"#$%#&'()*+,-.'+/&'012 3456789:;<=>?@*ABC
  13. ੈل຤ˠੈلϓϥάϚςΟοΫ w &5$ &BTJFS5P$IBOHF ݪଇ[NEW!] w ϙϦάϩοτ ଟݴޠ ͦͯ͠ϚϧνύϥμΠϜ w

    ܧଓతΞʔΩςΫςΟϯά w ੜ੒తͳl։ൃϓϩηεz w lڞʹಇ͘z ηΫγϣϯ [NEW!] w l8JUIHSFBUQPXFSDPNFTHSFBUSFTQPOTJCJMJUZz🕸 ෭୊͕l'SPN+PVSOFZNBOUP.BTUFSz͔ΒlZPVSKPVSOFZUPNBTUFSZzͱগ͠มΘ͍ͬͯΔͷ΋ʮΞοϓσʔτʯ͔΋ʜ  ୯ʹࠓͱͳͬͯ͸৬ਓͷϝλϑΝΛલʹग़ͣ͞ͱ΋ŲƅƁŞƄŽŵŖΛޠΕΔͱ͍͏͜ͱͩͱࢥ͏͚ΕͲʜ
  14. IUUQTHPUPQJBUFDICPPLDMVCFQJTPEFTQSBHNBUJDQSPHSBNNFSJO “Developers are changing the world. We have a duty

    to be mindful of the impact of what we do. DEFGHI<&JABCK2 .'+L/-MN);GOJABCPQRSTLUVWCXYGZC
  15. $)"/(&%ংจͷدߘऀ w 8BSE$VOOJOHIBN͔Β w ύλʔϯ8JLJ91 w ୈ൛ͷ·͕͖͑ 1SFGBDF ͸࢒͍ͬͯΔ͕ɺংจ 'PSFXPSE

    ͸ফ͑ͨʜ🥺 w 4BSPO:JUCBSFL΁ w $PEF/FXCJF $PNNBOE-JOF)FSPFT w ͪ͜Β΋ྑ͍ংจͰ͢🥰 ʰύλʔϯɺ8JLJɺ91ʱ͸ిࢠॻ੶Ͱࠓ͙͢ಡΊΔ
  16. lʜϓϩάϥϛϯά͸ϓϩάϥϚʔͷੈքͷҰ෦Ͱ͔͋͠Γ· ͤΜɻຊॻ͸ͦͷੈքΛ୳ٻ͍ͯ͠ΔͷͰ͢ɻʜ͜ͷੈքʹ ೖͬͯൺֱతؒ΋ͳ͍ਓ͸ɺϓϩάϥϛϯάͱ͍͏ߦҝͰ͸ ͳ͘ɺϓϩάϥϚʔʹͳΔͱ͍͏ϓϩηεʹ؆୯ʹѹ౗͞Ε ·͢ɻʜΑΓΑ͍ϓϩάϥϚʔʹͳΔͱ͍͏ϓϩηε͸ɺϓ ϩάϥϛϯάͷํ๏Λ஌͍ͬͯΔ͚ͩͰ͸ɺ͙͢ʹ͸ੜΈग़ ͞Ε·ͤΜɻΑΓΑ͍ϓϩάϥϚʔʹͳΔͱ͍͏ҙਤͷ΋ͷ ͱɺண࣮ʹ࣮ફ͍ͯ͘͠ඞཁ͕͋ΔͷͰ͢ɻຊॻ͸ͦ͏͍ͬ ͨΑΓΑ͍ϓϩάϥϚʔʹͳΔͨΊͷΨΠυͱݴ͑·͢ɻ ڧௐ౳͸Ҿ༻ऀʹΑΔ

  17. 5*.&-&44࣌Λ௒͑ͨϓϥάϚςΟοΫͳಓ w ϓϩάϥϚʔͱ͍͏ΩϟϦΞͷʮશମʯΛࣔ͢ w ظ଴ʹԠ͑Δ͜ͱlզʑ͸໰୊Λղܾ͢ΔͷͰ͢z w ʮίϯςΩετʯΛѻ͏ͨΊͷϚΠϯυηοτ w ϓϩάϥϛϯά͸ٕܳʜͨΏ·͵ݚᮎʜ w

    ୯ͳΔ࢓ࣄΛ௒͑ͨΩϟϦΞʜͦͯ͠ਓੜʜ w lʮԿΛͨ͠ΒΑ͍͔ʯͱ͍͏ͷ͸୭΋ڭ͑ͯ͘Ε·ͤΜɻ ͔͠͠զʑ͸ɺͲΕΛ͢΂͖͔ͱ͍͏ਫ਼ਆʹ͍ͭͯ 
 ޠΔ͜ͱ がで ͖·͢ʜz վΊͯಡΜͰΈΔͱɺ೥΍ͬͯͯ΋·ͩ·ͩࢸΒͳ͍͜ͱ͹͔ ΓͰ͢Ͷʜ
  18. ࢲͷϝϞϥϒϧɾ ΫΥʔτ ঞ ͜ΜͳΜͳΜ΅Ͱ΋΍Ε·͔͢ΒͶ

  19. lιϑτ΢ΣΞ͸ݐஙͱ͍͏ΑΓ΋Ψʔσχϯά ʢͭ·ΓίϯΫϦʔτͰ͸ͳ͘ɺΑΓ༗ػతͳ΋ ͷʣʹ͍ۙͷͰ͢ɻϏδωεാͷਓʑ͸Ϗϧͷݐங ϝλϑΝʔ͕๬·͍͠ͱߟ͍͑ͯ·͢ɻʜ͔͠͠ զʑ͕࡞Γग़ͦ͏ͱ͍ͯ͠Δͷ͸ߴ૚ϏϧͰ͸͋Γ ·ͤΜɻʜΨʔσχϯάͷϝλϑΝʔ͸ιϑτ΢Σ Ξ։ൃͷݱ࣮ʹ͔ͳΓ͍ۙ΋ͷͰ͢ɻʜ ڧௐ౳͸Ҿ༻ऀʹΑΔ ΞϨάβϯμʔͷύλʔϯϥϯήʔδ͸ɺݐஙΛΨʔσχϯάͷΑ͏ʹ΍Ζ͏ͱ ͨ͠ײ΋͋Δʜιϑτ΢ΣΞ͕ʮ༗ػతʯͳΒʮ͍͖͍͖ͱͨ͠ʯιϑτ΢ΣΞ

    ͱ͍͏΋ͷ΋ଘࡏ͠͏ΔͷͰ͸
  20. lզʑ͸ɺιϑτ΢ΣΞΛߏங͢Δ།Ұͷ ํ๏͸ΠϯΫϦϝϯλϧʹਐΊ͍ͯ͘ͱ͍ ͏΋ͷͩͱڧ֬͘৴͍ͯ͠·͢ɻΤϯυ πʔΤϯυͷখ͞ͳػೳΛߏங͠ɺͦ͜ ͔Β࡞ۀΛਐΊͳ͕Β໰୊ʹֶ͍ͭͯश͠ ͍ͯ͘ͷͰ͢ɻ ͜Ε͔͠ͳ͍ΜͰ͢l8FTUSPOHMZCFMJFWFUIBUUIFPOMZ XBZUPCVJMETPGUXBSFJTJODSFNFOUBMMZz ڧௐ౳͸Ҿ༻ऀʹΑΔ

  21. ͜͜Ͱࢲͷ͓ؾʹೖΓ ͩͬͨୈ൛ͷংจΛ ୈ൛ͷংจͱൺ΂Δͱɺ·͋ஔ͖׵͑ΒΕͯ΋࢓ํͳ͍͔ͳʜ ࣌୅Αʜͱ͍͏ؾ࣋ͪʹͳͬͯ͠·͕ͬͨɺͰ΋΍ΔΜͩΑR

  22. lʜஶऀ͸ プ ϩ グ ϥϜͷ࡞ΓํΛڭ͑ͯ͘Ε·͢ɻ͔͠΋ɺզʑ が ࣮ફ で ͖Δ΍Γํ で

    ڭ͑ͯ͘ΕΔͷ で ͢ɻ͜ͷͭ໨ͷจষ͸ ͋ͳͨ が ࢥ͍ͬͯΔҎ্ʹॏཁͳҙຯΛ͍࣋ͬͯ·͢ɻʜ͜ͷ ຊ͸5JQΛूΊͨ だ ͚ͷ΋ͷ で ͸͋Γ·ͤΜɻ͜Ε͸༽ͷໟൽ Λ·ͱͬͨ パ λʔϯϥϯ ゲ ʔ ジ ͳͷ で ͢ɻͭ·ΓͦΕ ぞ Εͷ 5JQ が ܦݧʹཪଧͪ͞Ε͓ͯΓɺ۩ମతͳΞ ド バ Πεͱͯ͠ه ड़͞ΕɺղܾࡦͷγεςϜΛߏ੒͢ΔΑ͏ɺޓ͍ʹؔ࿈ づ ͚Β Ε͍ͯΔ͔Β で ͢ɻ͜͏͍ͬͨಛ௃ʹΑΓ パ λʔϯϥϯ ゲ ʔ ジ ͷ ֶशͱ࣮ફ が ՄೳʹͳΔͷ で ͢ɻ൴Β͸·͞ʹ パ λʔϯϥϯ ゲ ʔ ジ Λ࢖͍ͬͯΔͷ で ͢ɻʜ ڧௐ౳͸Ҿ༻ऀʹΑΔ
  23. lͻͱ͜ͱ で ݴ͑ ば ɺ パ λʔϯͱ͸ղܾࡦ で ͋ Γɺ

    パ λʔϯϥϯ ゲ ʔ ジ ͱ͸͓ޓ͍Λิڧ͠߹͏ ղܾࡦͷγεςϜ ܥ ͳͷ で ͢ ͜Ε͸ୈ൛ͷηΫγϣϯͷͭͳ͕Γͷάϥϑɻ͜ͷͥΜͿ͕ʮશ ମʯɻݸผͷϊʔυͱΤοδʹ΋lશମz͕͋Δ
  24. ͪͳΈʹୈ൛ͷηΫγϣϯಉ࢜ͷͭͳ͕Γ ୈ൛ΑΓ΋஦ͿΒΓΜͳηΫγϣϯ͕ݮͬͯ·ͨ͠

  25. ͜ͷάϥϑը૾ࣗମʹ͸ಛʹҙຯ ͸ͳ͍͚Ͳɺݟ͑ͳ͗͢͞Δͷ Ͱɺதԝ͋ͨΓΛগ֦͠େʜ

  26. lʜ͋ͳͨ が ݸ͔Βݸͷ5JQΛಡΈऴ͑Δࠒʹ͸ɺ͋ͳͨ ͷ؟લʹผ࣍ݩͷੈք が ޿ が Γ࢝ΊΔ͸ ずで ͢ɻզʑ͸ͦΕΛ

    28"/ŠŠແ໊ͷ࣭ 2VBMJUZ8JUIPVU"/BNF ͱݺΜ で ͍·͢ɻ͜ͷຊʹ͸͋ͳͨͷҙࣝʹછΈೖΓɺ͋ͳͨࣗ਎ͷྐ ͱͳΔ఩ཧ が ؚ·Ε͍ͯΔͷ で ͢ɻ͜Ε͸फڭͷק༠ で ͸͋Γ ·ͤΜɻ୯ʹ ど ͏ͳΔ͔ͱ͍͏͜ͱΛ఻͍͑ͯΔ だ ͚ で ͢ɻ͠ ͔͠఻͓͑ͯ͘͜ͱʹΑͬͯɺΑΓޮ཰తʹͦΕΛ࣮ײ で ͖Δ ͸ ずで ͢ɻ఩ཧ が ͋ΓɺͦΕΛ΋͍ͬͨ ぶ Β ず ʹ͍ࣔࠦͯ͠Δ ఺ が ͜ͷຊͷྑ͍ͱ͜Ζͳͷ で ͢ɻʜ ڧௐ౳͸Ҿ༻ऀʹΑΔ
  27. ࠓ೔ͷ͓͸ͳ͠ w ʰୡਓϓϩάϥϚʔ ୈ൛ Šख़ୡʹ޲͚ͨ͋ͳͨͷཱྀʱ͸ l5IF1SBHNBUJD1SPHSBNNFSZPVSKPVSOFZUPNBTUFSZ  UI"OOJWFSTBSZ&EJUJPOzͷ຋༁Ͱ͢ प೥ه೦൛ 

    w શ໘తʹݟ௚͞Εɺ͸ॻ͖ԼΖ͞Εͨվగ൛Ͱ͢ɻ࠷ॳͷ ൛ ΍৽૷൛ Λཤम͞Εͨํ΋ະཤमͷํ΋ੋඇͲ͏ͧ w प೥ه೦൛ͰมΘͬͨͱ͜Ζ΍มΘͬͯͳ͍ͱ͜Ζͷେ࿮ Λ͓఻͍͑ͨ͠ͱࢥ͍ͬͯ·͢ ఻ΘΓʜ·͔ͨ͠ʜ
  28. ࠷ޙʹ΋͏ͻͱͭɺ 
 ࢲͷϝϞϥϒϧɾ ΫΥʔτ ͜Ε͸ୈ൛ʹ΋࢒͍ͬͯͨͷͰɺ঺հ͠·͢

  29. l プ ϩ グ ϥϛϯ グ ͱ͸ٕܳ で ͢ɻͦͷ࠷΋७ਮͳ෦෼ で

    ͸ɺ͋ͳͨ ͋Δ͍͸͋ͳͨͷϢʔ ザ ʔ が ΍Γ͍ͨ͜ͱ Λίϯ ピ ϡʔλʹ఻͑ΔͨΊͷ࡞ۀͱݴ͑·͢ɻͦ͠ ͯɺ プ ϩ グ ϥϚʔ で ͋Δ͋ͳͨ͸ɺฉ͖खɺΞ ド バ Π ザ ʔɺ຋༁ऀɺಠࡋऀͱࣗΒͷ໾ׂΛԋ じ ෼͚Δͷ で ͢ɻͱΒ͑ ど ͜Ζͷͳ͍ཁٻΛ͔ͭΈɺͦͷදݱखஈΛ ໛ࡧ͢Δ͜ͱ で ɺ୯ͳΔػց が ૉ੖Β͍͠ྗΛൃش で ͖ ΔΑ͏ʹͳΓ·͢ɻ͋ͳͨ が ࢓ࣄΛจॻԽ͢Δ͜ͱ で ɺ पғͷਓͨͪ͸ͦͷ࢓ࣄΛཧղ で ͖ΔΑ͏ʹͳΓ·͢ɻ ڧௐ౳͸Ҿ༻ऀʹΑΔ
  30. lʜ·ͨɺ͋ͳͨ が ࢓ࣄΛ޼Έʹ૊ΈཱͯΔ͜ͱ で ɺଞ ͷਓͨͪ͸͞ΒͳΔ্Λ໨ࢦͤΔΑ͏ʹͳΔͷ で ͢ɻ͞ Βʹɺ プ

    ϩ ジ ΣΫτͷ༰ࣻͳ͍εέ ジ ϡʔϧͱઓ͍ͳ が Βɺ͜ΕΒ͢ べ ͯΛ͋ͳͨࣗ਎ で ߦ͏ͷ で ͢ɻͭ·Γɺ ͋ͳͨ͸ຖ೔খ͞ͳح੻Λى͜͠ͳ が Β࢓ࣄΛਐΊ͍ͯ ͘ͱ͍͏Θ͚ で ͢ɻ ͜Ε͸େมͳ࢓ࣄ で ͢ɻ ڧௐ౳͸Ҿ༻ऀʹΑΔ
  31. ͜Ε͸େมͳ࢓ ࣄ で ͢ɻ

  32. ͋ͳͨ͸ຖ೔খ͞ͳ ح੻Λى͜͠ͳ が Β ࢓ࣄΛਐΊ͍ͯ͘ͱ ͍͏Θ͚Ͱ͢ɻ

  33. !LBLVUBOJ'FC EFWTVNJ

  34. ͥͻ࡭͓ٻΊ͍ͩ͘͞R w ࢴ൛೚ҙͷ ΦϯϥΠϯ ॻళ͔Β w ిࢠॻ੶൛,JOEMF ͳͲ  w

    1%'1%'ୡਓग़൛ձͰങ͑·͢R ຊͱΩʔϘʔυ͸࣮࣭ແྉ IUUQTUBUTV[JOFDPNCPPLTUIFQSBHNBUJDQSPHSBNNFSFE
  35. !LBLVUBOJ'FC EFWTVNJ