プログラミン言語Crystalの本。Programming Crystal(ベータ版), Learning Crystal Programming(予約中)。null安全がGCに匹敵する進化? Maybeモナド、Eitherモナド
2018-10-07


ASAHIネット([URL] )のjouwa/salonから。
---
 プログラミング言語Crystalの本が出ていますね。
 Programming Crystalは、ベータ版です。
 Learning Crystal Programmingは、予約受付中。
 Pragmatic Bookshelfにある紹介。
[URL]
Programming Crystal

 Packtにある紹介。Packtの全品10ドルセールのときに、買った。
[URL]
Learning Crystal Programming

2018/10/13追記:
[URL]
プログラミング言語Crystalの本。Learning Crystal Programmingは出版中止

[URL]
Crystal: Fast as C, Slick as Ruby

[URL]
Crystalの日本語サイト

[URL]

 最近の言語は、いわゆるnull安全性対応の言語が増えたせいか、null安全性がない言語は悪いレガシー言語みたいにという人がいるのね。しかも、GC(ガベージコレクション)に匹敵する進化だって。そんなバカなと思う。

[URL]
2017年12月22日に更新
null安全でない言語は、もはやレガシー言語だ
@koher
--- ここから ---
null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進化だと考えています。
--- ここまで ---

 null安全なんて、言語仕様ではなくライブラリレベルで対応できる話だし、実装もGCよりよほど簡単だし、GCほどプログラミングが劇的に楽になるものでもない。
 null安全をライブラリレベルでやるのは、関数型言語のMaybeモナドがあればいい。実際、関数型言語の影響で、いろんな言語もMaybeモナドに相当するもの、たとえば、OptionとかOptionalなどを入れてますよね。Scalaには最初からあるし、Javaにも入ったし、C++にも入っている。だからMaybeやOption, Optionalなどを使えばいいだけ。
 ただ、Maybeモナドレベルじゃ、実際の開発では不十分で、Etherモナドに相当するものがほしい。ScalaにはEitherは10年前の2.7.1から標準であるし、例外をラップするのもやりやすくなってる。
 JavaやC++で、Eitherモナド相当のものを自分で作るのはできるけど、標準ライブラリに入ってほしいですね。

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット