関数型言語と組み込み開発に関する議論

個人的なメモ用
1
hiro1357 (Hiroshi Imada) @eserver_dip_jp

組み込みとそうでないプログラミングの違いって、メモリとかフラッシュ領域とかのサイズに縛られるかそうでないか。くらいだと思う。リッチな環境だと、容量を考えなくてもライブラリが使えたりするので、デスクトップ機とかで開発してるのとたいして差がなくなる。

2013-07-02 01:09:40
alstamber @alstamber

@eserver_dip_jp でもその制限ゆえに関数型プログラミングが普及することはないと思うなあ

2013-07-02 01:10:29
hiro1357 (Hiroshi Imada) @eserver_dip_jp

@alstamber そこにつなげるつもりはなかったのだけれどw

2013-07-02 01:10:57
alstamber @alstamber

@eserver_dip_jp ちょうどタイムリーだったので

2013-07-02 01:11:19
hiro1357 (Hiroshi Imada) @eserver_dip_jp

@alstamber ちなみにだけど、組み込み機器にもjavaくらいは入ってたりするので、scalaくらいは動きそう?w (だから何って話になりそうだけど。

2013-07-02 01:12:18
alstamber @alstamber

@eserver_dip_jp いや、scalaってバイナリサイズがでかいねん

2013-07-02 01:12:41
hiro1357 (Hiroshi Imada) @eserver_dip_jp

@alstamber サイズがでかいのには何か原因があるはず。言語は言語、コンパイラはコンパイラなので、組み込みチューニングしてやれば、どの言語でもだいたいおkなはず。問題は出力されるバイナリよりは書きやすさだろうなあ。

2013-07-02 01:16:00
alstamber @alstamber

@eserver_dip_jp 組み込みでやるような処理が果たして関数型の抽象化に見合うかって言うのは疑問

2013-07-02 01:16:29
hiro1357 (Hiroshi Imada) @eserver_dip_jp

@alstamber 用途によると思う。「HDLって関数型っぽい」って言ってたじゃん。

2013-07-02 01:17:46
alstamber @alstamber

@eserver_dip_jp うーん、あれは宣言的であるって面だけだからね

2013-07-02 01:18:06
hiro1357 (Hiroshi Imada) @eserver_dip_jp

@alstamber でも、レイヤが下がれば下がるほど、関数の組み合わせに見えてくるんだよね。あらゆるものがモジュール化・関数化されてる。(例:ICとかLSIとか。CDD,HDDみたいなユニットとか。

2013-07-02 01:20:17
alstamber @alstamber

@eserver_dip_jp たしかにそうなんだけど、じゃあカリー化とかが組み込みの開発で有効なのかといわれると違う気がする

2013-07-02 01:20:45
hiro1357 (Hiroshi Imada) @eserver_dip_jp

@alstamber もうちょっと柔軟になってもいいと思うの。関数型言語”は”、これとこれとこれができないといけない!みたいな考え方をするよりは、関数型言語”の”、こことこことここは組み込み(その他)にも応用が効くよなあ。みたいな

2013-07-02 01:23:35
alstamber @alstamber

@eserver_dip_jp それはある、関数型プログラミングの考え方を応用するってのはべつに関数型言語でなくてもできる

2013-07-02 01:24:00
hiro1357 (Hiroshi Imada) @eserver_dip_jp

@alstamber まあ、結局、用途で言語を使い分けるっていうオチだろうなあ。関数型の要素が使いやすいと思ったら、その要素だけ取り込んで、いいとこ取り言語を新たに作り出すだけの話。(ちなみにRubyってそんなイメージ。僕の中では

2013-07-02 01:27:08
alstamber @alstamber

@eserver_dip_jp 正解はひとつではないよねえ

2013-07-02 01:27:34