JAX 08: Ruby - die Programmiersprache der Zukunft

von Thomas Bahn,
assono GmbH, Standort Kiel,

Stefan Tilkov:
Ruby ? die Programmiersprache der Zukunft

Why Ruby?

  • it's different
  • it supports growth
  • it's expressive
  • it's concise
  • we can afford it
  • Rails!
  • it's fun

Quick Intro

  • Type system: dynamic, strong, implicit
  • interpreted (mostly...)
  • very dynamic
  • strong metaprogramming support
  • purely object-oriented

    code examples...
  • loops
  • lists and operations on lists
  • hashes

    comparison von Java code and Ruby code to sort an array by lenght of elements
  • methods
  • classes

    #{variableName} in string literals is replaced by the variable's value
  • inheritance
  • modules (kind of container for methods)
  • "getters" and "setters" (properties!)
  • Attribute Accessor: short cut for properties (nice smile.gif )

    Metaprogramming with Ruby

    Struct.new "Person", :first_name, :last_name creates new class

    Creating objects and classes by name
    Kernel.const_get('String').new "Teststring" creates String object
    Test = Class.new

    Indivual object methods
    class << t1
    def object_method ...

    Classes and constants

    Runtime Definitions

    Methods adding methods

    Adding methods to existing classes like String: (Re)opening classes

    method_missing: Method called, when a missing method is called, with name of called method as argument

    short, declarative notation is "expanded" to many method definitions

    Ruby language implemenations
  • MRI = Matz's Ruby Interpreter
  • YARV = Yet anthother Ruby VM
  • Rubinius: "Ruby in Ruby"
  • JRuby: "Ruby in Java"

    Ruby vs. other dynamic languages

  • many libraries
  • "write only" reputation
  • weak (wierd) OO features
  • very fast

  • great community
  • extensive libraries
  • extremely fast

  • JVM version of Python
  • neglected for a long time
  • now supported by Sun

  • designed for the JVM
  • supposedly easier for Java developers

    Ruby: nice, concise, object-oriented language
    Killer feature: metaprogramming support
    Killer framework: Ruby on Rails
Veranstaltung Fachbeitrag JavaScript Sonstiges

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie wollen eine individuelle Lösung? Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen? Wir sind für Sie da.

Wir verwenden Ihre Daten, um Sie einmalig per E-Mail zu kontaktieren. Wir geben Ihre Daten nicht an Dritte weiter. Siehe: Datenschutzhinweise
assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Zentrale: +49 4307 900 407
Techn. Hotline: +49 4307 900 403
Vertrieb: +49 4307 900 402