タグ

ブックマーク / tanakahisateru.hatenablog.jp (5)

  • JavaScriptはいかにしてprototypeを捨てクラスベース継承を得るのか - なんたらノート第三期ベータ

    きっかけは、prototype と constructor と __proto__ の関係を再確認していたときでした。JavaScriptはこうだけど、これって、AltJSな言語の継承はどうなってるんだろうと思って試したくなりました。 ちょっと気持ち的に、なんだか宗教に入ったみたいに俺は JavaScript がわかったって声高に言う人、だいたいみんな、プロトタイプチェーンによる移譲がクラスベースの継承に束縛されていた思考のブレイクスルーなんだぜ、みたいに言うんだけど、いったいそれがどれほど素晴らしいものなんだろうと考えてしまい... もしプロトタイプチェーンがそんなに素晴らしいんなら、npm にあるほとんどのライブラリがチェーンを活かして作られてない理由が説明できない。もしかしたら、仕組みがいくら面白くても、実際のメンタルモデルにフィットせず、実は使い物にならないんじゃないか ----

    JavaScriptはいかにしてprototypeを捨てクラスベース継承を得るのか - なんたらノート第三期ベータ
    fumokmm
    fumokmm 2014/08/20
  • jEditのConsoleプラグインを便利に使う2 - なんたらノート第三期ベータ

    以前、jEditのConsoleプラグインでディレクトリ移動するののついでに、バッファ/ファイルマネージャのパスでWindowsのエクスプローラを開く方法を紹介しました。 http://d.hatena.ne.jp/tanakahisateru/20081215/1229269568 最近、Consoleプラグインでは狭いなと思ったとき、すぐに別のシェルウィンドウを(もちろんConsoleと同じディレクトリで)開く方法が欲しくなってきたので、ちょっと試してみました。 jEditのコンソールで startとすると、新たなシェルウィンドウが開きます。Consoleでcmd.exeをいきなり動かすと、中にサブシェルが動いてしまうのでだめで、かならずstartコマンドを使います。 もしかすると、 start C:\Cygwin\bin\bash.exe -c "/bin/xhere /bin/ba

    jEditのConsoleプラグインを便利に使う2 - なんたらノート第三期ベータ
  • jEdit日本語リソース for 4.4pre1 / 4.3.2 - なんたらノート第三期ベータ

    jEditの4.4pre1がリリースされています。 http://www.jedit.org/ pre版のダウンロードリンクが微妙なんですが、どうやらここから辿ることになっているみたいです。 http://www.tellurianring.com/projects/jedit-daily/index.php?dir=jEdit_pre_release/ というわけでまた日UIを作っておきました。こちらからダウンロードを。 https://github.com/tanakahisateru/jedit_gui-ja/downloads 4.4以降はJVMのバージョンが6でないとダメらしいので、環境によっては4.3.2も健在ですね。4.3.2でちゃんとテストした4.3世代用のブランチも作って、それもパッケージ化しておきました。 4.4は細かい新機能のほか、Macとの相性がすごく改善されて

    jEdit日本語リソース for 4.4pre1 / 4.3.2 - なんたらノート第三期ベータ
  • ナベアツ算で知るOCamlとScalaの違い - なんたらノート第三期ベータ

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

    ナベアツ算で知るOCamlとScalaの違い - なんたらノート第三期ベータ
    fumokmm
    fumokmm 2009/03/26
    OCamlとScalaの違いをナベアツ算で表現。
  • GroovyとRhinoのオブジェクト(クロージャも)を相互に変換 - なんたらノート第三期ベータ

    Groovy(SwingBuilderでGUIに強く、Javaの既存クラスを素直に使える)で実装されたホストアプリケーションに、スクリプト言語としてJavaScript(Ajaxアプリケーションとコードを共有できる)を組み込むとき、どうせなら両者のクロージャに互換性を持たせようというネタです。 Java的な正論としては、たぶん、独自に設計したインターフェースのメソッドを通して操作することになるんだろうけど、それってGroovy的じゃないですね。Groovyで[1,2,3]と書いた値は、RhinoでもArrayになって欲しいし、Rihnoで{a:1,b:2}と書いたら、Groovyでも[a:1,b:2]になって欲しい。 って、そのぐらいのオブジェクト変換なら簡単だけど、それだけじゃ両言語に共通する重要な要素が入ってないですね。そう、{ a -> ... } が function(a){ re

    GroovyとRhinoのオブジェクト(クロージャも)を相互に変換 - なんたらノート第三期ベータ
  • 1