「トリッキー」を含む日記 RSS

はてなキーワード: トリッキーとは

2007-11-03

可読性の高いソースコードが良いコードとされるに至ったのは、一体いつ頃からであっただろうか……。

その結果、何が起こった?

難解だが愉快なスパゲッティコードは悪となった。呆然とさせられるあの遊び心に満ちたトリッキーコードは悪となった。感動コードゴルフもまた悪手とされた。

プログラミングとしての技巧的なものに取って代わって、より安易なコードを書くことが良いこととされるに至った。よりテクニカルな、たった一行にも知識と労力を要するコードよりも、誰にでも読めるようなコードが良いとされるに至った。

じゃあ、ぼくらプログラマを志すものは、一体何がしたかったんだ? ソフトウェアを作りたかった? 断じて否! あの考え抜かれたコードの中に美と情熱思想とを感じ取り、それに憧れたんだ。愚直なコードに誰が感動しよう、誰が憧れよう! 誰にでも作れるようなソフトウェアでも構わない、他の誰にも書けないようなあのコードを書いた人々と、そのコードに憧れたんだ。それを解読できる人々に憧れたんだ!

2007-09-21

実況が困りそうな野球スコア

http://anond.hatelabo.jp/20070921053307

2007-08-23

文系技術を語ってはいけない理由」の文系にもわかるような説明 -論理を覚えたばかりの大学二年生は論理が大好きだ、でもちょっと待て。帰納ってのは論理じゃないんだ。お前の論理演繹だろ。でも、証明には帰納が大事なんだ

文系技術を語ってはいけない理由

http://anond.hatelabo.jp/20070822131329

で、文系技術を語ってはいけない、ということを書いた。

そしたら、

論理ができない理系は文章を書くなby理系

http://anond.hatelabo.jp/20070822142115

というTBをもらった。

どうやら、無知は恥ずかしい、というタイトルにした方が良かったのかもしれない。

サブタイトルが暗に示すように、対話では論理的である必要は必ずしも無い。

その理由を示す。

  • 公理系がないと証明はできない
  • 公理系(何を正しいと信じるか)は人それぞれ違う
  • 他人の公理系を直接観測することはできない

しかしながら

  • 公理系は人それぞれ違うけれど、かなり似ている

だから、論理だけを使って何かを証明することができなくもない。

だけどもだっけどー、通常の対話では完全な証明を与える必用は無く

「説得」という形をとるのだ。

じゃあ、説得とはなんなのか?

人間は外部から情報を与えない場合には、「演繹」という論理ステップしか実行できない。

一方で外部から情報を与えると、「帰納」という論理ステップを実行することができるようになる。

ただし、この「帰納」というのは統計的な正しさしか保証しない。

しかしながら、人間が定理だと信じていることは、全て統計的な正しさしか持っていない。

運動方程式が100%真実だと言う人もいないだろう。

すると、ある情報を与えると、人間演繹帰納を使うことで、

各自が持つ定理系自動更新する。

これによって、件の命題の真が統計的に保証されれば、説得が終了したことになる。

つまり、本来は論理的である必要など無く、

外部からの情報を入れれば、あとは各自で演繹してくれればいいのだ。

もちろん、数学のようにピンポイントな仮定と、トリッキーかつ複雑な論理が必用な場合は別である。

だけれど、そんな複雑な論理構造が通常発生することはまずない。

説得が成功するかどうかは、各自の持つ公理系と、各自の持つ論理能力に依存する。

後者は、馬鹿を相手にする気がないので、私にはどうにもできないが、

前者に対してはわかりやすい説明をすることで、

説得力を増すことができる。

従って、これからはこの目的で、説明文を書くのでよろしく。

だけど、これから用事があるので

続きが読みたかったら、TBくださいね。

2007-06-15

俺が Ruby を覚えた方法

http://anond.hatelabo.jp/20070615171101

俺は大学四年まで全くきちんとしたプログラミングをやったことが無くて(大学講義Javaの超簡単なのを教わったぐらい)で、卒論プログラミングをしなくちゃならなくて、そのとき初めて Ruby を触った。

RubyOOP ですげーんだぜ、とか一部で云われていた時代で、有名なアプリケーションtDiary ぐらいしかなかった。はじめはクラスとかも解らずに何が何だか。そのとき tDiaryプラグインクラス使ってないから簡単に書けるよ、というどこかのチュートリアルをみて見よう見まねで。GD という画像ライブラリを使ったら、サンプルをちょっと弄るだけで画像が作れて面白かったんだ。で、それを日記で公開してみた。今見返すとものすごくしょぼいソース

