RubyならMacでしょう

1,694 views

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,694
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×