Linux
ポエム
カーネル
ソースコードリーディング

もしかしたら僕たちはLinuxカーネルのソースを読み、勉強するべきなのかもしれない

More than 1 year has passed since last update.

もしかしたら、コンピュータやネットワークの基本を学びたければ、僕たちはLinuxのカーネルを読んで理解するべきなのかもしれない。

僕たちは、プログラミングの勉強といったら、とりあえずやりがちなのが、Swiftを学んでiOSアプリを作る、PHPを学んで、Webアプリを作る。ネットワークの本を読む。などである。

でも、それでいいんだろうか。それをやることは否定しないけど、SwiftやPHPはゴロゴロ変わっていって、ちゃんとした技能が残らない感じするのである。ネットワークの本は本で、一次情報じゃない。

もちろん、アプリを構築するときのノウハウは手に入る。

でも、もしかしたら、僕たちは賽の河原の石積みをやっているのかもしれない。もしかしたら、コンピュータの表層的なことを理解するのではなく、もっと根本から理解するべきなのかもしれない。

コンピュータの根本とは何か、それは、ハードウェアだったり、OSだったり、ネットワークだったり、コンパイラだったりする。

で、現時点で中身を覗くことができるネットワークOSはLinuxとFreeBSDだ。

Linuxのカーネルを理解して、仕事があるかはそういう方面のことには疎いので、知らない。儲かるという話はある。

でも、もしかしたら、SwiftやPython、PHPのような、ハードウェアから遠い高級言語は、間にヌルッとしたものが挟まっているので、コンピュータを理解することとは遠いのかもしれない。

仕事でそういう言語が必要なのはわかる。でも、もしかしたら、(特に若い人は)学ぶべきは、iOSアプリの作り方ではなく、Linuxカーネルの読み方なのかもしれない。iOSアプリから始めるのではなく、Linuxカーネルと、C言語とアセンブラから始めるべきなのかもしれない。

僕は、iOSアプリから始めたが、それは間違っていたのかもしれない。

では、それぞれの長所と短所を比べてみよう。


  • Linuxカーネルを読む


    • 長所


      • コンピュータの基本がわかる

      • ネットワークやコンピュータの構造が、第一次情報としてわかる

      • 時代によってそんなに変わらない(これは正しいかどうかわからない)

      • カーネルについての解説書がいっぱいでてる 

      • ソースコード読みの訓練になる

      • 特定のベンダに縛られない

      • 儲かる(本当かな?)



    • 短所


      • 難しい

      • 時間かかる
              





  • iOSアプリを作る


    • 長所


      • 形のあるものを作れる



    • 短所


      • ゴロゴロ変わっていく

      • コンピューティングの基本はわからない

      • 人のソースコードを読むスキルは身につかない





ということで、わけわからないかもしれないけど、Linuxカーネル読んで、色々記事書きたいと思う。

実際読んでてよくわからないが、よくわからんけど面白いのがLinuxカーネルだ。