これを読んだ話
https://github.com/ffi/ffi/wiki
FFIとは
wikipediaより
https://ja.wikipedia.org/wiki/Foreign_function_interface
あるプログラミング言語から他のプログラミング言語で定義された関数などを利用するための機構。
OS固有の機能などを利用するために使用されることが多い.
基本的には、速度やメモリ効率などでまさる言語で書かれたライブラリや、自分が使っている言語にないライブラリを使うなどの使われ方をする.
なぜFFIを使うのか
1. FFI拡張は編集の必要がない
FFIを使うことでコンパイラをインストールする必要がないです.
あなたのリンクするライブラリはある時点でコンパイルされている必要がありますが, それも必要ありません.
2. FFI extensionはマルチプラットフォームで実行可能
RubyやJRubyを切り替えることなく使える
3. FFI extensionは読みやすい&書きやすい
FFI拡張はRubyで書かれているので読みやすい