丸善のおすすめ度
プログラマー脳~優れたプログラマーになるための認知科学に基づくアプローチ~
Felienne Hermans
著
水野貴明
翻訳
水野いずみ
監修
発行年月 |
2023年02月 |
---|
|
|
言語 |
日本語 |
---|
媒体 |
冊子 |
---|
|
|
ページ数/巻数 |
18p,269p |
---|
大きさ |
24cm |
---|
|
ジャンル |
和書/理工学/情報学/プログラミング |
---|
|
|
ISBN |
9784798068534 |
---|
|
商品コード |
1035782789 |
---|
NDC分類 |
007.64 |
---|
|
|
本の性格 |
実務向け |
---|
|
新刊案内掲載月 |
2023年03月4週 |
---|
|
商品URL
| https://kw.maruzen.co.jp/ims/itemDetail.html?itmCd=1035782789 |
---|
著者紹介
Felienne Hermans(著者):●Felienne Hermans
オランダのライデン大学の准教授で、プログラミング教育やプログラミング言語について研究している。また、アムステルダム自由大学教師アカデミーでコンピュータサイエンスの教授法を専門とする教師・教育者であり、ロッテルダムのリセウム・クラリンゲン高校で教鞭を執っている。初心者プログラマー向けのプログラミング言語「Hedy」の開発者でもあり、ソフトウェアに関するWeb上で最大のポッドキャストの1つである『SoftwareEngineering Radio』のホストも務めている。
水野貴明(翻訳):●水野 貴明
ソフトウェア開発者/技術投資家。Baidu、DeNAなどでソフトウエア開発やマネジメントを経験したのち、現在は英AI企業Nexus FrontierTechのCTO/Co-Founderとして、多国籍開発チームを率いている。また、その傍ら、スタートアップを中心に開発支援や開発チーム構築などの支援や、書籍の執筆、翻訳なども行っている。
水野いずみ(監修):●水野 いずみ
実践女子大学生活科学部生活文化学科(生活心理専攻・幼児保育専攻)准教授(専門分野:社会心理学)。
内容
長年プログラミング教育の研究に取り組んでいる著者が、最新の「認知科学」に基づいて、プログラミングの際のさまざまな作業や技術の取得を効率的に行うための方法を解説しています。
まずは、コードを書いたり読んだりするときに「プログラマーの脳」がどのように働くかという認知プロセスについて説明しています。なぜなら、作業が異なれば、利用する認知プロセスも異なり、使うべきテクニックも変わってくるからです。
認知プロセスの段階や相互作用について理解したところで、「コードを速く、深く読む」「コードを読みやすくする」「新しい言語を短時間で習得する」といったことについて、どの認知プロセスを活用しているのかを考えて、どのような方法を採るべきかなのかを具体例を挙げて説明しています。また、プログラミングそのものではありませんが、新しい開発者を迎え入れる際のオンボーディングプロセスについても、認知科学的な側面から掘り下げています。
本書は、13の章から成り、大きく4つの部に分けられています。各章では、次のような内容を説明しています。
・第1章:プログラミングを行う際に重要な3つの認知プロセスと、それぞれの認知プロセスがどのような混乱と関連するか
・第2章:コードを素早く読み、その仕組みを理解する方法
・第3章:プログラミングの構文や概念をよりよく、より簡単にきちんと学ぶ方法
・第4章:複雑なコードを読み解くためのテクニック
・第5章:見慣れないコードをしっかりと理解するためのテクニック
・第6章:プログラミングにおける問題解決のテクニック
・第7章:コードや思考中のバグを回避するためのテクニック
・第8章:特にコードベース全体において、明確な変数名を選択する方法
・第9章:「コードの臭い」とその背後にある認知科学的背景
・第10章:複雑な問題を解決するための、より高度なテクニック
・第11章:コーディングという行為そのものと、プログラミングにおけるさまざまなタスク
・第12章:大規模なコードベースを改善する方法
・第13章:新しい開発者のオンボーディングプロセスの苦痛を軽減する方法
本書は、脳の働きをより深く理解することで、プログラマーとしてのスキルや習慣を向上させたいと願う、すべてのレベルのプログラマーのために書かれていますが、特に「職業プログラマー」が直面するような状況が取り上げられています。チーム開発、大規模ソフトウェアシステム構築、オンボーディングサポートなどの経験などがあると、本書をより理解し、活用できるでしょう。また、JavaScript、Python、Javaなど(APLやBASICも!)の言語で書かれたコード例が出てきますが、特定の言語の知識や経験は必要ありません。