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 oder möchten eine Demo anfordern?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

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
Vertrieb: +49 4307 900 402