Google
ブログ(iiyu.asablo.jpの検索)
ホットコーナー内の検索
 でもASAHIネット(asahi-net.or.jp)全体の検索です。
 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。
 例 中村(show) ki4s-nkmr

ウェブ全体の検索

プログラミング、ソフトウェア開発の健全な常識、教養を身につけるためのお薦め本リスト2024年04月25日 11時41分34秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 4月にソフトウェア業界に入った新人さんたち。
 教養がないのぉ。
 いつから?
 今日よー、\(^O^)/
と言われる毎日でしょう。ここで紹介する本でしっかり勉強すれば、
 教養があるのぉ。
 いつから?
 今日よー、\(^O^)/
になれるぞ。

 ここからは真面目な話。
 新人さんはもちろんだが、何年もこの業界にいながら、プログラミングやソフトウェア開発の健全な常識、教養がない人たちがいる。
 健全な常識、教養がないから、コピペ島倉千代子だったり、ありえないほどとんでもないコード、腐ったコード、クソコードを書く。企業からすれば、そういう人は、会社に地雷や時限爆弾を仕掛けて回っているテロリストのようなもの。
 即座にコードを書くのを止めさせないと、会社には遺産どころか、負の遺産が溜まってしまう。そういう人が書いたコードは、リファクタリングできればいいほうで、大体、ゼロから設計をやり直して、全部書き直しが多く、時間、金、人材の負担がとても大きい。
 だから、クビにするか、コードを書かない部署に配置転換する。

 上記のような人は、基本が全然なってない。若いうちに必死で基本を叩き込んでないから、やることがめちゃくちゃ。
 ChatGPTのような生成AIが、コードを生成してくれる現在、ろくでもない腐ったコードを書く技術者は、お払い箱。そういう人は、生成AIに頼って仕事をしようと思っても、生成AIが作るコードのよしあしがわからないから、結局、お払い箱。
 そうなっちゃまずいから、何度も指摘して、参考資料やいろいろなアドバイスを送っても、全然、何もやらず、スキルアップできない人も多い。このままでは、クビになるという危機感がないのだろう。
 プロ野球などのプロスポーツ世界ほど残酷ではないけれど、ソフトウェア業界も、できない奴はクビになる。クビにならないまでも、開発からはずされて配置転換、ボーナスカットといったことは、どこの会社でもやっている。
 しかも、この業界は、技術革新、技術の進化が激しく、日々、自分を鍛えてないと、すぐ使い物にならなくなる。
 クビ、配置転換、ボーナスカットを言い渡されて、初めて愕然とするが、手遅れ。
 配置転換で、運用、テストに回っても、何年も前からDevOpsと言われるように、運用でもプログラミングができないとだめだし、テストも自動化がどんどん進んでいる。
 全域にわたって、自動化、省人化を進めるのが企業なので、基本的な力が備わってないと、どの部署でもどの会社でも、すぐお払い箱になる。
 基本がなってないのに、定年まで、その企業やこの業界にしがみつけると思っているなら、考え方が甘すぎる。

 定年といえば、かつてぼくが若い頃、プログラマ35歳定年説があった。
 65歳になって振り返ってみれば、35歳で定年になったプログラマは、基本が身につかず、一部は才能もあるかもしれないが、「継続は力なり」という日々の鍛錬を怠った人が多かったと思う。
 ぼくがプログラマという言葉を使うときは、いわゆる「本物のプログラマ」を指す。
 いいコードも書けるし、いい設計もできるし、コンサルもできるような人。
 世間で流布している、おかしなヒエラルキー、SE(システムエンジニア)が上位でプログラマが下位といった意味でのプログラマではない。
 実際、プログラマ35歳定年説をものともせず、50歳、60歳を過ぎても活躍している「本物のプログラマ」は、あちこちにいる。
 そういう人たちは、ソフトウェア開発やプログラミングの健全な常識、教養を身につけている。基本がしっかりしていて、日々の努力を続けてきた人たち。
 「本物のプログラマ」は、会社が離さない。定年関係なく働いてくれと言われたり、引退したのに、このプロジェクトだけは、どうか力を貸してくれ、アドバイザーとして入ってくれと頼まれたりしている。

 対照的なのが、自分はクビにならないとタカをくくって、日々の努力もせず、目の前の仕事は、場当たり的対応、やっつけ仕事で適当にこなして、その日暮らし。
 ANSIやJISの規格、ネットのプロトコルなどの規格、プログラミング言語の言語仕様、ライブラリ仕様といった仕様を、読んで理解しようともせず、適当にあれこれいじくって、たまたまうまくいっただけなのに、できましたなどという。
 その仕事のやり方だと、基本がなってないので、伸びない。
 難しくてわからんとひぃひぃ言いながら、規格を読み、仕様を読み、理解しようと努力する。その過程で力がつく。日々、続けていれば、いずれすいすい読んで理解できるようになる。どこを読み飛ばしてどこをしっかり読めばいいのか、ポイントがわかるようになるから。
 プログラミングでも、
