Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Polyglot Rails Applications in Rubinius

Polyglot Rails Applications in Rubinius

Talk given at Eurucamp 2012 (Berlin).

Josep M. Bach (Txus)

August 19, 2012
Tweet

More Decks by Josep M. Bach (Txus)

Other Decks in Technology

Transcript

  1. Polyglot Rails
    Applications
    with Rubinius

    View full-size slide

  2. barcelona / berlin

    View full-size slide

  3. Open Source Warrior

    View full-size slide

  4. Sapir-Whorf
    hypothesis

    View full-size slide

  5. We think through language.

    View full-size slide

  6. Ruby is
    expressive.

    View full-size slide

  7. LANGUAGE
    is a good thing
    POLYGAMY

    View full-size slide

  8. n languages
    one vm

    View full-size slide

  9. Why on earth.

    View full-size slide

  10. EXPRESS
    ALL THE THINGS

    View full-size slide

  11. REUSE
    ALL THE LIBRARIES

    View full-size slide

  12. HIRE
    ALL THE TALENT

    View full-size slide

  13. WHAT DO YOU MEAN
    I CAN CREATE MY OWN
    PROGRAMMING LANGUAGE

    View full-size slide

  14. AHA
    TELL ME MORE

    View full-size slide

  15. OBJECT
    ORIENTED
    NOSCRIPT
    PROTOTYPAL
    INHERITANCE
    TRAIT-BASED
    COMPOSITION

    View full-size slide

  16. Ruby... in Ruby.
    vm in c++
    llvm jit
    generational gc
    real concurrency

    View full-size slide

  17. convenient
    platform
    for
    language
    developers

    View full-size slide

  18. rubini.us/projects

    View full-size slide

  19. ruby
    code
    ast
    rubinius
    bytecode
    2 + 3
    2
    +
    3
    push_int 2
    push_int 3
    meta_send_op_plus

    View full-size slide

  20. apricot
    code
    ast
    rubinius
    bytecode
    (+ 2 3)
    2
    +
    3
    push_int 2
    push_int 3
    meta_send_op_plus
    HAPPENED
    WTF
    JUST

    View full-size slide

  21. COEXISTENCE
    IS POSSIBLE

    View full-size slide

  22. CALLING RUBY
    FROM NOSCRIPT

    View full-size slide

  23. CALLING NOSCRIPT
    FROM RUBY

    View full-size slide

  24. THANKS!
    QUESTIONS?
    @txustice github.com/txus

    View full-size slide