Wer in Zukunft auf der Suche nach einem Ruby Entwickler ist, kann sich ja dieser DSL bedienen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
class Applicant < ActiveEngineer require 'ruby' require 'mad_skills' require 'oo_design' require 'mysql' validates :bachelors_degree def qualified? [:smart, :highly_productive, :curious, :driven, :team_player ].all? do |attr| self.send attr end end end class ShopItToMe include TopTalent has_millions :subscribers, :include=>:mostly_women has_many :profits, :revenue has_many :recent_press, :through=>[:today_show, :good_morning_america, :new_york_times, :oprah_magazine] belongs_to :south_park_sf has_many :employees, :limit=>10 def apply(you) unless you.build_successful_startups raise "Not wanted" end unless you.enjoy_working_at_scale raise "Don't bother" end end def work with small_team do our_offerings.extend you subscribers.send :thrill [:scaling, :recommendation_engines].each do |challenge| assert intellectual_challenges.include? challenge end %w(analytics ui collaborative_filtering scraping).each do |task| task.build end end end end def to_apply include CoverLetter include Resume end |
Der in und für .NET implementierte Ruby Interpreter IronRuby ist in der Version 0.9 erschienen. Mit diesem Release wurde die Performance laut der Ruby Benchmark Suite deutlich verbessert. Die Performance ist nach diesem laut Entwickler 2x so schnell wie die von MRI 1.8.6. Weiterhin besteht nun Unterstützung für die Win32OLE Bibliothek, welche für eine beinahe reine Windows Implementierung ja verpflichtend sein sollte. Verbesserungen gab es ausserdem innerhalb der Interaktion zwischen verschiedenen DLR Sprachen wie Python. Nach dem sich IronRuby schon seit einiger Zeit in die Reihe der “zu Rails kompatiblen” Ruby Implementierungen einreihen kann, rückt mit diesen Performance Verbesserungen eine Version 1.0 in greifbare nähe.
Jetzt hat mans fast geschafft: MRI 1.9, MRI 1.8 und JRuby sind parallel installiert und haben alle ihre eigene Executable. Alle benutzen verschiedene Gem-Repositories und die Installationen sind schön isoliert. Alles rosa? Fast! Es bleibt da noch das Problem mit ausführbaren gems...
Es scheint wohl eine große Sache zu sein, wenn sogar Heise davon berichtet. Dabei war die Übernahme der Ruby 1.8.6 Schirmherrschaft schon seit einigen Monaten mehr oder weniger beschlossene Sache. Trotzdem noch mal hier die Erwähnung.
Engine Yard wird ab sofort die weitere Pflege der Version 1.8.6 übernehmen. Der Grund dafür ist wohl klar. Engine Yard haben schon seit einigen Jahren Ihr Geschäft rund um die Version 1.8.6 aufgebaut. Sie nutzen und unterstützen die Entwicklung der Ruby Enterprise Edition, bei der es sich um eine gepatchte Version von 1.8.6 handelt, die deutlich effizienter arbeiten soll. Engine Yard ist auch sonst sehr engagiert in Richtung Rubinius oder Phusion Passenger. Aufgrund dessen äussere ich die wage Vermutung, dass die Verbesserungen von REE nun zumindest teilweise Ihren Weg in den Hauptentwicklungszweig der 1.8.6 Version finden werden. Es wird definitiv spannend, wenn nun neben den normalen Maintainern auch eine Firma Ihren Platz einnimmt.
(Anm.: Wil Shipley ist der Autor von Delicious Library, mit welcher man seine Sammlung aus Bücher, CDs, Filmen, etc. einfach verwalten kann. Im Moment arbeitet er an Delicious Library 2 - die erste Mac-Anwendung die bereits als Beta-Software einen Apple Design Award gewonnen hat. In seinem Blog Call me Fishmeal gibt er ganz gern Ratschläge für Programmierer. Einer davon ist Free Programming Tips are Worth Every Penny, der auch für nicht-Mac-Programmierer sehr interessant ist. Übersetzt mit freundlicher Erlaubnis von Wil.)
Manchmal meint jemand zu mir, “Hey, Wil, du programmierst doch seit die Dinosaurier die Erde beherrschten… hast du nicht ein paar Ratschläge für uns Jungspunde?”
Worauf ich immer antworte, “Hey, ihr Schlingel, RUNTER VON MEINEM RASEN!”
Nein, nein, normalerweise wende ich zögernd “Ach, ich weiss doch auch nicht so recht” ein, während ich schüchtern auf meine Füße starre.
Aber ich hab in letzter Zeit oft darüber nachgedacht, nachdem ich zuerst alleine so viel Code für Delicious Library geschrieben habe (zum ersten mal seit vielen Jahren), und dann einen neuen Programmierer eingestellt und versucht habe ihm mein Wissen zu vermitteln. Und dabei habe ich einen Stil entwickelt:
Tja, jetzt ist Ruby aus den Top 10 geflogen – überholt von JavaScript und Delphi. So ziemlich jede Sprache scheint im Dezember zugelegt zu haben, mit großen Sprüngen. Zwar ist Python Sprache des Jahres geworden, aber auch die TIOBE-Kommentatoren wissen nicht genau, woher der Aufwind kam. Und die Vermutung, dass Python 2008 weiter an Beliebtheit gewinnen wird, ist sicher richtig.
Was passiert auf der Ruby-Seite?
Nine? Doch!
Nur für’s Protokoll: Ruby ist jetzt auf Platz 9 vor JavaScript und direct hinter C#. Und das, obwohl auch JavaScript immer populärer wird. Wenn jetzt noch Lua und D statt Perl und C++ in die Top 10 aufsteigen, ist die Welt doch beinahe in Ordnung ^^
Wollt Ihr gerne mithelfen Ruby auch auf der .NET Plattform verfügbar zu machen? Das erste Dokument was Ihr hierbei von Microsoft (bzw. John Lam) bekommt ist nicht etwa eine Anleitung wie Ihr einen kompatiblen Patch erstellt. Nein! Ihr bekommt zu Erst einen Vertrag. Ich verkneife mir jetzt jeden weiteren Kommentar dazu. Wenn ich mir das Ding so durchlese, scheint der auch nicht wirklich schlimm zu sein. Allerdings ist der durchschnitts Enwickler wohl kaum in der Lage, die Folgen einer dortigen Unterschrift abzusehen. Ich wünsche aufjedenfall jedem Helfer viel Spaß damit.
Oh Junge, Junge, und das ist erst der Anfang…
Also, hier – die Website der “Ruby Association”, deren Vorsitzender niemand anders als Yukihiro Matsumoto ist. Erste Vereinshandlung: Ausrufung eines Ruby Logo Contest. Hier die Übersetzung für’s deutsche Kino:
Um das doch recht große Sommerloch zu füllen möchte, ich euch einige meiner Neuentdeckungen vorstellen. Ich denke mal vieles wird schon bekannt sein. Trotzdem war ich von einigen Sachen recht begeistert.
Fangen wir mit meiner letzten Entdeckung an: RubyOSA. Dabei handelt es sich um einen Parser der von MacOSX Applikationen die Interfaces analysiert und on the fly eine RubyAPI dazu erstellt. Somit lassen sich Anwendungen statt mit AppleScript nun auch mit Ruby steuern. Ein Beispiel wäre da iTunes. Wer wollte nicht schon immer mal seinem iChat den aktuellen Track für die Status Nachricht übergeben? ;-)
require 'rbosa' itunes = OSA.app('iTunes') track = itunes.current_track OSA.app('iChat').status_message = "Playing: #{track.name}"
Weiter Beispiele und Anleitungen finden sich in englischer Sprache auf der Webseite.
In eine ähnliche Richtung geht der Blog RubyOnWindows. Hier gibt es recht gute Artikel zu Ruby auf Windows Maschinen. Eben auch Ruby zur Steuerung von iTunes.
Nachdem ich heute wieder mal einige Excel Diagramme angeschaut habe und der Meinung war das muss auch einfacher gehen habe ich mich ein wenig auf die Suche nach einer Lösung mit Ruby gemacht. Dabei bin ich auf Gruff gestoßen. Damit lassen sich wirklich sehr einfach doch recht ansehnliche Diagramme erstellen. Einzig das Kuchen-Diagramm hat nicht den von mir gewünschten Funktionsumfang.
Und so ganz nebenbei bin ich auch noch über einen Subversion Browser gestolpert, der mit Ruby on Rails realisiert wurde. Dabei wurde an Ajax nicht gespart. Eine Demo zeigt die wichtigsten Funktionen.
So das war mein Beitrag zum Sommerloch und jetzt weiterschlafen!
JSON ist eine Alternative zu YAML, findet zunehmend Verbreitung und wird unter anderem von Rails benutzt, um Daten über die AJAX-Schnittstelle zu senden. Das Ruby-Core-Team hat sich jetzt entschieden, Ruby serienmäßig damit auszurüsten:
Mon Jun 4 21:15:45 2007 NARUSE, Yui <naruse@ruby-lang.org>
* lib/json.rb, lib/json, ext/json, test/json:
import JSON library.
require 'json' # To create a JSON text from a ruby data structure, you # can call JSON.generate (or JSON.unparse) like that: json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10] # => [1,2,{"a":3.141},false,true,null,"4..10"] # It's also possible to call the #to_json method directly. json = [1, 2, {"a"=>3.141}, false, true, nil, 4..10].to_json # => [1,2,{"a":3.141},false,true,null,"4..10"]
$ irb19 -rjson irb(main):001:0> jj Array('1.8'..'2.4') [ "1.8", "1.9", "2.0", "2.1", "2.2", "2.3", "2.4" ] => nil
Die Bibliothek wurde in C von Florian Frank geschrieben und gestern in den trunk importiert (das heißt, in Ruby 1.9.) Zu Weihnachten gibt es also schnellen JSON-Import und -Export in Ruby.
Na, sieh mal einer an: CodeGear (alias Borland) will die erste IDE für agile Ruby-on-Rails-Web-2.0-Entwicklung zur Welt bringen. TextMate, ArachnoRuby und RadRails nehmen die wohl nicht ernst? Na ja, schlechte Recherche und Enterprise-Arroganz sind nix neues; rescue nil.
Aber wir reden hier immerhin über einen neuen Bruder von Delphi und JBuilder. Man beachte, dass Python (zB laut TIOBE-Index) schon vor zwei Jahren so beliebt war wie Ruby heute; dennoch sah in Scotts Valley niemand die Notwendigkeit, eine Python-IDE zu entwickeln. Delphi for PHP gibt’s schon.
Was lange schon als Gerücht kursierte, wird nun von CodeGear offiziell bestätigt: Die Firma arbeitet an einer Entwicklungsumgebung für Ruby on Rails, die in der zweiten Jahreshälfte 2007 veröffentlicht werden soll. Die IDE wird vollständigen Support von Ruby on Rails bieten inkl. Codevervollständigung, Refactoring.
Vor langer Zeit (muss so 2000-2003 gewesen sein) habe ich nur mit Delphi gearbeitet. Viele Dinge vermisse ich bis heute…vor allem Form-Designer, Debugger und Online-Hilfe :) Hoffen wir, dass CodeGear mit neuem Wind den Mief aus dem Ruby-IDE-Sumpf vertreibt. Im Allgemeinen lässt sich mit einer Rails-IDE doch auch sicher ganz gut Ruby programmieren ^^
Einen Namen hat das Kind aber bisher nicht. Hey, du da! Web 2.0! Vorschläge?
Nach neuesten Erkenntnissen von TIOBE ist es nun zu Ende mit dem Aufstieg von Ruby. Ist why deshalb geflüchtet?
Ich denke nicht. Es ist ruhiger geworden um Rails, das ist vielleicht gar nicht so schlecht. Das Ruby-Core-Team arbeitet fleißig an Ruby 1.9.1 (22 Commits in den letzten 7 Tagen), und der Weihnachts-Termin gilt weiterhin.
Vielleicht sollten wir bis dahin alle ein wenig kürzer treten, und uns mal wieder umschauen, was es sonst noch so in der Welt zu entdecken gibt.
Oder nicht?
Mhhhhhh, mir fällt nicht viel dazu ein. Auch wenn ich in letzter Zeit die Beiträge von _why nicht sonderlich stark fand, so war er doch die omnipräsenteste Person in der Rubyszene. Schade das er sich nun anderen Themen widmet. Schön das er eine zeitlang tolle Dinge mit Ruby gemacht hat. siiigggghhh