プログラミング日記(21-01-04)
体調が良くない。
The Rust Programming Language 日本語版
- 所有権のところを学んていく。
- なんとなく、コストの高そうな変数は copy の trait がない感じか?
- 参照渡しとは、つまりポインタだよね。
- 気がおかしくなるで。
- つまり文字列はスライスなん?
- 構造体の項目を眺めていると、Go言語もそうだけど、オブジェクト指向というコンセプト自体を全否定しているのではなく、C++/Java でいうところのインターフェイスを強化こそが、つまり多態が大切なんだ、という意気込みを感じさせてくれる。
- Java の文字列オブジェクトの同値性を equal メソッドで乗り切ろう、というのはどっから来た思想なんだろう。あれは、知らないとどうしようもない沼だからなぁ。Java はプリミティブがあって、== はオブジェクトの id しかみてないから、同値でないという、というのを知るのに何年かかったことか。
- タプル構造体、ってやつは Haskell で言うところの ... なんだっけ?直和型、かな?
- トレイトが理解できていないのよね。他の言語で言うところのアノテーション、Python のデコレーションだと思っているけど。
- よし、今日はここでオシマイ。明日は enum から読んでいく。
とほほのHaskell入門
- この前、とほほ氏がアップしてくれた記事をみてモナドが理解できた気がしたので、復習を兼ねて再度読むことにする。
- マルチパラダイムプログラミング言語の説明は、ちょっと違うような。Ruby は OOP 言語だけど、どう見ても関数型言語の Lisp 由来の機能がたくさんあるし、純 OOP 言語と自称しているのは、プリミティブがないというだけだと思っているが。あと、OOP も命令形言語の一つだと思うよ。
- 標準出力の仕組みが副作用ない、という主張がこの前まで理解できてなかったけど、返り値が引数に何を入れても一定で、じゃあなんで標準出力が可能なのかずっと疑問に思っていたけど、それを解決してくれるのがアクションとモナドだと気がついたのがこの前でした。これは OOP のレン中も見習うべき、というよりも AOP が叶えられなかった夢でもあるような。
- runghc を初めて知ったのよね。あと、誤植発見。rungpc になってる。
- そういえば Haskell って多倍長整数も扱えるのね。
- 要素が0のタプルを、ユニットというのね。これは Rust でもあったような気がする。
- 正格評価は seq 使うのか。
- infix* って、演算子の定義に使うのね。Ruby にも入らないかな?
コメント
コメントを投稿