静的な型付けをしなくても 安全?
開発方法が 短いメソッド コーディング+並行テスト でカバーできる?
静的な型システムでも セキュリティは向上していない
型安全性は 幻想?
言語に理論モデルを持つものと そうではないものがある.プラグマティクな人は 創るものが重要で
現実的な対応で よいのは 理解できるが
理論モデル屋から見ると 正当性が 保証されない言語を 安全とは いえない
工学屋は どっちつかずなのだが.
2008年2月5日火曜日
2008年2月1日金曜日
ローカル変数とスコープ
ALGOL系言語のコンパイラを学生時代に 卒論として作ったが、苦労したのが変数のスコープである.ALGOL60を参考にしながらスタック管理でブロック対応したが、満足できなかった.
Gries先生の本(Compiler construction )を読んで by reference 対応を 考察したときに 評価実態 と言う 概念を入れて 評価単位内 = スコープ として 修正した.
理論モデル上では、再帰的呼び出しの 不動点の停止性を 見つけられずに 苦労した.
Rubyを勉強していて ローカル変数 の 怖さを 覚える.スコープ保証がないのは便利ではないはずと思うのは私だけなのだろうか?
言語設計哲学が 違うのが ベースにあると思えるので 仕方のないことだが.
確かホーア(Sir Charles Antony Richard Hoare)先生だったと思うが global Variable is considered harmful と言っていたと思う
Gries先生の本(Compiler construction )を読んで by reference 対応を 考察したときに 評価実態 と言う 概念を入れて 評価単位内 = スコープ として 修正した.
理論モデル上では、再帰的呼び出しの 不動点の停止性を 見つけられずに 苦労した.
Rubyを勉強していて ローカル変数 の 怖さを 覚える.スコープ保証がないのは便利ではないはずと思うのは私だけなのだろうか?
言語設計哲学が 違うのが ベースにあると思えるので 仕方のないことだが.
確かホーア(Sir Charles Antony Richard Hoare)先生だったと思うが global Variable is considered harmful と言っていたと思う
変数スコープ と ブロック (Ruby)
ALGOL系言語のコンパイラを学生時代に 卒論として作ったが、苦労したのが変数のスコープである.ALGOL60を参考にしながらスタック管理でブロック対応したが、満足できなかった.
Gries の本(Compiler construction )を読んで by reference 対応を 考察したときに 評価実態 と言う 概念を入れて 評価単位内 = スコープ として 修正したときに、再帰的呼び出しの 不動点の停止性を 見つけられずに 苦労した.
Rubyを勉強していて ローカル変数 の 怖さを 覚える. スコープ保証がないのは便利ではないはず. 言語設計哲学が 違うのが ベースにあるので 仕方のないことなのだが.
Gries の本(Compiler construction )を読んで by reference 対応を 考察したときに 評価実態 と言う 概念を入れて 評価単位内 = スコープ として 修正したときに、再帰的呼び出しの 不動点の停止性を 見つけられずに 苦労した.
Rubyを勉強していて ローカル変数 の 怖さを 覚える. スコープ保証がないのは便利ではないはず. 言語設計哲学が 違うのが ベースにあるので 仕方のないことなのだが.
確かホーア(Sir Charles Antony Richard Hoare)先生だったと思うが global Variable is considered harmful と 言っていたと思う.
2008年1月31日木曜日
ブロック引数の共用は有害である
引数が既存のローカル変数の場合でその引数がブロックの引数として使われる場合、ブロック内部と外部で共用されることでの 予期せぬ事態は うまくない
性能UPのためらしいが
Parameters to a block may be existing local variables; if so, the new value of the variable will be retained after the block completes. This may lead to unexpected behavior, but there is also a performance gain to be had by using variables that already exist. For more information on this and other “gotchas,” see the section “But It Doesn't Work!”; more performance information can be found in the section “But It's Too Slow!”.
性能UPのためらしいが
Parameters to a block may be existing local variables; if so, the new value of the variable will be retained after the block completes. This may lead to unexpected behavior, but there is also a performance gain to be had by using variables that already exist. For more information on this and other “gotchas,” see the section “But It Doesn't Work!”; more performance information can be found in the section “But It's Too Slow!”.
2008年1月28日月曜日
Rails フレームワークの限界
MVC+規約で フレーム化の狙いは 面白い
Viewがポイントで、HTML+JavaScriptを どの程度まで 見せなくできるか?が ポイント.
Controlle は Rubyに任せて規約(meteprogramming)で どの程度まで 書かなくてすませることができるか? が ポイント.
modelはかなり強力(Active Record)で 便利だ
開発プロセス【特に テスト指向)の規約も 便利だ
Viewがポイントで、HTML+JavaScriptを どの程度まで 見せなくできるか?が ポイント.
Controlle は Rubyに任せて規約(meteprogramming)で どの程度まで 書かなくてすませることができるか? が ポイント.
modelはかなり強力(Active Record)で 便利だ
開発プロセス【特に テスト指向)の規約も 便利だ
2008年1月23日水曜日
Rubyの面白さ と 混乱
配列に関して
負のINDEX
連続性があり面白いが
-が マイナスではなく 後尾からという 発想
0の次がー1 で 巡回 かな?
でも 最終 負のインデックス= 0 なのは どうしてだろう?
Ruby 面白い機能が 多すぎる .
負のINDEX
連続性があり面白いが
-が マイナスではなく 後尾からという 発想
0の次がー1 で 巡回 かな?
でも 最終 負のインデックス= 0 なのは どうしてだろう?
Ruby 面白い機能が 多すぎる .
登録:
投稿 (Atom)