O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Top 10+ Things .NET Developers Should Know About Ruby

3.475 visualizações

Publicada em

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Top 10+ Things .NET Developers Should Know About Ruby

  1. 1. Top 10+ Things Every .NET Developer Should Know About Ruby Jeff Cohen @jeffcohen jeff@purpleworkshops.com
  2. 2. Windy City Rails Sept. 12, 2009 Essential Javascript Oct. 17, 2009 Rails for Everyone Oct. 24, 2009
  3. 3. Top 10+ Things Every .NET Developer Should Know About Ruby
  4. 4. 1. History & Philosophy SmallTalk C++ Ruby Java VB6 C# 1983 Perl 1993 1995 1996 2000 1989
  5. 5. 1. History & Philosophy Yukihiro Matsumoto "Matz"
  6. 6. 1. History & Philosophy 2003 Interview with Matz: http://www.artima.com/intv/ruby.html Minimal Interface vs. Humane Interface What You Feel > What You Can Do Sapir-Whorff Hypothesis
  7. 7. 2. irb "Immediate Mode" for Ruby developers
  8. 8. 3. Conventions MyClass methods_are_in_lowercase methods_can_be_questions? some_methods_have_consequences! methods_can_set_a_value= @instance_variable MY_CONSTANT or MyConstant or MyClass
  9. 9. 4. Objects Everything is an object A class is an object No "primitives." You can pass classes around like objects Easy reflection/introspection
  10. 10. 5. Messages Think in Messages, not Methods "hello".length "hello".send(:length) All message handlers (ok, fine: "methods") return a value to the calling code
  11. 11. 6. Blocks Extremely Common Ruby Idiom Most Seen in Iterators Anoymous Methods Can Be Saved For Later Use (lambda)
  12. 12. 7. It's Just a Script No compilation A class "declaration" is code that's executing!
  13. 13. 8. Dynamic Typing The type of an object is deduced at runtime Open Classes Object-Specific Type (enables Singleton Methods) Strongly Typed even though not Statically Typed IntelliSense is hard to do
  14. 14. In Case You Rant At Me About The Lack of Intellisense It rots your mind: http://www.charlespetzold.com/etc/ DoesVisualStudioRotTheMind.html It forces bottom-up design It forces linear programming, not free-form experimentation It discourages Test-Driven Development It's a sign that your API is TOO FREAKING BIG
  15. 15. 9. OOP Use Modules to Mix-In Behavior Don't Worry About Interfaces Duck Typing No Abstract Classes
  16. 16. 10. Metaprogramming method_missing Add methods and attributes at run time Can do prototype-style programming Rails gained fame by intelligent usage of metaprogramming techniques
  17. 17. 11. Even More... Ruby Class Methods vs. .NET Static Methods begin/rescue/ensure vs. try/catch/finally String interpolation Other new things: symbols, lambdas, closures No method overloading
  18. 18. C'mon in - the water's fine! Rails for Everyone Oct. 24, 2009 $395.00 purpleworkshops.com