Slide 1

Slide 1 text

新たな視点を手に入れよう
 〜Go風システムプログラミング〜
 おーひら
 
 2021.03.24.Wed 
 @おすすめの技術書 LT会


Slide 2

Slide 2 text

技術向上のためには何をすればよい?
 Q.

Slide 3

Slide 3 text

1つの下のレイヤーを学ぶ
 A.

Slide 4

Slide 4 text

1つの下のレイヤーを学ぶこと
 例1: ライブラリ関数
 ・使うだけでなく内部の実装を読む
 
 例2: Webアプリケーションフレームワーク
 ・Webの仕組みを勉強する


Slide 5

Slide 5 text

プログラミング言語の下のレイヤーとは?
 Q.

Slide 6

Slide 6 text

OS
 A.

Slide 7

Slide 7 text

OSはプログラミング言語を支える土台
 『Goならわかるシステムプログラミング』p.3 より引用


Slide 8

Slide 8 text

OSはどうやって学べばいいだろう?
 Q.

Slide 9

Slide 9 text

『Goならわかるシステムプログラミング』
 A.

Slide 10

Slide 10 text

『Goならわかるシステムプログラミング』
 目標
 ・OSの仕事が簡単に学べる
 ・プログラミングを支えている下位のレイヤー をプログラマーの視点で知ること
 
 ポイント
 ・Goの視点で進める(C言語じゃない!)


Slide 11

Slide 11 text

読んでみて、どんな変化が起きている?
 ・視点が増えた(このあと小さな例を紹介)
 ・Linuxプログラミングも楽しめるようになってきた
 ・Goも少しずつ書けるようになってきた
 ・結局、C言語にも手を出し始めた
 
 📝 まだ全然読み終わってない! → 『Goならわかるシステムプログラミング』をやっていく会 


Slide 12

Slide 12 text

package main import "fmt" func main() { fmt.Println("Hello, world!") } def main(): print('Hello, world!') if __name__ == '__main__': main() みんなちがって みんないい
 
 
 


Slide 13

Slide 13 text

package main import "fmt" func main() { fmt.Println("Hello, world!") } def main(): print('Hello, world!') if __name__ == '__main__': main() システムコール視点では同じ!
 $ strace python3 hello.py ... write(1, "Hello, world!\n", 14) = 14 ... $ go build hello.go; s trace ./hello ... write(1, "Hello, world!\n", 14) = 14 …

Slide 14

Slide 14 text

さて、みなさんが今からすべきことは?
 
 Q.

Slide 15

Slide 15 text

本を買いに行こう!
 A.

Slide 16

Slide 16 text

Amazonなら新品で ¥3,520
 https://www.amazon.co.jp/dp/4908686033 (2021-03-24 17:00時点)


Slide 17

Slide 17 text

紙本しかないの?
 Q.

Slide 18

Slide 18 text

PDF版もある!
 A.

Slide 19

Slide 19 text

ラムダノートなら同じ値段で紙本とPDFがセット!
 https://www.lambdanote.com/products/go


Slide 20

Slide 20 text

まとめ
 ・プログラミング言語の1つの下のレイヤーを学ぼう!
 ・いろんな視点でみると深まる!
 ・ラムダノートで買うしかない!
 📝: 発表者TODO: ラムダノートのリンクをお知らせする

Slide 21

Slide 21 text

Appendix
 (気になったコメントなど)


Slide 22

Slide 22 text

下位レイヤーだけでなく、背景の理解も重要


Slide 23

Slide 23 text

ラムダノートの編集長のコメント
 https://twitter.com/golden_lucky/status/1375274918200418305

Slide 24

Slide 24 text

頂いたコメント
 ・1冊買ったら、1冊ついてくる。1-1 = 0 なので実質無料!
 ・一昔前はC言語やっとくといいよ〜のポジションがGOに変わってきて るってかんじですかね
 ・ハードウェアまでレイヤーを低くするのは過剰な気はします
 ・発表者TODO公開しているのいいなーw