SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Ruby        Mac
Ruby, on your Mac of course




                    Vincent Isambart
Ruby         Mac
Ruby, on your Mac of course

              / Self-introduction
         MacRuby / MacRuby’s story
         MacRuby / In development
              Q&A
Self-introduction
   Vincent Isambart        (IRC: scritch)
            @vincentisambart

   2003: Ruby          / Discovered Ruby

   2006: RHG          / RHG translation

        2008-2009: MacRuby
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 conversion
2008: MacRuby
MacRuby starts

           (Mac)
                          Ruby
     Goal: Best Ruby implementation for
             the (Mac) desktop
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
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
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
(     )
What did not change (much)
                     / Parser

                YARV
      Ruby
          Ruby standard library
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
                                             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
MacRuby 0.5
MacRuby 0.5’s weak points



     In development
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
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 libs

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




                     Investigating
JIT
 Can’t use the JIT         ObjC GC
                            Can’t use the ObjC GC

Mais conteúdo relacionado

Mais procurados

くみこみからひとことReturns
くみこみからひとことReturnsくみこみからひとことReturns
くみこみからひとことReturnskishima7
 
mRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System DevelopmentmRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System DevelopmentKazuhiro Koga 古賀一博
 
Usp Ribeirao - Ruby on Rails
Usp Ribeirao - Ruby on RailsUsp Ribeirao - Ruby on Rails
Usp Ribeirao - Ruby on RailsFabio Akita
 
Sao Carlos - Ruby on Rails
Sao Carlos - Ruby on RailsSao Carlos - Ruby on Rails
Sao Carlos - Ruby on RailsFabio Akita
 
Seccomp - Ruby e Rails
Seccomp - Ruby e RailsSeccomp - Ruby e Rails
Seccomp - Ruby e RailsFabio Akita
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovimShougo
 

Mais procurados (9)

くみこみからひとことReturns
くみこみからひとことReturnsくみこみからひとことReturns
くみこみからひとことReturns
 
mRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System DevelopmentmRuby - Powerful Software for Embedded System Development
mRuby - Powerful Software for Embedded System Development
 
JRuby Basics
JRuby BasicsJRuby Basics
JRuby Basics
 
Usp Ribeirao - Ruby on Rails
Usp Ribeirao - Ruby on RailsUsp Ribeirao - Ruby on Rails
Usp Ribeirao - Ruby on Rails
 
Sao Carlos - Ruby on Rails
Sao Carlos - Ruby on RailsSao Carlos - Ruby on Rails
Sao Carlos - Ruby on Rails
 
Seccomp - Ruby e Rails
Seccomp - Ruby e RailsSeccomp - Ruby e Rails
Seccomp - Ruby e Rails
 
GC FAQ
GC FAQGC FAQ
GC FAQ
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovim
 
JVM Bytecodes
JVM BytecodesJVM Bytecodes
JVM Bytecodes
 

Semelhante a RubyならMacでしょう

MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?Joshua Ballanco
 
Highly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT CompilationHighly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT CompilationMatthew Gaudet
 
MacRuby & HotCocoa
MacRuby & HotCocoaMacRuby & HotCocoa
MacRuby & HotCocoaThilo Utke
 
Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby worldOrest Ivasiv
 
GUI Programming with MacRuby
GUI Programming with MacRubyGUI Programming with MacRuby
GUI Programming with MacRubyErik Berlin
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyelliando dias
 
MacRuby for Fun and Profit
MacRuby for Fun and ProfitMacRuby for Fun and Profit
MacRuby for Fun and ProfitJoshua Ballanco
 
Ruby for C#-ers (ScanDevConf 2010)
Ruby for C#-ers (ScanDevConf 2010)Ruby for C#-ers (ScanDevConf 2010)
Ruby for C#-ers (ScanDevConf 2010)Thomas Lundström
 
J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Touroscon2007
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorialknoppix
 
Ruby Performance - The Last Mile - RubyConf India 2016
Ruby Performance - The Last Mile - RubyConf India 2016Ruby Performance - The Last Mile - RubyConf India 2016
Ruby Performance - The Last Mile - RubyConf India 2016Charles Nutter
 
Merb Camp Keynote
Merb Camp KeynoteMerb Camp Keynote
Merb Camp KeynoteYehuda Katz
 
J Ruby Power On The Jvm
J Ruby Power On The JvmJ Ruby Power On The Jvm
J Ruby Power On The JvmQConLondon2008
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvmdeimos
 
TorqueBox for Rubyists
TorqueBox for RubyistsTorqueBox for Rubyists
TorqueBox for Rubyistsbobmcwhirter
 
