RubyKaigi 2017

Improve extension API: C++ as better language for extension

RubyKaigi2017
http://rubykaigi.org/2017/presentations/ktou.html

This talk proposes better extension API.

The current extension API is C API. In the past, some languages such as Rust (RubyKaigi 2015), Go (Oedo RubyKaigi 05), rubex (RubyKaigi 2016) were proposed as languages to write extension.

This talks proposes C++ as a better language for writing extension. Reasons:

- C++ API can provide simpler API than C API.
- C++ API doesn't need C bindings because C++ can use C API including macro natively. Other languages such as Rust and Go need C bindings.
- Less API maintenance cost. Other approaches need more works for Ruby evolution such as introduces new syntax and new API.

RubyKaigi 2017