・基本的なアルゴリズム、基本的なデータ構造、必要な数学の基本
・コンパイラ、OS、ネットワークやハードウェアの基本
・なぜ、そうするのか、なぜ、こういう言語仕様、ライブラリ仕様なのか、考える習慣
を身につければ、しっかりした基礎ができる。
 すると、たとえば、複数のプログラミング言語の習得はたやすいし、Linuxサーバのソフト開発、PCのソフト開発からスマホのアプリ開発まで、幅広く力が出せるようになる。

 前置きが長くなった。説教臭くてすみません。
 以下、ぼくが思う、ソフトウェア開発、プログラミングの健全な常識、教養を身につけるための本や記事のリスト。
 これらは、特定のプログラミング言語でのテクニックというより、それ以前に身につけておきたい、ソフトウェア開発やプログラミング全般の話が主なものです。
・1つの関数が何百行もあるようなコードを書く人
・コピペして一部をちょっとだけ変更した、ほとんど似たコードを量産する人
・適切なインターフェースを設計せず、1つのクラス・構造体に不必要になんでもぶち込んで、それをたらい回しにするコードを書く人
など、要するに、適切な設計ができない、面倒くさがってリファクタリングしない(あるいは、その能力がない)人は、いずれも必読。
 全部は無理だろうから、せめて、「リーダブルコード」か良いコード/悪いコードで学ぶ設計入門」のどちらか。それと「プリンシプル オブ プログラミング」くらいは読んで、健全な常識、教養を身につけてください。

■実例で学ぶ、コード品質の高め方
https://codezine.jp/article/detail/17984
なぜ今、コード品質が求められるのか? ChatGPT時代を生き残るためのエンジニアの基礎スキル
第1回 コード品質の指標とコード品質が求められる背景
浅原 明広(株式会社Sider)[著] / 千葉 滋(東京大学情報理工学系研究科教授)[監修]

https://codezine.jp/article/detail/18337
どうやってコード品質を測るのか? ソースコード品質の測定指標とその活用
第2回 コード品質の定量的な測定指標を理解しよう
浅原 明広(株式会社Sider)[著] / 千葉 滋(東京大学情報理工学系研究科教授)[監修]

https://codezine.jp/article/detail/18854
どうやってコード品質を上げるのか? 実例で学ぶリファクタリング
第3回 ステップ・バイ・ステップで学ぶC++コードのリファクタリング
浅原 明広(株式会社Sider)[著] / 千葉 滋(東京大学情報理工学系研究科教授)[監修]

■良いコードとは何か
 「良いコードとは何か」は、サイバーエージェントの人が、新人教育で使ったスライドです。
 サイバーエージェントさん、森さん、スライド公開、ありがとうございます。
https://note.com/cyberz_cto/n/n26f535d6c575
良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer

■リーダブルコード
 「リーダブルコード」は、いまや古典的名著。
 後述「良いコード/悪いコードで学ぶ設計入門」と比べると、やや抽象的な話が多いと思う。

https://www.amazon.co.jp/exec/obidos/ASIN/4873115655/showshotcorne-22/
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 単行本(ソフトカバー) – 2012/6/23
Dustin Boswell (著), Trevor Foucher (著), 須藤 功平 (解説), 角 征典 (翻訳)

 オライリージャパンにある紹介。詳しい目次もあります。電子書籍も買えます。
https://www.oreilly.co.jp/books/9784873115658/
リーダブルコード
―より良いコードを書くためのシンプルで実践的なテクニック
Dustin Boswell、Trevor Foucher 著、角 征典 訳

■良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
 最近は、こちらも人気。
 以前も紹介したが、「ITエンジニア本大賞2023」技術書部門で大賞受賞!
 「リーダブルコード」より、具体的な悪いコードと改良したコードが載っているから、イメージしやすいのだと思う。

単行本(ソフトカバー) – 2022/4/30
https://www.amazon.co.jp/exec/obidos/ASIN/4297127830/showshotcorne-22/
良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方 単行本(ソフトカバー) – 2022/4/30
仙塲 大也 (著)
https://www.amazon.co.jp/exec/obidos/ASIN/B09Y1MWK9N/showshotcorne-22/
良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方 Kindle版
仙塲 大也 (著) 形式: Kindle版

 技術評論社(技評)にある紹介。詳しい目次もあります。電子書籍も買えます。
https://gihyo.jp/book/2022/978-4-297-12783-1
良いコード/悪いコードで学ぶ設計入門
―保守しやすい 成長し続けるコードの書き方

■プリンシプル オブ プログラミング
 ソフトウェア開発、プログラミングの法則集、格言集、金言集。
 後述、「ルールズ・オブ・プログラミング」と間違えないように。

https://www.amazon.co.jp/exec/obidos/ASIN/4798046140/showshotcorne-22/
プリンシプル オブ プログラミング 3年目までに身につけたい一生役立つ101の原理原則 単行本 – 2016/3/23
上田 勲 (著)
https://www.amazon.co.jp/exec/obidos/ASIN/B071V7MY82/showshotcorne-22/
プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則 Kindle版
上田勲 (著) 形式: Kindle版

 秀和システムにある紹介。詳しい目次もあります。電子書籍も買えます。
https://www.shuwasystem.co.jp/book/9784798046143.html
プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則 (単行本)

 DRY原則はあったが、SOLID原則がないなあとは思いました。

■DRY原則
 DRY原則は、一番簡単にいえば、「コピペするな」ということ。
https://ja.wikipedia.org/wiki/Don%27t_repeat_yourself

■SOLID原則
 SOLID原則は、5つの原則の頭文字を並べたもの。
https://ja.wikipedia.org/wiki/SOLID
だと、話が抽象的過ぎて、ぴんと来ないかも。

https://zenn.dev/keiichiro/articles/9397379ab638b1
マリオで学ぶSOLID原則
は、例がシンプルすぎて、ありがたみがわからないかも。
 次くらいのレベルだと、どうでしょうか。
https://zenn.dev/nakurei/books/solid-principle-kanzen-rikai
SOLID原則完全に理解した!になるための本

■Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考
https://www.amazon.co.jp/exec/obidos/ASIN/4798068160/showshotcorne-22/
Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考 単行本(ソフトカバー) – 2023/1/28
Tom Long (著), 秋勇紀 (翻訳), 高田新山 (翻訳), 山本大祐 (監修)

https://www.amazon.co.jp/exec/obidos/ASIN/B0BSW72QKZ/showshotcorne-22/
Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考 Kindle版
TomLong (著), 秋勇紀 (著), 高田新山 (著), 山本大祐 (著) 形式: Kindle版

 秀和システムにある紹介。詳しい目次もあります。電子書籍も買えます。
https://www.shuwasystem.co.jp/book/9784798068169.html
Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考 (単行本)

■独学プログラマー Python言語の基本から仕事のやり方まで
 独学シリーズは、ちょっと異色。
https://www.amazon.co.jp/exec/obidos/ASIN/4822292274/showshotcorne-22/
独学プログラマー Python言語の基本から仕事のやり方まで 単行本 – 2018/2/24
コーリー・アルソフ (著), 清水川 貴之 監訳 (その他), 清水川 貴之 (翻訳), 新木 雅也 (翻訳)
https://www.amazon.co.jp/exec/obidos/ASIN/B07BKVP9QY/showshotcorne-22/
独学プログラマー Python言語の基本から仕事のやり方まで Kindle版
コーリー・アルソフ (著), 清水川 貴之(監訳) (その他) 形式: Kindle版

 日経BPにある紹介。詳しい目次もあります。電子書籍も買えます。
https://bookplus.nikkei.com/atcl/catalog/18/C92270/
独学プログラマー Python言語の基本から仕事のやり方まで

■独学コンピューターサイエンティスト Pythonで学ぶアルゴリズムとデータ構造
https://www.amazon.co.jp/exec/obidos/ASIN/4296070347/showshotcorne-22/
独学コンピューターサイエンティスト Pythonで学ぶアルゴリズムとデータ構造 単行本 – 2022/8/26
コーリー・アルソフ (著), 清水川 貴之 (翻訳), 新木 雅也 (翻訳), 大村 和子 (翻訳), tell-k (翻訳)
https://www.amazon.co.jp/exec/obidos/ASIN/B0BBKH6XRM/showshotcorne-22/
独学コンピューターサイエンティスト Pythonで学ぶアルゴリズムとデータ構造 Kindle版
コーリー・アルソフ (著), 清水川 貴之 (翻訳), 新木 雅也 (翻訳), 大村 和子 (翻訳), tell-k (翻訳) 形式: Kindle版

 日経BPにある紹介。詳しい目次もあります。電子書籍も買えます。
