2019.05.06御質問者様プログラムは書けるけど、それだけじゃダメなの?ヤワラダメではないですが、足りない事はあるかもしれませんね。先日、IT系の基礎知識を身に付けるための良書とされる「プログラムはなぜ動くのか」という書籍を読んだので、その書評を書かせて頂きます。私は大学の頃の専攻は非情報系の学科です。このため、仕事に必要なスキルは実務を通じて身に付けた物がほとんどです。情報系の方や、ベテランの技術者の方に比べると知識の幅広さで勝てないと感じる事が多いです。プログラムよりも基本的な部分の知識の不足を感じていました。具体的には、OSやCPUなどです。した部分の知識があると、ただ実装するだけでなく、より効率的に実装する事ができます(という事を話には聞いていました)。俺が新人の頃に、XXさんにコードレビューを依頼したら、OS的にはこういう実装は良くないって、メッチャ指摘されてさ~という話がでました。ヤワラそうなんですね~。(OS的に良くない実装って何のことや?)恥ずかしながら、これまでコードを書く時には、特にOS的にどうか?といった事はあまり考えていませんでした。本書にはOSやCPUなどの話もあるため「これを読めば先輩とのスキルの差を埋めるのに役立つのでは?」と考えて本書を読むことにしました。いった人にオススメか?本書を一通り読んだ結果、以下の様な人にお勧めです。知らないと絶対に無理、という訳ではありませんが、知っていると役に立つ場面もあるという内容です。内容としては、プログラムをコンピュータはどう処理しているか、CPU、メモリ、OSとはどんな物か?何をしている物か?といった事が書かれています。勉強になったと感じるのは以下の事です。浮動小数点の誤差の原因DLLを使う事の利点ディスク領域におけるクラスタについてOS・CPU・プログラムの関係64bit版と32bit版でのプログラミングについて並列処理で値が想定通りにならない原因ヤワラ日頃あまり気にしていなかった事、改めて説明しようとすると詳しくは説明できない事を勉強するのに適した内容でした。本書を読んで説明できる様になった事(一部紹介)少しだけですが、本書を読んで私の理解が深まった内容を書きます。浮動小数点の誤差について浮動小数点型の変数では誤差がでるのは、演算プログラムを書いた人なら常識だと思います。私の認識では「言語仕様で有効桁が決まっているから」というものでしたが、本書で2進数の話と関連付けて説明されると、誤差がでる原因がより納得出来ました。※10進数で1/3を少数で表すと、0.3333...となってしまい上手く表現できません。プログラム的にはデータを2進数で表すため、10進数では有限桁でも2進数では無限桁になってしまう場合があります。このため、10進数で計算した結果とは微妙な誤差が出る場合があります。非情報系の出身でもOSが変わればプログラムは動かない、というのも常識として知っています。(同じアプリでもiOS用とAndroid用は別ですし、IT系の人でなくともご存知かと思います。)本書を読めば、OSが違うとはどういう事か?といった点の理解を進める事ができます。※簡単に言うと、アプリはOSと連携して動作しますが、OSが違うとアプリとOSのやり取りに使う言葉が変わるため、OSが変わるとアプリとの連絡が上手く行かなくなります。2007年04月Amazonで見るKindleで見る楽天ブックスで見る楽天koboで見るまとめ書籍「プログラムはなぜ動くのか」は、プログラミングの基本的なことから勉強したい、勉強し直したい、という方にお勧めです。ヤワラコンピュータの根本的な部分の内容であり、2,3年で役に立たなくなる知識ではないので、若手の内に読んでおくことをオススメします。ご参考になりましたら幸いです。コメントをキャンセルメールアドレスが公開されることはありません。名前メールサイト上に表示された文字を入力してください。date*日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)Profileブログ運営者:ヤワラ職業:システムエンジニア本好きの30代後半のSEです。学びのある読書をモットーに、ITの分野を中心とした専門書の紹介をしています。高度情報処理3区分保有し、現在は資格に関係なく、興味のある分野を書籍等を通じて勉強しています。ご質問等ありましたら、お気軽にコメント欄にお書きください。とあるITの専門書目録.コメントを読み込み中...コメントをどうぞメール名前サイト。