Stefan Muenz: naechster Kandidat: SELFRUBY

Liebe Forumer,

ach, diese netten Akronyme (oder waren es Abbreviations?) fuer all die vielen modernen Sprachen und Technologien ... wenn sie doch wenigstens mal nicht auch noch immer die gleichen Namen verwenden wuerden. So war mir Ruby bislang bekannt als eine Technologie des W3C, um bestimmte Eigenschaften fernoestlicher Schriftsprachen mit Hilfe von geeignetem Markup in den Griff zu bekommen. Offenbar gibt es aber auch eine objektorientierte Programmiersprache dieses Namens. Von der habe ich bis dato eigentlich noch gar nichts gehoert. Aber wie gut, dass es fuer alles ein SELF... gibt *g*: auf http://groups.google.com/groups?q=SELFHTML&hl=en&scoring=date&selm=20020322165105.37965.qmail%40web14301.mail.yahoo.com&rnum=3  erfahrt ihr Naeheres, und die Adresse des Projekts ist http://www.selfruby.de/.

Immherhin - eigenes Layout, eigene Vorstellungen. Aber leider wieder mal bislang nur unvollstaendiges Material, und leider keine Einfuehrung. So wuerde ich zu gerne mal wissen, was es mit diesem Ruby auf sich hat. Was unterscheidet es von anderen Programmiersprachen, wo ist es einsetzbar usw. Kennt von euch jemand die Sprache naeher? Oder muss ich auf SELFRUBY 1.0 warten, wo solche Dinge dann hoffentlich drin stehen? ;-)

