Comments 16
осознав всю красоту Ruby, так не хочется копаться в его исходниках (особенно на Си), что всеми силами открещиваюсь от этого, но страничку все таки в закладки…
Вот, кстати, зря. У Ruby MRI один из лучших сишных интерфейсов из всех, которые я видел: писать на нем почти так же удобно, как и на самом Ruby. (Камень в сторону языка-с-двумя-змеями.
Есть там, конечно, и странные хаки, но, с другой стороны, где вы видели интерпретатор на Си с хорошим кодом?
Py_INCREF(Py_None); return Py_None;
заставляет меня рыдать.)Есть там, конечно, и странные хаки, но, с другой стороны, где вы видели интерпретатор на Си с хорошим кодом?
Я не говорю что код плох, соглашусь с вами что интерфейс очень удобен. Устал я просто уже от Си…
Попробуйте воспользоваться FFI или RubyInline. Две цели использования С — интерфейс к внешним бинарникам и ускорение кода — отлично покрываются этими библиотеками; все остальное можно сделать на Ruby.
> Камень в сторону языка-с-двумя-змеями. Py_INCREF(Py_None); return Py_None; заставляет меня рыдать.
Жаль, что на С. Если есть возможность, рекомендую boost::python
Жаль, что на С. Если есть возможность, рекомендую boost::python
Это не худшее, что там есть. Статическое выделение чисел от -1 до 100, которое по тестам давало, ЕМНИП, 30% прирост в производительности, да и вообще сам факт хранения чисел отдельными объектами (ср. например реализацию VALUE в Ruby) никаким интерфейсом не исправляется.
boost, возможно, и помог бы, да вот только сам он раздувает код ничуть не меньше. Да и не пишу я больше под питон, одного раза хватило.
boost, возможно, и помог бы, да вот только сам он раздувает код ничуть не меньше. Да и не пишу я больше под питон, одного раза хватило.
А вы API PHP видели? Вот кто-то писать обзорчик: PHP Extension. Как и в случае с Ruby API, писать на PHP Api субъективно так же неприятно, как и на самом PHP ;)
Слава б-гу, я не писал расширения для PHP и вряд ли когда-нибудь буду.
Вот и я о том же. В свое время писал ради интереса собственный динамический язык и интерпретатор к нему, озаботился вопросом написания API для плагинов и решил посмотреть, как это сделано в других языках. У PHP, к моему вящему неудивлению, API оказался самый страншый, состоящий почти целиком из макросов большими буквами. У Ruby действительно очень красивый. А свой я так и не дописал :)
Отличный проект. Буду пользоваться! :-)
огромное спасибо! это реально очень удобно
Говорят, если долго смотреть на код MRI или YARV, а потом взглянуть на код Rubinius, то становиться понятно зачем второй нужен.
Я пока в код Rubinius не закапывался, мне YARV хватает, но все же замечу: он же вроде как по большей части на Ruby написан, так? А сишная часть для чего-то вроде само-бутстрапа. Если так, то, разумеется, код намного красивее.
Sign up to leave a comment.
Ruby Cross Reference