0
Ruby        Mac
Ruby, on your Mac of course




                    Vincent Isambart
Ruby         Mac
Ruby, on your Mac of course

              / Self-introduction
         MacRuby / MacRuby’s story
       ...
Self-introduction
   Vincent Isambart        (IRC: scritch)
            @vincentisambart

   2003: Ruby          / Discove...
Mac          Ruby
Ruby on Mac

   % ruby -v
   ruby 1.8.6
   (2008-08-11 patchlevel 287)
RubyCocoa
RubyCocoa
RubyCocoa’s problems

                       Threading
 Method names


                          Speed
     Type...
2008: MacRuby
MacRuby starts

           (Mac)
                          Ruby
     Goal: Best Ruby implementation for
    ...
Ruby 1.9
Why based on Ruby 1.9?

                1.9
                 1.9 was unstable


                          1.9
  S...
Ruby 1.9
Why based on Ruby 1.9?
                  Starting from scratch
                    is too much work

1.9 Ruby    ...
1.9 MacRuby 0.4
Diff between 1.9 and MR 0.4
Ruby GC                Obj-C GC

Ruby object          Obj-C object

Ruby core ...
(     )
What did not change (much)
                     / Parser

                YARV
      Ruby
          Ruby standard ...
Cocoa more Ruby-like


        HotCocoa
MacRuby 0.4
MacRuby 0.4’s problems

 Incompatibilities   Threading
     with 1.9


      Merging 1.9       Speed
12       : 0.5
Dec 2009: 0.5 dev started

              0.4

     Goal: Solving all 0.4’s problems
How?

          VM
  By creating a new VM
       rm vm*.c # bye bye YARV
Speed and threads

  Calculations are
     super-fast


            You can use multiple cores
Testing

          test-vm.rb

          RubySpec
AOT compiling

   Fast start time


                     Hide the code
C
Stop creating C libraries


           ruby-ffi
MacRuby 0.5
MacRuby 0.5’s weak points
           Memory allocation is slow
                                             No...
MacRuby 0.5
MacRuby 0.5’s weak points



     In development
MacRuby 0.5
MacRuby 0.5’s weak points
           Memory allocation is slow
                                             No...
Cocoa
Creating a Cocoa application

          : RubyCocoa
              : MacRuby 0.4
             : MacRuby 0.5
If you want to help
          1.9    / Learn 1.9

   RubySpec        / Help RubySpec

   Ruby             / Make pure Ruby...
Q&A
  http://www.macruby.org
    twitter: @macruby
 IRC: #ruby-osx (freenode)
FAQ
iPhone...
                                CPU
                             The CPU is different




                  ...
Upcoming SlideShare
Loading in...5
×

RubyならMacでしょう

1,475

Published on

RubyならMacでしょう
Ruby, on your Mac of course

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,475
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "RubyならMacでしょう"

  1. 1. Ruby Mac Ruby, on your Mac of course Vincent Isambart
  2. 2. Ruby Mac Ruby, on your Mac of course / Self-introduction MacRuby / MacRuby’s story MacRuby / In development Q&A
  3. 3. Self-introduction Vincent Isambart (IRC: scritch) @vincentisambart 2003: Ruby / Discovered Ruby 2006: RHG / RHG translation 2008-2009: MacRuby
  4. 4. Mac Ruby Ruby on Mac % ruby -v ruby 1.8.6 (2008-08-11 patchlevel 287)
  5. 5. RubyCocoa
  6. 6. RubyCocoa RubyCocoa’s problems Threading Method names Speed Type conversion
  7. 7. 2008: MacRuby MacRuby starts (Mac) Ruby Goal: Best Ruby implementation for the (Mac) desktop
  8. 8. Ruby 1.9 Why based on Ruby 1.9? 1.9 1.9 was unstable 1.9 Some features Few people knew 1.9 were not finished
  9. 9. Ruby 1.9 Why based on Ruby 1.9? Starting from scratch is too much work 1.9 Ruby 1.9 1.8 1.9 is Ruby’s future 1.9 is better than 1.8 Open-source
  10. 10. 1.9 MacRuby 0.4 Diff between 1.9 and MR 0.4 Ruby GC Obj-C GC Ruby object Obj-C object Ruby core class Obj-C core class
  11. 11. ( ) What did not change (much) / Parser YARV Ruby Ruby standard library
  12. 12. Cocoa more Ruby-like HotCocoa
  13. 13. MacRuby 0.4 MacRuby 0.4’s problems Incompatibilities Threading with 1.9 Merging 1.9 Speed
  14. 14. 12 : 0.5 Dec 2009: 0.5 dev started 0.4 Goal: Solving all 0.4’s problems
  15. 15. How? VM By creating a new VM rm vm*.c # bye bye YARV
  16. 16. Speed and threads Calculations are super-fast You can use multiple cores
  17. 17. Testing test-vm.rb RubySpec
  18. 18. AOT compiling Fast start time Hide the code
  19. 19. C Stop creating C libraries ruby-ffi
  20. 20. MacRuby 0.5 MacRuby 0.5’s weak points Memory allocation is slow Not very portable 32 Does not work in 32 bits Hard to compile C JIT C extensions don’t work JIT takes time Rake does not work properly
  21. 21. MacRuby 0.5 MacRuby 0.5’s weak points In development
  22. 22. MacRuby 0.5 MacRuby 0.5’s weak points Memory allocation is slow Not very portable 32 Does not work in 32 bits Hard to compile C JIT C extensions don’t work JIT takes time Rake does not work properly
  23. 23. Cocoa Creating a Cocoa application : RubyCocoa : MacRuby 0.4 : MacRuby 0.5
  24. 24. If you want to help 1.9 / Learn 1.9 RubySpec / Help RubySpec Ruby / Make pure Ruby libs / Make tutorials
  25. 25. Q&A http://www.macruby.org twitter: @macruby IRC: #ruby-osx (freenode)
  26. 26. FAQ iPhone... CPU The CPU is different Investigating JIT Can’t use the JIT ObjC GC Can’t use the ObjC GC
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×