viele Gruesse
  Stefan Muenz

  1. Hallo  Stefan, hallo Forum,

    Ich weiss nicht sehr viel über Ruby, außer einigen Artikeln im Linux Magazin habe ich bislang nichts darüber gelesen..

    Hier in Kürze, was ich im Linux-Magazin gefunden habe:

    *Ruby wurde 1993 bis 1995 von Yukihiro (Matz) Matsumoto in Japan entwickelt
    * es ist strengobjektorientiert
    * es gibt ein Apache-Modul (mod_ruby)
    * eRuby ist direkt in HTML einschließbar (wie PHP oder embedPerl)
    * es gibt ein Ruby basiertes Projekt "IOWA", einem Pendant zum Python basierten ZOPE

    Gruss Sven S.

    1. Hallo Sven,

      * es ist strengobjektorientiert
      * es gibt ein Apache-Modul (mod_ruby)
      * eRuby ist direkt in HTML einschließbar (wie PHP oder embedPerl)

      Das klingt ja eigentlich alles mal recht interessant! Wobei ich mir unter "streng objektorientierten" Sprachen immer so was wie Lisp vorstelle, und mit dessen Klammergewusel kann man mich jagen ;-)
      Aber so weit ich es auf den ersten Blick erkennen konnte, scheint das da keine Sprache zu sein, die sich am Lisp-Prinzip orientiert.

      Letztendlich wird es aber wohl drauf ankommen, wie performant der Interpreter ist - denn "schoene Quelltexte" sind das eine, Praxistauglichkeit von Anwendungen das andere.

      Danke auch an Christian fuer den Link zur Originalseite von Ruby - da werd ich mich auch mal umsehen ;-)

      viele Gruesse
        Stefan Muenz

      1. hi!

        Das klingt ja eigentlich alles mal recht interessant! Wobei ich mir
        unter "streng objektorientierten" Sprachen immer so was wie Lisp
        vorstelle, und mit dessen Klammergewusel kann man mich jagen ;-)

        LISP ist "funktional" und IMHO nicht mal "streng funktional" -- wenn
        man das überhaupt so nennen kann. Da hast du wohl die Paradigmen ein
        bisschen durcheinander gebracht... ;)

        bye, Frank!

        1. hi!

          Noch eine Anmerkung:

          "Streng objektorientiert" bedeutet, dass es keine primitiven Datentypen
          gibt wie int, char und boolean in anderen Sprachen, sondern dass das
          alles auch Objekte sind. Das heißt, dass man zum Beispiel Variablen
          addiert, indem man a.plus(b) statt a+b schreibt und einen String
          ausgibt, indem man s.print() statt print(s) schreibt. Auch Konstanten
          sind in Ruby IMHO Objekte, so dass man etwas wie "Hello World".print()
          schreiben kann -- zumindest in der Theorie.

          Ob die Syntax mit der von Ruby übereinstimmt, weiß ich nicht. Außerdem
          kann es natürlich sein, dass Ruby für diese Dinge aufgrund einfacherer
          Eingewöhnung der Programmierer noch eine alternative Syntax anbietet,
          die eher an andere imperative und nicht streng objektorientierte
          Sprachen erinnert.

          bye, Frank!

          1. Hoi,

            "Streng objektorientiert" bedeutet, dass es keine primitiven Datentypen
            gibt wie int, char und boolean in anderen Sprachen, sondern dass das
            alles auch Objekte sind.

            Genau so ist es. Wenn man in Ruby einer Variablen i den Wert 10 zuweist, dann
            wird in Wirklichkeit ein Objekt der Klasse Integer erstellt und die Methode '='
            ausgefuehrt.

            Das heißt, dass man zum Beispiel Variablen
            addiert, indem man a.plus(b) statt a+b schreibt

            Nun, in Ruby sind die Operatoren Methoden.

            und einen String
            ausgibt, indem man s.print() statt print(s) schreibt.

            Das Klassenkonzept sieht etwas anders aus: print() ist eine Methode der Klasse
            'IO'.

            Auch Konstanten sind in Ruby IMHO Objekte,

            Ja.

            so dass man etwas wie "Hello World".print() schreiben kann -- zumindest in
            der Theorie.

            IO.print("Hello World")

            Man sollte zu Ruby noch wissen, dass es nicht Format-frei ist. Lokale Variablen
            muessen klein geschrieben werden, Klassennamen beginnen mit einem grossen
            Buchstaben und Konstanten muessen komplett gross geschrieben werden. Globale
            Variablen muessen mit $ beginnen und Instanz-Variablen mit einem @. Ausserdem
            benutzt Ruby ein POD-Aehnliches Format fuer eine eingebettete Dokumentation.
            Die Einbettung von Regular Expressions ist weitgehend Perl nachgeahmt.
            Ruby bietet die Definition von eigenen Iteratoren und hat 38 reservierte
            Woerter. Kommentare werden durch '#' eingeleitet, mehrzeilige Kommentare sind
            nicht moeglich. Mehrfachvererbung ist durch Mixin moeglich. Auch
            try-catch-Konstruktionen sind moeglich, aehnlich wie in Java, allerdings mit
            einigen Erweiterungen (ensure, z. B.).

            Gruesse,
             CK

  2. Hoi,

    So war mir Ruby bislang bekannt als eine Technologie des W3C, um bestimmte
    Eigenschaften fernoestlicher Schriftsprachen mit Hilfe von geeignetem Markup
    in den Griff zu bekommen. Offenbar gibt es aber auch eine objektorientierte
    Programmiersprache dieses Namens.

    Richtig, eine Skript-Sprache. Die Orginal-Adresse ist

    http://www.ruby-lang.org/

    Von der habe ich bis dato eigentlich noch gar nichts gehoert. Aber wie gut,
    dass es fuer alles ein SELF... gibt *g*: auf
    http://groups.google.com/groups?q=SELFHTML&hl=en&scoring=date&selm=20020322165105.37965.qmail%40web14301.mail.yahoo.com&rnum=3
    erfahrt ihr Naeheres, und die Adresse des Projekts ist
    http://www.selfruby.de/.

    Das Projekt wurde in der deutschen Ruby-Mailingliste schon vorgestellt. Das
    steckt noch ziemlich in den Kinderschuhen, die Vorstellung ist nichtmal eine
    Woche her.

    Immherhin - eigenes Layout, eigene Vorstellungen. Aber leider wieder mal
    bislang nur unvollstaendiges Material, und leider keine Einfuehrung.

    Wie gesagt, es ist noch sehr, sehr jung. Wie eigentlich ziemlich alles rund
    um Ruby.

    So wuerde ich zu gerne mal wissen, was es mit diesem Ruby auf sich hat. Was
    unterscheidet es von anderen Programmiersprachen,

    Zuerst mal die Syntax ;-)
    Aber ansonsten eigentlich so viel nicht, abgesehen davon, dass ich finde, es
    macht ziemlichen Spass, Ruby zu schreiben. Die Sprache wirkt auf mich einfach
    zierlich und elegant. Es hat ziemlich viel von Python und Perl uebernommen,
    aber auch PHP und Smalltalk und andere Sprachen sollen eingeflossen sein, laut
    Matze.

    wo ist es einsetzbar usw.

    Wo ist Perl einsetzbar? ;-)

    Kennt von euch jemand die Sprache naeher?

    Was willst du wissen?

    Gruesse,
     CK

    1. tach,

      Richtig, eine Skript-Sprache. Die Orginal-Adresse ist
      http://www.ruby-lang.org/

      war ja beinahe anzunehmen, daß du einen Hinweis hast. Mir fiel das Ganze vor 14 Tagen auf, als ich das erstemal in den Paketen für FreeBSD rumgewühlt habe. Da gibts einiges, was mit dem Namen "ruby" zu tun hat, und weil ich damit nix anfangen konnte, hab ich erstmal nen großen Bogen ringsrum gemacht und mir nur vorgemerkt, daß ich mir das irgendwie mal näher ansehen müßte.

      Nicht nur dieses neue "SELF", sondern offenbar auch die Sprache selber sind noch sehr jung. Klargeworden ist mir bisher nicht, was eigentlich der Anlaß war, "noch eine" OOL zu entwickeln.

      bislang nur unvollstaendiges Material, und leider keine Einfuehrung.

      Bei der von dir angegebenen Adresse http://www.ruby-lang.org gibts auch einen link zu einem (downloadbaren) Handbuch vom November 2001. Es sieht so aus, als wollte sich "SELFRUBY" an diesem Handbuch orientieren, bloß werden ausgerechnet die Erläuterungen (noch?) weggelassen.

      Was willst du wissen?

      Ich würde zunächst mal wissen wollen, was es bringt, die Sachen, die für FreeBSD bereits in Ruby zur Verfügung stehen, durchzuprobieren, und was das für Teile sind ;-)

      Grüße aus Berlin

      Christoph S.

      1. Hoi,

        war ja beinahe anzunehmen, daß du einen Hinweis hast.

        ;-)

        Mir fiel das Ganze vor 14 Tagen auf, als ich das erstemal in den Paketen
        für FreeBSD rumgewühlt habe. Da gibts einiges, was mit dem Namen "ruby" zu
        tun hat, und weil ich damit nix anfangen konnte, hab ich erstmal nen großen
        Bogen ringsrum gemacht und mir nur vorgemerkt, daß ich mir das irgendwie mal
        näher ansehen müßte.

        cat pkg-descr

        Nicht nur dieses neue "SELF", sondern offenbar auch die Sprache selber sind
        noch sehr jung.

        Sagte ich ja.

        Klargeworden ist mir bisher nicht, was eigentlich der Anlaß war, "noch eine"
        OOL zu entwickeln.

        Frag Matze ;-)

        bislang nur unvollstaendiges Material, und leider keine Einfuehrung.
        Bei der von dir angegebenen Adresse http://www.ruby-lang.org gibts
        auch einen link zu einem (downloadbaren) Handbuch vom November 2001. Es
        sieht so aus, als wollte sich "SELFRUBY" an diesem Handbuch orientieren,
        bloß werden ausgerechnet die Erläuterungen (noch?) weggelassen.

        Och, es gibt schon recht viele Dokus zu Ruby. Z. B. das Ruby Reference Manual
        (http://www.ruby-lang.org/en/man-1.4/).

        Ich würde zunächst mal wissen wollen, was es bringt, die Sachen, die für
        FreeBSD bereits in Ruby zur Verfügung stehen, durchzuprobieren, und was das
        für Teile sind ;-)

        Ehm, viele. Zum einen natuerlich Ruby selbst. Dann aber auch z. B. 'ri', ein
        Viewer fuer die embedded documentation. Auch das Buch 'programming ruby' ist
        mit drin. Auch ruby-tk ist dabei. Am besten liest du dir einfach mal pkg-descr
        zu jedem Paket durch. Da steht das wichtigste drin.

        Gruesse aus dem schoenen Luedinghausen,
         CK