トップページ > プログラム > 2014年06月21日 > P7AT9cRE

書き込み順位&時間帯一覧

23 位/220 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000201000000003



使用した名前一覧書き込んだスレッド一覧
はちみつ餃子 ◆8X2XSCHEME
デフォルトの名無しさん
Lisp Scheme Part38
関数型プログラミング言語Haskell Part25

書き込みレス一覧

Lisp Scheme Part38
832 :はちみつ餃子 ◆8X2XSCHEME [sage]:2014/06/21(土) 13:14:23.01 ID:P7AT9cRE
gcc くらいに高度なコンパイラになるとどんな風に最適化したコードを吐くか予測するのが難しくて、
癖をよく知ってないとチューンナップのつもりが逆効果ってこともあるし、
かといって最適化をオフにすると他の箇所全部が遅くなるわけなんで、俺も >>831 に一票。
関数型プログラミング言語Haskell Part25
870 :デフォルトの名無しさん[sage]:2014/06/21(土) 13:21:28.22 ID:P7AT9cRE
動的型だから緩いということもないと思うが。
エラーが出るのが実行時かコンパイル時かという違いだけで、
型が合わなきゃまともに動かないのは同じだよ。

Common Lisp は型を明示することも出来るけど、
それは型チェックのためのものじゃなくてコンパイラに最適化のヒントを与えるためだったりするし、
宣言した型に特化したコードにコンパイルするので宣言通りでない型のオブジェクトがくると SEGV ったりしやすくなる。
緩いと言えば緩いのかもしれないけど、処理系のチェックが入らない分だけプログラマにとってはハードな部分もある。
関数型プログラミング言語Haskell Part25
872 :デフォルトの名無しさん[sage]:2014/06/21(土) 15:42:40.48 ID:P7AT9cRE
Common Lisp は機能不足だったり遅くてもいいからざっくりと動くものを書いてから改良するというスタンス。
そのために必要なプロファイラや逆アセンブラも充実してる。
動的型だから事前にどんな型のオブジェクトが渡されるかわかんないけど、
プログラマは知っているという前提で型の特定はプログラマが宣言するという形でさせる。
プログラマがチューニングするための道具を提供するという方向で進化したから、
歴史が長い割に処理系がやってくれる最適化はそれほど強力ではなかったりする。

そんなわけで、動かしながら改良するというやり方なんで、
型が合わない場合も含めて問題に気付き易いし、
どうしてもよくわかんなくなったら戻ってやり直しすればいい。

ようするに開発手順も含めて考えないと評価できんぽよ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。