書籍「一般教養としてのプログラミング」を読む(その4)
マガジンリスト > 書籍「一般教養としてのプログラミング」を読む > その4
コンピュータの仕組みはどこまで知るべきか
上記の「一般教養としてのプログラミング」を読み進めています。
今回は、「Chapter 3 仕組みを理解する」を読みました。
これは、自分もそう思います。プログラミングを今から始めるという方はこの書籍で扱っている必要最小限の知識で十分だと思います。
プログラミング初学者は、コンピュータの仕組みを詳しく知るよりもまず、意図通りに動くプログラムを作成することに注力してもらいたいです。そして、いろいろなプログラムを書いて、それを実際に利用していくうちに、必要に迫られてコンピュータの仕組みを理解しなくてはならない場面がでてきます。たとえば、処理をより精度よく、より高速に実行させるにはどうすればよいかを考えるとき、この書籍で解説されているデジタル化の方法やコンピュータの構成、アーキテクチャを考慮していく必要があります。
そのため、プログラミングを進めながら必要に応じてコンピュータの仕組みの理解を深めていく、というスタンスでよいのではないかと思います。
未来のコンピュータ
量子コンピュータはよく聞きますが、バイオコンピュータというものもあるんですね。知りませんでした。
DNAコンピュータとか、ニューロコンピュータなどとも呼ばれるみたいですね。
バイオコンピュータ - Wikipedia
IoT社会に向けての課題
IoT は技術的には既に可能な状況だし、お年寄りのみまもりや農業などの分野では実際に利用されていることがこの書籍でも紹介されています。
でも、以前から話題に挙がっている IoT ですが、普及しているかというと、そうでもないなと思っていました。その原因は、「セキュリティや情報秘匿性の担保(個人情報など)の懸念」だったんですね。これらを考えることは確かに重要なことだと思いますので、納得です。
それも解決されつつあるとのことですので、IoT社会が加速するかもしれませんね。ただ、猫も杓子も IoT という風になってしまうのはよくないと思います。どのようなことに IoT を利用、応用していくか。それを考えていくことが今後の課題になるのではないでしょうか。
導入する技術は高度なものでなくてもよい
IoT サービスを導入するというと、「高度な技術が必要なんだろうな」と想像しがちですが、実際は必ずしも高度なものでなくてもよいです。
実際、ソフトウェア開発では、高度な技術はあまり利用する機会はなく、高校数学のレベルで理解できるような技術を利用することが多いです。重要なのは、むしろこれらの技術をうまく組み合わせて実現したいサービスのアルゴリズムを作成していくことだと思います。
連載「高校数学をプログラミングで解く」は、サービスを組み上げていくための要素技術を学ぶのによい題材だと思います。この観点で、「高校数学をプログラミングで解く」をやってみてもらえると嬉しいです。
まとめ
今回は、Chapter 3 を読んで気になる箇所にコメントしました。この Chapter 3 で紹介されているコンピュータの基礎知識はあまり触れませんでしたが、基礎知識としてうまくまとめられていると思いますので、是非一読されることをお勧めします。
今回は、ここまで。
次回は Chapter 4 について、コメントしていきたいと思います。
MK's papa
この記事が気に入ったらサポートをしてみませんか?