«前の日記(2007年04月26日) 最新 次の日記(2007年04月28日)» 編集

Matzにっき


2007年04月27日 [長年日記]

_ [Ruby] NullPointerFactory: Open letter to the Ruby Santa

4月のブログコンテストのエントリを勝手に批評するシリーズ(その3)。

「良い補完付きのIDEが欲しい」というもの。言語そのものとは直接関係ない。

IDEについては、NetBeansが頑張っていることは知られているわけだが、 Eclipse系でも

と結構な動きが出ている。Rubyのプレゼンスが上がるにつれ、 もっと良いものが登場して来るんじゃないかな。

_ [Ruby] DevDanke: ruby-improve

4月のブログコンテストのエントリを勝手に批評するシリーズ(その4)。

現在のブロックコメント(「=begin」から「=end」まで)に変わる新しいものを導入しよう、というもの。 提案されているのは「#*」から「*#」。

個人的にはブロックコメントの必要性はあまり感じていない。 ツール(たとえばEmacsのruby-modeでのruby-encomment-region)で 簡単に対応できるからだ。

たとえ導入するにしても記法はよく考える必要がある。 少なくとも「#*」では既存のコメントに重複するものがありそうだ。

_ [Ruby] djberg96: What would I change about Ruby?

4月のブログコンテストのエントリを勝手に批評するシリーズ(その5)。

ruby-talkの常連djbergによるもの。たくさんある。

  • Native thread support. Huge. Especially for embedding and extending the language.
  • SMP support - no giant interpreter lock. Also huge.
  • Unicode support, including the ability to parse some Unicode mathematical notation, ala Fortress.
  • Asynchronous methods.
  • Better regex engine.
  • AOP support (pre, post, etc).
  • Implicit getters and setters.
  • Refactor some of the core classes. Some methods are overwrought, and some are useless.
  • Behaviors (as per the Sydney definition).
  • Better project management. That means dealing with bug reports, patches, and RCR's in a timely fashion instead of letting them sit for years (or not responding at all).
  • Optional static typing, as a Behavior.
  • Transactions.
  • Atomic expressions.
  • Fine grained mixins.
  • Named parameters.
  • Make def return a (improved) Method object.
  • Anonymous methods via 'def'.
  • New parser. Goodbye yacc.
  • Structured warnings.
  • Class.aliased_methods.
  • Different License.
  • Better Proc/proc integration.
  • Make Windows NT a first class citizen. Drop support for Windows 95/98/ME/cygwin/mingw.
  • Along those same lines, limit support to production platforms, instead of trying to support every OS under the sun. That means MS Windows, Solaris, Linux, FreeBSD, AIX, HP-UX, and OS X. This will reduce maintenance and simplify the build process considerably.
  • Continuous integration on supported platforms so that we don't have to rely as much on preview releases to smoke out bugs.
  • Replace the autoconf based configure with something cross platform ala Perl's build script.
  • Much more thorough test suite.
  • Better documentation.
  • Include several RCR's from rcrchive.net - too many to list here.
  • Improved standard library:
    • Remove the Japanese specific libraries.
    • Remove the rarely used or outdated libraries (abbrev).
    • Integrate some libraries into the core classes (io-wait).
    • Remove Unix specific libraries (dbm, sdbm, gdbm).
    • Replace some libraries (getoptlong, etc, csv) with better/cross-platform versions.
    • Refactor/redesign existing libraries that need it (net-http).
    • Add new libraries that I feel would be useful to a wide audience (kirbybase, dbi).

Maybe

  • Traits.
  • Type inferencing (as a Behavior).
  • Selector namespaces.

いちいちコメントつけるだけでも疲れちゃいそうだけど、とりあえず、 1.9で(ある程度)やるものは以下の通り。

  • Native thread support. Huge. Especially for embedding and extending the language.
    • 一口にnative threadと言っても奥は深い。1.9のは「native threadを使うライブラリと共存できる」のが最大の目標。
  • Unicode support, including the ability to parse some Unicode mathematical notation, ala Fortress.
    • Fortress的なUnicodeの使い方には「No」
  • Better regex engine.
    • 鬼車でよければ
  • Better documentation.
  • Remove the Japanese specific libraries.
  • Remove Unix specific libraries (dbm, sdbm, gdbm).
  • Replace some libraries (getoptlong, etc, csv) with better/cross-platform versions.

曖昧すぎて何ともいえないが、(2.0以降)検討してみたいのは以下の通り。

  • Asynchronous methods.
  • AOP support (pre, post, etc).
  • Implicit getters and setters.
  • Refactor some of the core classes. Some methods are overwrought, and some are useless.
  • Atomic expressions.
  • Fine grained mixins.
  • Named parameters.
  • Make def return a (improved) Method object.
  • Anonymous methods via 'def'.
  • New parser. Goodbye yacc.
  • Structured warnings.
  • Class.aliased_methods.
  • Better Proc/proc integration.
  • Traits.
  • Type inferencing (as a Behavior).
  • Selector namespaces.

考えないといけないのはこれ。

  • Better project management. That means dealing with bug reports, patches, and RCR's in a timely fashion instead of letting them sit for years (or not responding at all).

もうちょっと良いissue trackingが必要だ。

_ [言語] StreamIt

Streamをベースにした言語StreamIt。

並列実行を最大化するために、 あらゆる計算をStreamでつなごうという試み。 成功するだろうか。

_ 「エヴァ」制作のガイナックス取締役、mixi騒動で辞任 - CNET Japan

赤井さんは同郷で(学校は違うけど)、高校時代に個人的に面識もある先輩なので こんな下らないことで辞任というのは残念で仕方がない。

_ [Ruby] The Ruby VM: Episode III

Ruby VMインタビュー・エピソードIII。 Multi-VMのこととか。

_ [Ruby] Ola Bini on Java, Lisp, Ruby and AI: Ye Zheng joins ThoughtWorks

Ola Biniに続いて、XRubyの開発者Ye ZhengもThoughtWorksに入社したという話題。

これってすごいことだと思うよ。 で、このままだとXRubyとJRuby周辺で協調と積極的な開発が進んで、 オリジナルRubyが置いていかれそうで、ちょっと危機感を感じたりして。 いや、1.9ももちろんそれなりに頑張っているんだけど。


«前の日記(2007年04月26日) 最新 次の日記(2007年04月28日)» 編集