タグ

2007年11月5日のブックマーク (6件)

  • K のこと -- steps to phantasien t(2007-11-03)

    友人の話をしよう. 先達に敬意を表し, 仮に彼を K と呼ぶ. (イニシャルは便宜的なものだ; 向上心云々と罵ったこともないし, 恋人を寝取ってもいない.) ある時期, 私は K と一緒に働いていた. 今は違う会社にいるけれど, 互いに暇なのか, このごろもよく二人で管を巻いている. 1 K は優秀なプログラマだ. いつも敵わないと思う. 一緒に仕事をしていたこともあり, プログラマとしての私は K から強い影響をうけている. たとえば私が自動テストを始めた発端には K がいる. コードレビューもそう. この日記に出てくる話も K の影響は色濃い. 私は K のあとを追いかけるようにプログラマを続けている. K と働いてはじめて, ああ, 物事とはこう改善していくものなのかと知った. 何か問題を感じると K は試行錯誤を始める. 問題は私が諦めていたものもあるし, そもそも気付かないものも

  • IT業界で無事にいたいなら銀行に関わるな

    IT業界で無事にいたいなら銀行に関わるな 3Kとか7Kとか言われているが、底辺の会社にいなければそれほどひどくないし、正直どうでもいい。しかし関わった人は皆同じことを口にする。 銀行には関わるな。特に最新技術に詳しい人ほど真っ先に壊れる。すぐに逃げ出せ。 新規開発が出来ると思うな。10年以上経ったシステムのお守りがほとんど。当然コードは見るに堪えない。そのくせ仕事はたくさん来る。ほとんどがバグ修正か機能拡張。そして時間のほとんどはテストで消える。1行修正するだけでも数週間のテストが普通。OSが変わったら一年中テストで潰れる。 休みが人並みに取れると思うな。深夜まで仕事をするのが当たり前。GWと正月はないと思え。しかも一回や二回ではなく仕事辞めるまでずっとだ。 仕事の出来を褒められることを期待するな。動いて当然、止まったら新聞沙汰だ。当然直るまで何日でも徹夜。 キャリアの役に立つと思うな。業

    IT業界で無事にいたいなら銀行に関わるな
  • どうせ理系出身者なんていらねえんだよ。

    いまさら言ってもしょうがないだろうが、SIerに就職を希望したり内定した人たちに一言いっておきたい。 http://blog.miraclelinux.com/yume/2007/11/post_1ab2.html http://d.hatena.ne.jp/itoyosuke/20071101/1193932945 http://www.atmarkit.co.jp/news/200710/31/ipa.html 元の報道や参加者のブログエントリ見たりすると、ありがち過ぎて泣けるのだ。はっきりいうと、SIerの人事は情報工学科出身者は求めていない。それどころか理系出身者すら求めていない。 口先では求めているというよ。また、現場で最後に「技術的になんとかする」のは理系に期待されることが多いし、実際に期待通りに解決するのは大抵理系だ。しかし評価はされないし感謝もされないよ。とくに給料に反映す

    どうせ理系出身者なんていらねえんだよ。
    takkan_m
    takkan_m 2007/11/05
  • Category Theory for the Java Programmer

    [Edit May 11, 2012: I’ve got a whole blog on Category Theory in JavaScript.] There are several good introductions to category theory, each written for a different audience. However, I have never seen one aimed at someone trained as a programmer rather than as a computer scientist or as a mathematician. There are programming languages that have been designed with category theory in mind, such as Ha

    Category Theory for the Java Programmer
  • flatline's Wiki for memo - Y in Practical Programs

    大抵,Yコンビネータには型推論はできない. でも例えばStandard MLの再帰関数を定義する機能を使えば楽々定義できる. fun Y f x = f (Y f) x fun fact_ fact x = (* この fact_ を "seed" と呼ぶ *) if x = 0 then 1 else x * fact (x-1) val fact = Y fact_ "Seed" にラッパをかぶせれば機能を楽に付加できる. fun printerWrapper f_ f x = let val result = f_ f x val _ = printInt result in result end val factPrint = Y (printerWrapper fact_) このfactPrintは再帰の途中経過を印字する. Haskellのように副作用をモナドで分離しなければな

  • コンビネータでVM実装

    翻訳:プログラミング言語Lazy_Kを訳したら、大体、コンビネータVMがどんなものになるのか分かって、満足してしまったので、当分は続行する予定無し。 古いものはこっちに移動しました。新しい文章が書け次第、削除する予定。 コンビネータでVM実装:old 尚、内容の正しさは全く保証できません。 「○○は△△です」と言い切りの形で書いてあっても、鵜呑みにしない方が安全です。 概要ロードマップ 概要 あとで。 ロードマップ 仮のロードマップ。おそらく、あとで変更しまくる。 コンビネータ等の、前提知識の説明や説明サイト/ページへのリンク 簡単な概要説明 事前にschemeで定義用の手続きやマクロを用意する プリミティブな要素から順に実装していく SとK その他の基礎コンビネータ unlambdaの「v」もここで実装 ブール値 cons cellと空リスト 数値(チャーチ数ではなく、ものまね鳥に出てき