そのときたまたま Ruby ハカーの方がそのプラグインリファクタリングしてくれて、クラスを使って抽象化してくれて、初めて OOP をほんの少しだけ理解して、こうやってクラスって使うんだなぁというのを知った。本当に運が良かった。

その後就職して仕事php ハカーのすごい先輩にいろいろ教えてもらって php を使って基本的な OOP は理解した(PHPDIS る人が多いけど、プログラミング初心者には良い言語だと今でも思ってる)。これまた運が良かった。

その後またまた Ruby を使い始めたら今までよくわからなかった部分もするする頭に入ってきてホント面白ろくて没頭して。今では一通りのことは Ruby でできるようになった。

プログラミングが解るなら、Railsソース(トリッキーなことやりまくってるのでつらいかも。ActiveRecordActiveSupport はその中でも解りやすい)を読んで、解らなかったら rubygems で興味のありそうなライブラリコード読んで、あたりが OOPRuby 覚えるには手っ取り早いかも。

今なら Rubyレシピブック 268の技Rubyクックブック ―エキスパートのための応用レシピ集 あたり読んでおけば良いんじゃないなぁ。

あと今はてダRuby を含む日記を書くともれなく ruby-dev な人たちがキーワードからたどって読んでくれるので、解らないことをつぶやいたりすると結構答えてくれるみたい。のではてダ使って勉強日記とか書くのも良いと思うよ。

とあんまり参考にならないと思うけど書いてみた。なんか目的見つけられて、楽しく覚えていけたら勝ちなんじゃないかな。たぶん。

2007-05-11

http://anond.hatelabo.jp/20070511034045

いくつか考えられるな

まず、if で書いた方が可読性が高い、という考え方。まあでも一行で書いてもすぐわかる以上はよっぽどのアホが入るかも知れないプロジェクトで考慮するようなことでしかなくて、まして短文合戦トリッキー合戦になってるこの話題においてこの理由を持ち出すのは微妙だな。

次に、Java では一行にまとめる慣例があまり無い、と考えているから。確かに Java の場合、簡単な内容であっても C のマクロほど頻繁には一行にまとめないと思う。そもそも C のマクロみたいに関数へのジャンプコストが無くなるという利点も無いしね。それでも if ぐらいは削ってもいいと思うが。

まあ元のコードが一行にまとまってないからそのままにしただけで、最後に C のマクロなら一行にするような内容だわな、と思って一文書き足して、コードは書き換えずそのまんま投稿、ってのが一番可能性高いとは思うけど。

2007-04-12

規約の人

こういうの書くのはお寒いかもだが、あれは半分ネタで半分本気です。増田は滅多に使わないけど、いろいろ意見が聞けて良い。それはともかく

あるあるw自動変数についてはどう名前付けても良いと思います(常識的な範囲で)。

はい。

自分は8タブです。誰がなんと言おうとw三項演算子は使いどころを間違えなければいいんだけどね。自分もJavaScriptを弄くり回していた頃、トリッキーコードを書きまくってました。

K&Rスタイルですね。

CやC++ではハンガリアン記法は有効だと思いますが、ゆとりプログラマですのでwPython自体はあまり好きじゃないけど、IronPythonはホントに面白い。

新しい行に中括弧を置かないというのは、秀丸アウトライン解析を利用するためでもあります。でないと正規表現が書けないので。

2007-03-23

http://anond.hatelabo.jp/20070323102101

彼女も熱心らしいし、たぶんその子もそれを望むのだろうし、別にいいんでない?

信者的には、せっかくランク上がれるチャンスなのに妻が寵愛を受けることを嫌がるっていうのは間違ってる……のだと思うよ。ユダヤ的には、せっかく美味しいのに親子丼(あっちの意味じゃないよ)食べれなくて、卵と肉と分離しなくちゃいけないみたいなものじゃない?

あ、でも、ユダヤさんでも一々原料まで調べる人もいれば、見えないものに関しては気にせずに外食してる人までいろいろだから、トリッキーな回避策思いつく人もいるかもね。親をすり替えるとか。

ログイン ユーザー登録
ようこそ ゲスト さん