First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016
First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016
First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016ManageIQ
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLBarry Jones
 

Semelhante a RubyならMacでしょう (20)

MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?MacRuby: What is it? and why should you care?
MacRuby: What is it? and why should you care?
 
Highly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT CompilationHighly Surmountable Challenges in Ruby+OMR JIT Compilation
Highly Surmountable Challenges in Ruby+OMR JIT Compilation
 
MacRuby & HotCocoa
MacRuby & HotCocoaMacRuby & HotCocoa
MacRuby & HotCocoa
 
Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby world
 
MacRuby on Rails
MacRuby on RailsMacRuby on Rails
MacRuby on Rails
 
GUI Programming with MacRuby
GUI Programming with MacRubyGUI Programming with MacRuby
GUI Programming with MacRuby
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRuby
 
MacRuby
MacRubyMacRuby
MacRuby
 
MacRuby for Fun and Profit
MacRuby for Fun and ProfitMacRuby for Fun and Profit
MacRuby for Fun and Profit
 
Concurrency in ruby
Concurrency in rubyConcurrency in ruby
Concurrency in ruby
 
Ruby for C#-ers (ScanDevConf 2010)
Ruby for C#-ers (ScanDevConf 2010)Ruby for C#-ers (ScanDevConf 2010)
Ruby for C#-ers (ScanDevConf 2010)
 
J Ruby Whirlwind Tour
J Ruby Whirlwind TourJ Ruby Whirlwind Tour
J Ruby Whirlwind Tour
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
Ruby Performance - The Last Mile - RubyConf India 2016
Ruby Performance - The Last Mile - RubyConf India 2016Ruby Performance - The Last Mile - RubyConf India 2016
Ruby Performance - The Last Mile - RubyConf India 2016
 
Merb Camp Keynote
Merb Camp KeynoteMerb Camp Keynote
Merb Camp Keynote
 
J Ruby Power On The Jvm
J Ruby Power On The JvmJ Ruby Power On The Jvm
J Ruby Power On The Jvm
 
Ola Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The JvmOla Bini J Ruby Power On The Jvm
Ola Bini J Ruby Power On The Jvm
 
TorqueBox for Rubyists
TorqueBox for RubyistsTorqueBox for Rubyists
TorqueBox for Rubyists
 
First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016
First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016
First Pull Request - Sergio Ocon - ManageIQ Design Summit 2016
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQL
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

RubyならMacでしょう

  • 1. Ruby Mac Ruby, on your Mac of course Vincent Isambart
  • 2. Ruby Mac Ruby, on your Mac of course / Self-introduction MacRuby / MacRuby’s story MacRuby / In development Q&A
  • 3. Self-introduction Vincent Isambart (IRC: scritch) @vincentisambart 2003: Ruby / Discovered Ruby 2006: RHG / RHG translation 2008-2009: MacRuby
  • 4. Mac Ruby Ruby on Mac % ruby -v ruby 1.8.6 (2008-08-11 patchlevel 287)
  • 6. RubyCocoa RubyCocoa’s problems Threading Method names Speed Type conversion
  • 7. 2008: MacRuby MacRuby starts (Mac) Ruby Goal: Best Ruby implementation for the (Mac) desktop
  • 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. 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. 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. ( ) What did not change (much) / Parser YARV Ruby Ruby standard library
  • 13. MacRuby 0.4 MacRuby 0.4’s problems Incompatibilities Threading with 1.9 Merging 1.9 Speed
  • 14. 12 : 0.5 Dec 2009: 0.5 dev started 0.4 Goal: Solving all 0.4’s problems
  • 15. How? VM By creating a new VM rm vm*.c # bye bye YARV
  • 16. Speed and threads Calculations are super-fast You can use multiple cores
  • 17. Testing test-vm.rb RubySpec
  • 18. AOT compiling Fast start time Hide the code
  • 19. C Stop creating C libraries ruby-ffi
  • 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. MacRuby 0.5 MacRuby 0.5’s weak points In development
  • 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. Cocoa Creating a Cocoa application : RubyCocoa : MacRuby 0.4 : MacRuby 0.5
  • 24. If you want to help 1.9 / Learn 1.9 RubySpec / Help RubySpec Ruby / Make pure Ruby libs / Make tutorials
  • 25. Q&A http://www.macruby.org twitter: @macruby IRC: #ruby-osx (freenode)
  • 26. FAQ iPhone... CPU The CPU is different Investigating JIT Can’t use the JIT ObjC GC Can’t use the ObjC GC