https://bookplus.nikkei.com/atcl/catalog/22/07/19/00285/
独学コンピューターサイエンティスト Pythonで学ぶアルゴリズムとデータ構造

■達人プログラマー(第2版): 熟達に向けたあなたの旅
 次は、中級から上級向け。
https://www.amazon.co.jp/exec/obidos/ASIN/4274226298/showshotcorne-22/
達人プログラマー(第2版): 熟達に向けたあなたの旅 単行本 – 2020/11/21
Andrew Hunt (著), David Thomas (著), 村上雅章 (翻訳)

https://www.amazon.co.jp/exec/obidos/ASIN/B08T9BXSVD/showshotcorne-22/
達人プログラマー ―熟達に向けたあなたの旅― 第2版 Kindle版
David Thomas (著), Andrew Hunt (著), 村上雅章 (翻訳) 形式: Kindle版

 オーム社にある紹介。
https://www.ohmsha.co.jp/book/9784274226298/
達人プログラマー(第2版)
熟達に向けたあなたの旅

■ルールズ・オブ・プログラミング
 前述、「プリンシプル オブ プログラミング」と間違えないように。

https://www.amazon.co.jp/exec/obidos/ASIN/4814400411/showshotcorne-22/
ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール 単行本(ソフトカバー) – 2023/8/28
Chris Zimmerman (著), 久富木 隆一 (翻訳)
 電子書籍は、オライリー・ジャパンで買えます。
https://www.oreilly.co.jp/books/9784814400416/
ルールズ・オブ・プログラミング
―より良いコードを書くための21のルール
Chris Zimmerman 著、久富木 隆一 訳

 オライリー・ジャパンにある紹介。
https://www.oreilly.co.jp/books/9784814400416/
ルールズ・オブ・プログラミング
―より良いコードを書くための21のルール
Chris Zimmerman 著、久富木 隆一 訳

 大ヒットゲーム『Ghost of Tsushima (ゴースト・オブ・ツシマ) 』だって。
 バックは情報省\(^O^)/
 対馬といえば、漫才のナイツ、土屋伸之の先祖は「元寇」で戦った武将。はい、情報省のスパイ\(^O^)/
 ナイツの塙宣之は、「SAGA、さが」という歌詞の大ヒット曲「佐賀県」で有名な兄の「はなわ」が、長く佐賀で暮らしたので、兄弟ともに情報省のスパイ\(^O^)/
 佐賀をなめたらいけんよ。大ヒットゲーム「ウマ娘 プリティーダービー」も佐賀よ。
 その辺の話は、股の機械に。

 情報省を知らない人は、
http://iiyu.asablo.jp/blog/2022/05/23/9493426
情報省とは何か。日本の支配者、いや、地球の支配者、いや、宇宙の創造主だった\(^O^)/

http://iiyu.asablo.jp/blog/2013/08/18/6950045
高倉健 主演映画「あなたへ」でわかる情報省支配
をどうぞ。

■NHKのデタラメな番組、NHK「ノーナレ」「変かんふうふ」について:
http://iiyu.asablo.jp/blog/2023/12/30/9647029
NHK「ノーナレ」「変かんふうふ」は、仮名漢字変換の歴史を改竄・捏造し、先人の功績を無視し、名誉を傷つけたフェイクニュース番組
http://iiyu.asablo.jp/blog/2023/12/30/9647026
仮名漢字変換の歴史改竄・捏造番組、NHK「ノーナレ」「変かんふうふ」。元東芝の天野真家さんも産経新聞に怒りのインタビュー。NHKの末廣信吾、佐々木麗、篠田洋祐、本間一成は謝罪訂正し、配信も中止せよ
https://iiyu.asablo.jp/blog/2022/05/18/9491639
NHK「ノーナレ」、仮名漢字変換の歴史、浮川夫妻が発明は大嘘。管理工学研究所の我々が先。あのノーナレは歴史を改竄、捏造した歴史修正主義トンデモ悪質番組

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
一富士、二鷹、三は? ひらがなで。

コメント:

トラックバック

このエントリのトラックバックURL: http://iiyu.asablo.jp/blog/2024/04/25/9678787/tb

_ ホットコーナー - 2024年04月26日 08時40分52秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
https://iiyu.asablo.jp/blog/2024/04/25/9678787
プログラミング、ソフトウェア開発の健全な常