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 Slide

  2. Txus
    /tʃus/

    View Slide

  3. barcelona / berlin

    View Slide

  4. Open Source Warrior

    View Slide

  5. View Slide

  6. LANGUAGE

    View Slide

  7. View Slide

  8. Sapir-Whorf
    hypothesis

    View Slide

  9. We think through language.

    View Slide

  10. Ruby is
    expressive.

    View Slide

  11. View Slide

  12. ( LISP )

    View Slide

  13. LANGUAGE
    is a good thing
    POLYGAMY

    View Slide

  14. n languages
    one vm

    View Slide

  15. Why on earth.

    View Slide

  16. EXPRESS
    ALL THE THINGS

    View Slide

  17. REUSE
    ALL THE LIBRARIES

    View Slide

  18. HIRE
    ALL THE TALENT

    View Slide

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

    View Slide

  20. AHA
    TELL ME MORE

    View Slide

  21. OBJECT
    ORIENTED
    NOSCRIPT
    PROTOTYPAL
    INHERITANCE
    TRAIT-BASED
    COMPOSITION

    View Slide

  22. View Slide

  23. RUBINIUS

    View Slide

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

    View Slide

  25. convenient
    platform
    for
    language
    developers

    View Slide

  26. rubini.us/projects

    View Slide

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

    View Slide

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

    View Slide

  29. View Slide

  30. COEXISTENCE
    IS POSSIBLE

    View Slide

  31. View Slide

  32. View Slide

  33. CALLING RUBY
    FROM NOSCRIPT

    View Slide

  34. CALLING NOSCRIPT
    FROM RUBY

    View Slide

  35. LIVE CODING

    View Slide

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

    View Slide