タグ

2009年3月25日のブックマーク (11件)

  • いろんな言語のコードを比べてみた - なんたらノート第三期ベータ

    すこし前に、コードの字面について書いたので、いろいろな言語で共通して頻出しそうなパターンを例に、等価なコードを書いてみた。 課題設定 配列の各要素を関数に渡すループ手続きを書け。 要素は辞書やオブジェクトで、関数は引数の内容を加工するかもしれない。 ループブロック内のロジック追加を容易にするために、要素を一時変数で参照すること。 いろんな方法論(単位処理をストラテジとして受け付ける集合演算用ライブラリとか?)はあれど、構造化プログラムの延長にあるかぎり、現実的には書き下しに勝る選択肢はないと思うので、言語を問わず比較できるかと思います。分岐だと、書き下しと多態のどっちがいいかは、言語の選択や状況(あと、好みやスキルに起因する感情)によるので。 ややこしいかな?要するに、「公平に言語を比較しようとすると、foreachが得意かどうか比べるのがいいと思う」ってこと。 記述性の評価の比較基準は、

    いろんな言語のコードを比べてみた - なんたらノート第三期ベータ
    joan9
    joan9 2009/03/25
    いろんな言語のforeach比較。PHP><> ああでも、ごめん、やっぱりまたPHPいじめになってしまった。
  • Rubyはどのへんの生産性が高いのか - なんたらノート第三期ベータ

    分裂勘違い君の Rubyの生産性の高さはどこまで当か? - 分裂勘違い君劇場 に、素敵なトラックバックがあるのに気づきました。 あやしいわーるどっぽい跡地 寄せられたコメントもこれまた素敵。☆3こプレゼント。 さて題。 分裂勘違い君のいう「高度な言語機能が目的なら、かならずしもRubyである必要はない」というのは正解。いろんな言語のおいしいとこ取りするだけで比べるなら、怒涛の勢いで他の言語のおいしいところを吸収しているC#に軍配が上がると思う。非Windowsな環境でも、MonoをJVMだと考えれば、けして見劣りすることはないように思う。 でも、細かいこというと、オブジェクトの属性についての解釈はちょっとダメ。これは元記事を書いた人の言いたいことを、分裂勘違い君が誤解してる。 もと http://itpro.nikkeibp.co.jp/article/COLUMN/20060919/

    Rubyはどのへんの生産性が高いのか - なんたらノート第三期ベータ
    joan9
    joan9 2009/03/25
    > 正規表現リテラル。これがある言語とない言語では、テキスト処理のやる気がぜんぜん違ってきます。Ruby特有ではないけれど、あえて挙げたのは、PHPにもJavaにもPythonにもないから。
  • 続・PythonがRubyに似てないところがあるからって、そんな… - なんたらノート第三期ベータ

    Rubyist Magazine - Rubyist のための他言語探訪 【第 1 回】 Python で言われてることが一般認識みたいになっているので、ちょっと違うなと思うことをメモっとこう。あなたがもしPythonを作る前のGuidoに憑依して - ネットリサーチ - livedoor ニュース とか はじめてのひき - PythonSucks とか。 まえも似たようなのを Pythonが他の言語に似てないからって、そんな… - なんたらノート 第二期 で書いてます。 self が多い Python ではインスタンス変数のアクセスは「self.foo」のような形式で行います。これは Ruby の「@foo」という形式に比べてタイプ量が多いので面倒と感じることがあります。逆に Python ファンは「@」という記号を使うのが醜いと感じるようです。 ついさっき、「宣言にselfは必須だ」と

    続・PythonがRubyに似てないところがあるからって、そんな… - なんたらノート第三期ベータ
  • Cyanインタビューはようするに - なんたらノート第三期ベータ

    はてなダイアリー で、 Cyanを設計した高校生、5カ月で5つの言語を習得 − @IT自分戦略研究所 から引用されている、 私からアドバイスするなら、地面に足を着ける感覚をさらに磨いてはどうでしょう。プログラミング言語は、それ自体すごく面白いけど、マシン上で動いて初めて言語として機能します。コンピュータが動く構造については多分まだ勉強してないのかもしれないけど、人間が理解しやすく書きやすいプログラムで設計することは機械にとっては重荷。要するに2つの攻め方があって、いまのコンピュータを生かすためにはどういうプログラミング言語が必要かと、コンピュータをどうすれば人間に分かりやすい言語で実行できるか。いずれにせよ、コンピュータの奥底であるアーキテクチャを理解する必要があります。 についてなんですが、つまり、 Cyanのソースハックを試みる 2倍速達成 - なんたらノート 第二期 Cyanのパフォ

    Cyanインタビューはようするに - なんたらノート第三期ベータ
    joan9
    joan9 2009/03/25
  • ナベアツ算で知るOCamlとScalaの違い - なんたらノート第三期ベータ

    学び始めて最初っからずーっとなんですが、Scalaが従来の関数型に対してオブジェクト指向とのハイブリッドだと言われるのはどういう意味でなんだろう? という疑問がありました。 関数型言語でありながら、言語にオブジェクト指向機能があり、再代入が可能な変数がある、という機能的特徴だけ取り上げると、OCamlにScalaのような呼び名が与えられず、あくまで関数型と認識されている理由が説明できない。APIのデザインがOOPっぽいか関数型っぽいか、なんてのは、いくらでも作り変えられるから言語の質じゃないし。なんてことを思っていたのですが、最近謎が解けそうです。 どう書く?.orgのナベアツ算をお題として、ScalaとOCamlを比べてみました。 http://ja.doukaku.org/233/ 「3の倍数と3がつく数字の時だけアホになる」コードを実装して下さい。 また、余裕のあるかたは更に、 「

    ナベアツ算で知るOCamlとScalaの違い - なんたらノート第三期ベータ
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    joan9
    joan9 2009/03/25
    [local::lib]
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • [okyuu.com] 特集:No okyuu, No Life Perlの地位向上を胸に 牧大輔さんのエンジニアライフ

    もっと企業でPerlを使ってもらいたい――endeworksの牧大輔さんは社団法人JPA(Jpan Perl Association)を立ち上げ、Perlの企業利用を促進したいという。小さいころから海外で暮らし、ITベンダーのエンジニアも経験した。エンジニアとしての同氏を助けてくれたのは常にコミュニティだった。「自分が恩返しする番になっている」と語る。 この企画はokyuu.com編集部が現在のエンジニア像をリレー形式で追っていくものです。 (取材・文=編集部) 牧大輔(まきだいすけ) 1977年7月13日生 31歳 株式会社endeworks代表取締役 【略歴】 1999年 米Washington University卒業 2000年 Network Appliance入社 2004年 株式会社ライブドア入社 2004年 米Lehman Brothers入社 2005年 株

    joan9
    joan9 2009/03/25
  • http://www.glooth.com/kuso-net_dvd/

    joan9
    joan9 2009/03/25
  • Richard M. Stallman曰く、「Gmailを使うのは愚かなことだ」 | スラド オープンソース

    ストーリー by hayakawa 2008年10月02日 13時23分 クラウドコンピューティングの世界にも自由を! 部門より GNUプロジェクトの創始者であり、「ソフトウェアの自由」を強く主張しているRMSことRichard M. Stallman氏が、英Guardian紙の取材に対して「クラウドコンピューティングは誇大広告であり、罠(trap)だ」との発言を行い、話題になっている。 Stallman氏によると、「クラウドコンピューティングはプロプライエタリな(自由でない)ソフトウェアやシステムがいままで繰り返してきたのと同様の、『より多くの人々を閉じ込めるための罠』」であり、「GoogleのGmailのようなWebベースのプログラムを使うことは、愚かというだけでは言い足りない」とまで述べている。また、「Webアプリケーションを利用すべきではない理由の一つは、それによりコントロールを失

  • myfinder's blog: Q4Mを使うときにやってはいけない一つのこと

    ある日Q4Mを利用したシステムを運用していたところ、プログラマの方から 「Q4Mのテーブルが壊れたっぽいのだけども。。。」 との報告があり、状況を聞いてみた。 どうも、Queueに突っ込んだけども処理したくないデータがあったという理由で一部の行をDELETEしたとのこと。 で、早速DBを調べてみると、全部queue_waitで取り出したにも関わらず行数が0にならなかったり、 発行しているqueue_endが実行されずにずっとプロセスが残っていたりして大変カオスな状態になっていた。 (insertも止まっていた) その場ではMySQLを強制的に再起動して、tableやschemaをdropして再作成してもらうことでことなきを得た。 が、今日帰ってきてQ4Mのページを見て謎が解決。 Q4Mの「Limitations and Known Issues」に removal of multiple

    joan9
    joan9 2009/03/25