Rubinis が C から C++ ヘ移行するみたい

悲しいお知らせがあります。

Rubinius が C から C++ へ移行しました。

$ cd rubinius.code
$ git fetch
$ git checkout -b cpp origin/cpp
$ git pull
$ ls vm/     # 'vm' は新しいディレクトリ
Makefile			ffi.hpp
README				float.cpp
builtin_array.cpp		gc.cpp
builtin_auto.hpp		gc.hpp
builtin_bignum.cpp		gc_baker.cpp
builtin_class.cpp		gc_baker.hpp
builtin_class.hpp		gc_marksweep.cpp
builtin_hash.cpp		gc_marksweep.hpp
builtin_list.cpp		generate_types.rb
builtin_list.hpp		globals.hpp
builtin_lookuptable.cpp		object.hpp
builtin_object.cpp		objectmemory.cpp
builtin_regexp.cpp		objectmemory.hpp
builtin_selector.cpp		objects.cpp
builtin_selector.hpp		objects.hpp
builtin_sendsite.cpp		prelude.hpp
builtin_sendsite.hpp		strlcat.c
builtin_string.cpp		strlcat.h
builtin_symbol.cpp		strlcpy.c
builtin_task.hpp		strlcpy.h
builtin_tuple.cpp		test/
cpu.cpp				vm.cpp
cpu.hpp				vm.hpp
ffi.cpp
$ git checkout master    # もとにもどる


なぜ C++ に移行することになったかはこちらに書かれています。
Shotgun Rewrite Underway
メソッド引数の評価順序を変更するために、VM のあちこちに手をいれなければならなくなり、どうせならということで C++ になったみたい。

しかし C++ かぁ。STL 使われたら、もう Rubinius のコードは読めないや。


参考: