際際滷

際際滷Share a Scribd company logo
The .Net Ruby VMNikos DimitrakopoulosDec 2009
MeSoftware developerPamediakopes.gr (now)Rento.gr (past)Individually (past + now)Bachelor in Telecommunications (main emphasis on web) from University of PeloponneseProgramming experience:RubyC#JavaScriptJava, Objective-C, 1Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
Pamediakopes.grTravel agencyAirticketsHotelsFerry TicketsCar rentalsTravel agency. But:Fully electronicFully automated (ok, almost)A software houseTools of the trade:C#, SQL, ASP.Net, JavaScriptplus a million different technologies for internal stuff (ruby, python, c, )2Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
ScopeDo the laundrySys-adminDo small but amazingly repetitive tasksPrototype  fast!Dont reinvent the wheel!Combine 2, 3 or 10s of different software ecosystems!TestingUnitFunctionalIntegrationEasier/less time consuming than C# with NUnit (for example)3Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
So?Ruby is amazingly good for:Sys-admin scriptsImplementing simple (and not so simple) librariesRapid prototypingRailsSinatraReusing codeStrong community & ecosystem after 2004 (Rails)Almost everything is Open Source4Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
RubyNikos Dimitrakopoulos on IronRuby Microsoft DevDays 20095A fully Object-Oriented LanguageEverything is an objectFunctional ParadigmLambdas / procsmap(), each(), inject()Fully DynamicInterpretedDynamically typedTotally extensible (even core classes)
RubyNikos Dimitrakopoulos on IronRuby Microsoft DevDays 20096Cross platformOpen sourceMultiple VMsVanilla Ruby (MRI, aka Matzs Original Interpreter)Runs on all platformsC bindingsJRuby (On JVM, aka the Java Virtual Machine)Runs where Java RunsJava bindingsMacRuby (On Mac OS X)Runs on Mac OS XObjective-C & Cocoa bindings
RubyNikos Dimitrakopoulos on IronRuby Microsoft DevDays 20097Origins in JapanZen is everywhere in the languageSimpleEffectiveNo-fluff
Demo!Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 20098
Famous quotesIt doesnt scaleIts slowIts immatureNot enterprise9Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
ButjRubyMacRubyRubiniusMagLevIronRuby10Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
11Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009IronRuby
12Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
What is IronRubyAn alternative Ruby VMImplemented on top of the DLRTight integration with .NetPart of the Iron languages implemented in .NetPythonRubyLISP13Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
A Ruby VMNikos Dimitrakopoulos on IronRuby Microsoft DevDays 200914Ruby interpreter (compliant with v 1.8.6)Faster than vanilla MRI Ruby (usually)Standard tools included:Console (irb)Libraries (rubygems)Documentation (ri / RDoc)
.Net IntegrationInteroperability with .NetConsume all the C# code you want!The huge .Net library ecosystemExternal .Net librariesCustom / existing C# code15Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
AdditionallyTranslations of idioms:object.SomeMethod() <-> object.some_methodSystem.Core <-> System::CoreC# lambdas and delegates <-> Ruby clojures>>> l = System::Byte.instance_methods(false).last=> 'get_type_code'>>> l.ruby_name=> "get_type_code">>> l.clr_name=> "GetTypeCode"16Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
# Demo17Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
.Net IntegrationTest .Net code with Cucumber & RSpec!18Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
# Demo19Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
.Net IntegrationExtend existing .Net classes the ruby way!20Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
.Net IntegrationCall ruby code from .Net!21Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
# Demo22Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
.Net IntegrationDeploy on .Net infrastructureWeb apps on IIS (Rails on .Net!)Consume Azure services!Use .Net servicesSQLOfficeActive DirectoryExchangeetc...23Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
.Net IntegrationDeploy on .Net infrastructureDesktop applications on WindowsDesktop applications on everywhere (Mono)24Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
AdditionallyInteroperability with the other scripting languages!PythonUse code also from there!25Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
SilverlightSilverlight integrationWrite ruby instead of javascript in your pages! (Gestalt project) 26Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
Silverlight27Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
LimitationsNo support for native C gemsSome rough edges in interoperability28Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
Status29Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009RC1Runs on .Net 3.5 & .Net 4.0 (different builds)Passing ~93% of the Ruby specsAlready faster than vanilla Ruby (in a lot of cases)1.0 expected soonFull compatibility with Ruby 1.8.6Common build for .Net 3.5 & .Net 4.0 (hopefully)
Status30Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
Future31Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009SpeedBe on par with JRubyRuby 1.9 (maybe?)???
Thanks!32Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009Thanks a lot & happy hacking!
Links33Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009IronRuby:http://ironruby.net/http://ironruby.codeplex.com/Rubyst.eshttp://rubyst.eshttp://groups.google.com/ruby-hellugPamediakopeshttp://www.pamediakopes.grhttp://www.airtickets24.comMehttp://blog.nikosd.comhttp://twitter.com/nikosdnospam - at - nikosd - dom  comCode samples : http://nikosd.com/f/ironruby-code-samples.zip

More Related Content

Similar to Microsoft Hellas Dev Days 09: IronRuby (20)

PPT
Java, Ruby & Rails
Peter Lind
PPT
Ruby Past, Present, Future
adamfine
PDF
Ruby for C#-ers (ScanDevConf 2010)
Thomas Lundstr旦m
PPTX
Optimizing for programmer happiness
Josh Schramm
PPTX
Ruby on Rails Introduction M&P - IT Skill Development Program 07
Muhammad Sunny
PPTX
Why Ruby?
IT Weekend
PDF
Ruby V Ms A Comparison
ConSanFrancisco123
PDF
Is Ruby on Rails Object Oriented? A Comprehensive Exploration
rorbitssoftware
PPT
Introduction to Ruby on Rails
mithunsasidharan
PPTX
Ruby for .NET developers
Max Titov
PPT
Dynamic Languages on the JVM
elliando dias
KEY
IronRuby for the .NET Developer
Cory Foy
PDF
From Java to Ruby...and Back
Anil Hemrajani
ODP
Ruby On Rails - Rochester K Linux User Group
Jose de Leon
PPTX
Rubyonrails 120409061835-phpapp02
sagaroceanic11
PPTX
Ruby on rails
Batzorigt Rentsen
PDF
Merb For The Enterprise
Matt Aimonetti
PDF
JRoR Deploying Rails on JRuby
elliando dias
PDF
Ruby for Java Developers
Robert Reiz
PDF
Ruby an overall approach
Felipe Schmitt
Java, Ruby & Rails
Peter Lind
Ruby Past, Present, Future
adamfine
Ruby for C#-ers (ScanDevConf 2010)
Thomas Lundstr旦m
Optimizing for programmer happiness
Josh Schramm
Ruby on Rails Introduction M&P - IT Skill Development Program 07
Muhammad Sunny
Why Ruby?
IT Weekend
Ruby V Ms A Comparison
ConSanFrancisco123
Is Ruby on Rails Object Oriented? A Comprehensive Exploration
rorbitssoftware
Introduction to Ruby on Rails
mithunsasidharan
Ruby for .NET developers
Max Titov
Dynamic Languages on the JVM
elliando dias
IronRuby for the .NET Developer
Cory Foy
From Java to Ruby...and Back
Anil Hemrajani
Ruby On Rails - Rochester K Linux User Group
Jose de Leon
Rubyonrails 120409061835-phpapp02
sagaroceanic11
Ruby on rails
Batzorigt Rentsen
Merb For The Enterprise
Matt Aimonetti
JRoR Deploying Rails on JRuby
elliando dias
Ruby for Java Developers
Robert Reiz
Ruby an overall approach
Felipe Schmitt

More from Nikos Dimitrakopoulos (6)

PDF
Lean meetings (Athens Ruby Meetup #25)
Nikos Dimitrakopoulos
PDF
Building a globalized, customer facing e-commerce product, powered by micro-s...
Nikos Dimitrakopoulos
PDF
Single Sign On in Ruby - Enterprise Ready!
Nikos Dimitrakopoulos
PPTX
A Blink Into The Rails Magic
Nikos Dimitrakopoulos
PDF
Things Learned From Rails
Nikos Dimitrakopoulos
PPT
Ruby On Rails Introduction [旅留粒粒流 凌 Rails]
Nikos Dimitrakopoulos
Lean meetings (Athens Ruby Meetup #25)
Nikos Dimitrakopoulos
Building a globalized, customer facing e-commerce product, powered by micro-s...
Nikos Dimitrakopoulos
Single Sign On in Ruby - Enterprise Ready!
Nikos Dimitrakopoulos
A Blink Into The Rails Magic
Nikos Dimitrakopoulos
Things Learned From Rails
Nikos Dimitrakopoulos
Ruby On Rails Introduction [旅留粒粒流 凌 Rails]
Nikos Dimitrakopoulos
Ad

Recently uploaded (20)

PDF
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
PDF
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
PDF
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
PDF
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
PDF
Kubernetes - Architecture & Components.pdf
geethak285
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) 際際滷s
Ravi Tamada
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
PDF
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
PDF
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
PDF
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
PDF
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
PDF
UiPath Agentic AI ile Ak脹ll脹 Otomasyonun Yeni a脹
UiPathCommunity
PDF
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
PPTX
Enabling the Digital Artisan keynote at ICOCI 2025
Alan Dix
PPTX
叶Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
Why aren't you using FME Flow's CPU Time?
Safe Software
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
Kubernetes - Architecture & Components.pdf
geethak285
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) 際際滷s
Ravi Tamada
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
Cracking the Code - Unveiling Synergies Between Open Source Security and AI.pdf
Priyanka Aash
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
UiPath Agentic AI ile Ak脹ll脹 Otomasyonun Yeni a脹
UiPathCommunity
Plugging AI into everything: Model Context Protocol Simplified.pdf
Abati Adewale
Enabling the Digital Artisan keynote at ICOCI 2025
Alan Dix
叶Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
Ad

Microsoft Hellas Dev Days 09: IronRuby

  • 1. The .Net Ruby VMNikos DimitrakopoulosDec 2009
  • 2. MeSoftware developerPamediakopes.gr (now)Rento.gr (past)Individually (past + now)Bachelor in Telecommunications (main emphasis on web) from University of PeloponneseProgramming experience:RubyC#JavaScriptJava, Objective-C, 1Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 3. Pamediakopes.grTravel agencyAirticketsHotelsFerry TicketsCar rentalsTravel agency. But:Fully electronicFully automated (ok, almost)A software houseTools of the trade:C#, SQL, ASP.Net, JavaScriptplus a million different technologies for internal stuff (ruby, python, c, )2Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 4. ScopeDo the laundrySys-adminDo small but amazingly repetitive tasksPrototype fast!Dont reinvent the wheel!Combine 2, 3 or 10s of different software ecosystems!TestingUnitFunctionalIntegrationEasier/less time consuming than C# with NUnit (for example)3Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 5. So?Ruby is amazingly good for:Sys-admin scriptsImplementing simple (and not so simple) librariesRapid prototypingRailsSinatraReusing codeStrong community & ecosystem after 2004 (Rails)Almost everything is Open Source4Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 6. RubyNikos Dimitrakopoulos on IronRuby Microsoft DevDays 20095A fully Object-Oriented LanguageEverything is an objectFunctional ParadigmLambdas / procsmap(), each(), inject()Fully DynamicInterpretedDynamically typedTotally extensible (even core classes)
  • 7. RubyNikos Dimitrakopoulos on IronRuby Microsoft DevDays 20096Cross platformOpen sourceMultiple VMsVanilla Ruby (MRI, aka Matzs Original Interpreter)Runs on all platformsC bindingsJRuby (On JVM, aka the Java Virtual Machine)Runs where Java RunsJava bindingsMacRuby (On Mac OS X)Runs on Mac OS XObjective-C & Cocoa bindings
  • 8. RubyNikos Dimitrakopoulos on IronRuby Microsoft DevDays 20097Origins in JapanZen is everywhere in the languageSimpleEffectiveNo-fluff
  • 9. Demo!Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 20098
  • 10. Famous quotesIt doesnt scaleIts slowIts immatureNot enterprise9Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 12. 11Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009IronRuby
  • 13. 12Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 14. What is IronRubyAn alternative Ruby VMImplemented on top of the DLRTight integration with .NetPart of the Iron languages implemented in .NetPythonRubyLISP13Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 15. A Ruby VMNikos Dimitrakopoulos on IronRuby Microsoft DevDays 200914Ruby interpreter (compliant with v 1.8.6)Faster than vanilla MRI Ruby (usually)Standard tools included:Console (irb)Libraries (rubygems)Documentation (ri / RDoc)
  • 16. .Net IntegrationInteroperability with .NetConsume all the C# code you want!The huge .Net library ecosystemExternal .Net librariesCustom / existing C# code15Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 17. AdditionallyTranslations of idioms:object.SomeMethod() <-> object.some_methodSystem.Core <-> System::CoreC# lambdas and delegates <-> Ruby clojures>>> l = System::Byte.instance_methods(false).last=> 'get_type_code'>>> l.ruby_name=> "get_type_code">>> l.clr_name=> "GetTypeCode"16Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 18. # Demo17Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 19. .Net IntegrationTest .Net code with Cucumber & RSpec!18Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 20. # Demo19Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 21. .Net IntegrationExtend existing .Net classes the ruby way!20Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 22. .Net IntegrationCall ruby code from .Net!21Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 23. # Demo22Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 24. .Net IntegrationDeploy on .Net infrastructureWeb apps on IIS (Rails on .Net!)Consume Azure services!Use .Net servicesSQLOfficeActive DirectoryExchangeetc...23Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 25. .Net IntegrationDeploy on .Net infrastructureDesktop applications on WindowsDesktop applications on everywhere (Mono)24Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 26. AdditionallyInteroperability with the other scripting languages!PythonUse code also from there!25Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 27. SilverlightSilverlight integrationWrite ruby instead of javascript in your pages! (Gestalt project) 26Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 28. Silverlight27Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 29. LimitationsNo support for native C gemsSome rough edges in interoperability28Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 30. Status29Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009RC1Runs on .Net 3.5 & .Net 4.0 (different builds)Passing ~93% of the Ruby specsAlready faster than vanilla Ruby (in a lot of cases)1.0 expected soonFull compatibility with Ruby 1.8.6Common build for .Net 3.5 & .Net 4.0 (hopefully)
  • 31. Status30Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009
  • 32. Future31Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009SpeedBe on par with JRubyRuby 1.9 (maybe?)???
  • 33. Thanks!32Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009Thanks a lot & happy hacking!
  • 34. Links33Nikos Dimitrakopoulos on IronRuby Microsoft DevDays 2009IronRuby:http://ironruby.net/http://ironruby.codeplex.com/Rubyst.eshttp://rubyst.eshttp://groups.google.com/ruby-hellugPamediakopeshttp://www.pamediakopes.grhttp://www.airtickets24.comMehttp://blog.nikosd.comhttp://twitter.com/nikosdnospam - at - nikosd - dom comCode samples : http://nikosd.com/f/ironruby-code-samples.zip