エンジニアなら処理系依存のコードは避けるべきでは?というか処理系じゃなくて言語の話だったのでは? twitter.com/sessoh/status/…
2015-06-17 15:15:58@oskimura さすがエンジニアの方、処理系のどのバージョンだとどの部分がどのタイミングでどう処理されるのかまで完全に把握しておられるようで、恐れ入りました。
2015-06-17 15:16:50@oskimura いや、例えば、論理的にはどちらから先に処理しても構わないような部分について、処理系のどのバージョンではどちらから先に処理されるかご存じなわけですよね?
2015-06-17 15:21:16.@oskimura んー、よくわかりませんが、手続型言語を知らない関数型言語ネイティヴがいてもいいじゃないか、という話から、しかし、関数型言語も最終的な実装は手続型言語、という現実があるわけで、その中身も知らずに関数型言語だけを使うのは危険ではないか? という私の意見でした。
2015-06-17 15:30:36CコンパイラはCで記述されてると記憶してるが。原初はアセンブラだったかもね。 RT @sessoh: 個人的には、関数型言語でコードを書く人が、その関数型言語自体の実装について、どれだけ理解しているのか気になる。以前ツイッターでも、「○○は○○自身で書かれている(キリッ」みたいな
2015-06-17 15:37:06何が関数型言語だ、CPUの息遣いを感じながらCを書けみたいなスタンスでやっていかないと死ぬ領域というのは確かにあるけど、ソフトウェア開発の全部がそういうわけじゃないし、一般的にそうあるべきだみたいに言うのは主語がでかいか視野が狭い
2015-06-17 15:37:26低レベルな実装を分かってないと理解したことにならないの老害でしか無いと思うんですけど。高水準言語で起きていることを低レベルで理解できるのは勿論重要ですが、高水準言語の枠組みで実用レベルに思考できる方がはるかに重要だと思うんですが。。。
2015-06-17 15:43:44基本的に関数型言語というのはチューリング機械に基づくモデルじゃなくてラムダ式の評価という計算モデルを採用しているので実行云々のはなしはその言語が採用しているラムダ計算の評価戦略に依存することになる。
2015-06-17 15:45:47@sessoh @oskimura 関数型言語処理系にもバージョンやアーキテクチャの違いによるピットフォールが極たまにあります。が、このコードはこのアーキテクチャだとこのアセンブリに落ちるので違いが出るといった下の方を含んだ理解をする必要はコンパイラ開発者でもなければありません
2015-06-17 15:46:41@sessoh @oskimura 関数型言語処理系にもバージョンやアーキテクチャの違いによるピットフォールが極たまにあります。が、このコードはこのアーキテクチャだとこのアセンブリに落ちるので違いが出るといった下の方を含んだ理解をする必要はコンパイラ開発者でもなければありません
2015-06-17 15:46:41読みましたが、”関数型言語も最終的な実装は手続型言語、という現実”ってどういう意味でしょうか? twitter.com/sessoh/status/…
2015-06-17 15:51:16評価戦略の話で言えば評価順が不定な例を知っているべきだが、各処理系でどう挙動するかという知識は全く肝心ではない。でもそれは関数型言語でも手続き型でも同じことではないでしょうか
2015-06-17 15:51:23んー、やっぱり、「プログラミング言語の開発者は天才!神!俺達とは別物!」といった感じで丸投げして、将来的には自分もプログラミング言語の開発に関わっていく、ような可能性はバッサリ切り捨てる人が多いのかな…
2015-06-17 15:54:00抽象性の破れが生じない限りは抽象性の上で踊ってたほうが高い生産性を享受できるのは間違いない。抽象性の下まで知る必要があるかは抽象性の安定度によるのでなんとも。アセンブラとかも触ってたけど今F#でIL見るかっていったら見ないし(´・ω・`)
2015-06-17 15:59:07