Ich habe bei einer Firma angefangen, die sich hauptsächlich an C # orientiert. Wir haben ein paar Leute, die Java und JRuby mögen, aber die meisten Programmierer hier mögen C #. Ich wurde eingestellt, weil ich viel Erfahrung im Erstellen von Webanwendungen habe und weil ich mich für neuere Technologien wie JRuby on Rails oder NodeJs interessiere.
Ich habe vor kurzem mit einem Projekt begonnen, das eine Webanwendung erstellt und sich darauf konzentriert, eine Menge Dinge in kurzer Zeit zu erledigen. Die Software-Leitung hat diktiert, dass ich mvc4 anstelle von Schienen benutze. Das könnte in Ordnung sein, außer ich kenne mvc4 nicht, ich kenne C # nicht und ich bin der einzige, der für die Erstellung des Webanwendungsservers und der Front-End-Benutzeroberfläche verantwortlich ist.
Wäre es nicht sinnvoll, ein Framework zu verwenden, das ich bereits sehr gut kenne (Rails), anstatt mvc4 zu verwenden? Der Grund für die Entscheidung war, dass der technische Leiter Jruby / Rails nicht kennt und es keine Möglichkeit geben würde, den Code wiederzuverwenden.
Gegenargumente:
Er wird nicht zum Code beitragen und wird ehrlich gesagt für
dieses Projekt nicht benötigt . Es spielt also keine Rolle, ob er JRuby / Rails kennt oder nicht.Wir können den Code tatsächlich wiederverwenden, da wir viele Java-Apps haben, aus denen JRuby Code abrufen kann und umgekehrt. Tatsächlich hat er einige Ressourcen für die Konvertierung einer Java-Bibliothek in C # bereitgestellt, anstatt nur die Java-Bibliothek in der JRuby on Rails-App auszuführen. Alles nur, weil er Java oder JRuby nicht mag
Ich habe viele Webanwendungen erstellt, aber die Verwendung von etwas Unbekanntem verursacht einige Probleme und ich bin nicht in der Lage, eine großartige Anwendung in so kurzer Zeit zu erstellen, wie ich es gewohnt bin. Das wäre in Ordnung. Das Erlernen neuer Technologien ist in diesem Bereich wichtig. Das Problem ist, dass wir für dieses Projekt viel schnell erledigen müssen.
Ab wann darf ein Entwickler seine Tools auswählen? Ist das vom Unternehmen abhängig? Saugt meine Firma oder gilt das als normal? Gibt es grünere Weiden? Schaue ich das falsch an?
quelle
Antworten:
Ich würde sagen, Sie müssen mit dem Teamleiter sprechen und etwas sagen wie:
Dies wirft die Frage von „Fähigkeiten-you-Wer- (mutmaßlich) -hired-für“ vs. „Fähigkeiten-you-need-now“ und zeigt auch , dass Sie bereit sind , die neuen Fähigkeiten zu erlernen, aber dass es wird dauern Länger, um die neue Anwendung zu entwickeln, da Sie mit diesem Tool-Set noch nicht vertraut sind. Und Sie tun wollen zeigen , dass Sie neue Fähigkeiten zu erlernen sind bereit , zu. Wenn Sie nicht bereit sind, neue Fähigkeiten zu erlernen, ist dies eine gute Möglichkeit, um sicherzustellen, dass Ihre Beschäftigung endet, wenn Ihre Fähigkeiten nicht mehr benötigt werden.
Zu Ihrer Frage am Ende:
Es hängt normalerweise von der Firma ab. Wenn ein Unternehmen MS-Tools kauft und alles auf der VisualStudio-Plattform und im .NET-Framework standardisiert, kann es sehr umständlich werden, wenn ein Entwickler auf Linux und C besteht. Das ist normal. Es kann Ausnahmen geben, bei denen das Unternehmen weniger um die Redaktion bemüht ist, z. B. die Entscheidung der Entwickler für Vi vs. Emacs, sofern die Ausgabe dieselbe ist. Ich weiß, dass einige Unternehmen sogar zulassen, dass sich Entwickler für Windows oder Linux entscheiden, aber die Sprache, in der sie arbeiten, bietet für beide Betriebssysteme eine sehr gute Unterstützung und Laufzeit.
Warum machen Unternehmen das? Konsistenz ist ein Grund. Das Debuggen von Dingen kann sehr schwierig sein, wenn die Anwendung ein Patchwork aus Binärdateien ist, die in den bevorzugten Sprachen / Frameworks verschiedener Entwickler erstellt, in verschiedenen Tools erstellt und auf sehr unterschiedlichen Systemen getestet wurden. Wenn alle Entwickler an zumeist ähnlichen Setups arbeiten, sind diese Probleme gelöst.
In Ihrem Fall klingt es so, als ob Sie eingestellt wurden, um in einer Technologie zu arbeiten, die in diesem Unternehmen nicht zum Standard gehört. Das kommt mir merkwürdig vor, und vielleicht möchten Sie mit der Person, die Sie eingestellt hat, darüber sprechen, warum sie das wollte.
quelle
Wenn sie sich nicht auf Ihr Team auswirken.
Absolut.
Ja, Sie haben eine kurze Frist. Ja, mit Rails können Sie das schneller erledigen. Das gesamte Unternehmen muss die Anwendung jedoch bereitstellen und warten. Wenn das Unternehmen über eine stabile Anzahl guter C # -Entwickler verfügt, ist die Wartung einer C # -Anwendung wahrscheinlich billiger (und ergibt eine bessere Qualität).
Ihre DBAs und andere Administratoren sind wahrscheinlich mit diesem Stack vertraut und verfügen über Prozesse zum Bereitstellen und Aktualisieren dieses Stacks. Selbst wenn Sie den Code schneller ausführen können, kann es länger dauern, bis Sie den gesamten Aufwand für die Einrichtung einer professionellen Web-App abgerechnet haben.
Denken Sie daran, dass Sie viel mehr Zeit mit der Pflege Ihrer App verbringen, als mit dem Schreiben. Optimieren Sie für diese Kosten.
quelle
Sie wurden anscheinend eingestellt, weil Sie sich an "neue" Technologien anpassen konnten. C # ist in dieser Hinsicht nicht anders. Sind Sie sicher, dass Sie nicht die Gelegenheit nutzen möchten, etwas Neues zu lernen?
ASP.NET MVC ist Ruby on Rails in vielerlei Hinsicht sehr ähnlich.
Sie werden nicht für immer im Schneckentempo sein. Wenn Sie ROR bereits kennen, ist ASP.NET MVC ein Kinderspiel für Sie. Der Trick ist, C # zu lernen.
quelle
Argumente für einen Aufenthalt bei Java / JRuby
Wahrscheinlich möchte Ihr Chef, dass Sie produzieren. Sie haben Sie eingestellt, damit Sie der Firma einen Mehrwert verleihen können. Stellen Sie sicher, dass sie verstehen, dass Sie Folgendes bewirken , wenn Sie dazu gezwungen werden, ein Framework zu verwenden, mit dem Sie nicht vertraut sind :
Selbst die besten Programmierer benötigen Aufwärmzeit mit neuen Sprachen / Frameworks.
Argumente für das Erlernen von MVC4 und C #
Das Erlernen neuer Sprachen ist gut. Die Investition in Ihre Fähigkeiten als Programmierer ist nur dann ein Risiko, wenn die Sprache / Plattform, die Sie lernen, in naher Zukunft verschwinden wird, und wenn Microsoft mitspielt, denke ich nicht, dass dies ein Problem ist. Sowohl C # als auch MVC haben kürzlich Updates erhalten, die beide verbessert haben. Weitere Updates sind in Vorbereitung.
Indem Sie persönlich zu einem runderen Entwickler werden, verhindern Sie, dass Sie jemals wieder in diese Situation geraten. Der beste Teil? Ihr Chef wird Sie dafür bezahlen, diese Dinge zu lernen, was bedeutet, dass Sie dafür bezahlt werden, dass Sie mehr Geld verdienen.
Die Quintessenz
Sie werden diesen Kampf vielleicht gewinnen, aber Sie werden mit verärgerten Kollegen zusammenarbeiten. Erklären Sie einfach Ihrem Vorgesetzten die Vor- und Nachteile der beiden, und dann kommen Sie beide am anderen Ende glücklicher heraus.
quelle
Bei besagtem Entwickler ist die Software federführend.
Natürlich können (und sollten) Sie die Verwendung des anderen Toolkits in Erwägung ziehen, wenn Sie Bedenken hinsichtlich der Produktivität haben. Seien Sie jedoch auf eine Antwort gefasst, die Ihnen nicht gefällt. Es kann einen verdammt guten Grund geben, warum Ihr Lead die Verwendung eines bestimmten Toolkits wünscht, sei es Kompatibilität mit der aktuellen Architektur, Bedenken hinsichtlich Wartung, Lizenzproblemen usw.
Übrigens die Phrase
ist für mehr Sodbrennen und Chaos in der Softwareindustrie verantwortlich als für alles andere.
quelle
Ich stelle fest, dass Sie nicht sagen, dass Sie als JRuby- oder Java-Programmierer eingestellt wurden.
Hier ist der Grund, warum Sie sagten, dass Sie eingestellt wurden: "[B] weil ich viel Erfahrung mit dem Erstellen von Webanwendungen habe und weil ich mich für neuere Technologien wie JRuby on Rails oder NodeJs interessiere."
Mit anderen Worten, sie mögen Ihre Web-Erfahrung und Ihre Bereitschaft, neue Technologien zu erlernen.
Jetzt bitten sie dich, deine Web-Erfahrung zu nutzen und eine neue Technologie zu erlernen.
Die Frage ist also: Wirst du das tun oder nicht?
quelle
Der größte Aufwand für Software besteht in der Wartung der Software
Ich habe gelesen, dass der größte Aufwand (80%) in der Wartung von Software liegt. Die anfängliche Entwicklung macht nur 20% der Gesamtentwicklungskosten aus.
Ich las einen Fall über einen Entwickler, der Code und Kommentare in seiner Muttersprache (nicht Englisch) entwickelt hatte, und als die anderen Teammitglieder den Code verbesserten und pflegten, war es so gut wie unmöglich, weil die Sprache (keine Programmiersprache) fremd war zu ihnen.
Wenn Sie Code in einer Programmiersprache Ihrer Wahl entwickeln, ist es für andere Teammitglieder ebenfalls schwierig, diesen zu pflegen.
Lösung: Paarprogrammierung
Bitten Sie Ihren Arbeitgeber, Sie mit jemandem zusammenzubringen, der die erforderliche Programmiersprache kennt, und Sie können zusammenarbeiten. Sie können voneinander lernen, und wenn einer von Ihnen das Unternehmen verlässt, kennt der andere den Code.
Wikipedia-Artikel zu "Pair Programming": http://en.wikipedia.org/wiki/Pair_programming
quelle
Viele Unternehmen ziehen es einfach vor, bei dem zu bleiben, was sie schon immer getan haben oder was "sicher" ist. Es gibt einen Grund, warum Java und PHP immer noch sehr beliebt sind. Im Moment liefert die Suche nach "COBOL" auf "indeed.com" 2144 Einträge ... die eigentlich für sich sprechen sollten. Die Industrie kümmert sich nicht um guten Code, sondern um Code, den sie so lange wie möglich melken kann (dies impliziert nicht, dass C # schlecht ist, es ist wirklich nicht).
Denken Sie darüber nach: Der Code wird Sie überleben. Es besteht eine gute Chance, dass jemand anderes Ihren Code wartet, und C # ist eine sicherere Wette als Node.js und Rails. Es würde mich nicht überraschen, wenn sich in 5 oder 6 Jahren die Anzahl der Ruby-Programmierer halbieren würde, nachdem Perl und jede andere Sprache, die irgendwann als "it" -Websprache galt, das gleiche passiert ist. Es ist unwahrscheinlich, dass Javascript verschwindet, aber wir sehen bereits, dass es als eine Art ASM (oder sogar C) des Webs verwendet wird - eine Zwischensprache, die andere Sprachen kompilieren können, um darin serverseitigen Code zu schreiben sehr wohl obsolet geworden.
quelle
Mein Hauptanliegen bei der Entscheidung der Entwickler für die Implementierung ihrer Ziele ist, dass sie normalerweise davon ausgehen, dass nur sie den Code bearbeiten werden. Sehen Sie es sich so an, 12 Monate später brauchen sie möglicherweise Änderungen. Sie sind nicht verfügbar (haben das Unternehmen verlassen oder sind mit einer anderen Aufgabe beschäftigt), und ein anderer Entwickler muss Ihren Code ändern. Wenn es sich um einen C # -Shop handelt, ist die Verwendung des Toolsets eine gute Teamarbeit. Neue Technologien sollten untersucht und implementiert werden, aber nur dann, wenn die Führung den richtigen Zeitpunkt für richtig hält, da sie viele Ziele im Auge haben, nicht nur eines.
quelle
Dreh es bitte um. Stellen Sie sich vor, Sie stellen einen Ruby-Entwickler ein, der darauf besteht, seine Arbeit in Asp.net/MVC umzusetzen.
Was würdest du ihnen sagen? Das ist unser Stapel, Mann. Lerne damit zu leben.
Die goldene Regel, hier ist, wer das Gold hat, macht die Regeln.
quelle
Es gibt eine Reihe widersprüchlicher Ziele und das Problem besteht darin, den besten Kompromiss zu finden. Wir haben die Deadline, wir haben einen Teamleiter, der ein bestimmtes Toolset anfordert, und wir haben einen Entwickler, der mit diesem Toolset unerfahren ist, aber dazu verdammt ist, innerhalb eines (offensichtlich kurzen) Zeitrahmens etwas zu produzieren.
Es ist wichtig zu verstehen, dass der Teamleiter wahrscheinlich gute Gründe hat, warum er genau dieses Toolset anfordert (eines davon könnte in der Tat sein, Sie aus einem Grund, den Sie vielleicht noch nicht kennen, an dieses Toolset zu gewöhnen). Das Beste, was Sie beim ersten Lauf tun können, ist herauszufinden, was genau diese Gründe sind.
In Ihrer Position würde ich versuchen, mit dem Teamleiter zu sprechen und zu erklären, wie es Ihrer Ansicht nach aussieht und welche Optionen und welche Ergebnisse (einschließlich kurzfristiger und langfristiger wirtschaftlicher Auswirkungen) erzielt werden Folgen Sie jeder dieser Optionen. Zum Beispiel könnte ein anderer erfahrener Entwickler beauftragt werden, Sie zu coachen, vielleicht mit ein paar Programmiersitzungen oder ähnlichem.
Sofern Ihr Teamleiter kein kompletter Trottel ist, sollten Sie in der Lage sein, einen Konsens zu finden, der in Bezug auf das Projekt und die Gesamtziele des Unternehmens sinnvoll ist.
quelle
Bah. Jeder ist falsch.
Seien Sie ein besserer Entwickler als diese Ein-Plattform-Leute und Sie haben viel interessantere Optionen als jemals zuvor. Lerne also vorerst MVC. Erfahren Sie in Ihrer Freizeit mehr über die Plattformen, die Sie wirklich interessieren. Bauen Sie Ihre Node-Fähigkeiten auf. Lerne etwas Django. Achten Sie auf alle Java- oder MVC .NET-Vorurteile, denen Sie ausgesetzt sind, und rennen Sie dann davon, aber lernen Sie mindestens genug, um zu kritisieren und zu erklären, wie viel Gedanken Sie in Ihre kaum verborgenen Hassvorurteile dieser Plattformen gesteckt haben. (okay, vielleicht projiziere ich dort)
Und jetzt zum wichtigen Rat. Wenn Sie Ihre Spezialitäten weiter verfeinern und gleichzeitig Ihr Fachwissen in anderen Bereichen erweitern, werden Sie in weniger als zwei Wochen in einer bestimmten Großstadt zu jeder Jahreszeit eine neue Arbeit finden meistens interessant zumindest die halbe zeit. Wenn Sie sich an diesem Ort befinden, lassen Sie sich nicht mit diesen Jobs abfinden, von denen sie behaupten, dass sie dies wollen, und am zweiten Tag lassen sie Sie DAS tun, ohne auf eine auf lange Sicht absehbare Frist zu hoffen. Erkläre es nur höflich und entschuldige dich, aber nein, du wolltest das wirklich nicht und hast das auch in deinem Interview gesagt und dann! die Tatsache, dass sie die Position zu Ihnen falsch dargestellt und sich weigern, das anzuerkennen.
Aber glauben Sie mir, einen neuen Auftritt zu finden ist immer viel besser, als ernsthaft irritiert und unglücklich zu werden, wenn die Dauer länger als 5 Minuten dauert. Aber natürlich müssen Sie zuerst Ihre Gebühren bezahlen, damit Sie das tun können. Manche Leute werden es niemals tun. Deshalb wollen sie alles in dem Zeug, das sie am besten kennen. Und natürlich sind andere Antworten nicht wirklich falsch. Es ist sinnvoll, dass ein .NET-Shop zu .NET gehört, wenn er das Dumme pflegen muss.
Was natürlich keinen Sinn ergibt, ist, warum sie mit einem Rails / JS / UI-Entwickler diversifizieren und ihn nur MVC-Apps machen lassen. Aber für den Moment. Möglicherweise müssen Sie es abholen und Ihre Gebühren bezahlen. Und wie ich in Kommentaren sagte, MVC ist wirklich nicht so schlimm. Eine wirklich schlechte Wahl angesichts aller Optionen, aber sicherlich nicht die schlechteste. Es ist ziemlich unkompliziert, wirft nicht 10.000 Abstraktionsebenen auf alles, was tatsächlich passiert, und es ist nicht so verworren, dass Sie die Namen der verantwortlichen MS-Ingenieure verfluchen würden, wenn sich jemand darum kümmern könnte um sie zu lernen.
Gehen Sie also zu dem Ort, an dem Sie abreisen können, wenn Sie es nicht bereits getan haben, und stellen Sie möglicherweise sogar fest, dass Sie skeptischer gegenüber Dingen sind, die Ihnen derzeit gefallen. Sie mögen vielleicht sogar Schienen nicht so sehr wie ich. Nicht, dass irgendetwas mit Ruby nicht stimmt (außer natürlich seinem Interpreter).
quelle
Abhängig von Ihrer Situation kann es gefährlich sein anzunehmen, dass Sie wissen, warum sie Sie eingestellt haben, und noch mehr anzunehmen, dass Ihr Manager dies weiß und der Meinung ist, dass die Einstellung von Mitarbeitern mit Ihren Fähigkeiten eine gute Idee ist.
Ich würde fragen, nehmen Sie den obigen Rat an und machen Sie einen Geschäftsfall, warum Sie mit JRuby über C # gehen sollten. Vielleicht macht Ihre Argumentation und Ihr Zeitplan das Brechen von den alten Wegen Sinn. Ich würde nicht einfach davon ausgehen, dass es in Ordnung ist oder nicht, dem Manager oder den Verantwortlichen die Fakten mitteilen und sie die Entscheidung treffen lassen, es ist das, wofür sie das große Geld bekommen, und es ist ein bisschen CYA.
quelle
Meiner ehrlichen Meinung nach ist eines der Dinge, die gute Entwickler von großartigen unterscheiden, ihre Fähigkeit, sich an neue Technologien anzupassen. Wir leben in einer schnelllebigen Welt, in der die Spitzentechnologie von heute morgen überholt sein wird. Daher ist ein Entwickler, der sich nicht anpassen möchte, für das Unternehmen von begrenztem Nutzen. Das wäre in Ordnung, wenn nicht ein bisschen, dass es wirklich sehr schwierig ist, gute Leute zu finden und einzustellen, und wenn ein Unternehmen sein Juwel findet, planen sie langfristig.
Ich habe Unternehmen gesehen, die außerhalb ihres Technologiebereichs eingestellt haben, und sie tun dies aus genau demselben Grund. Sie möchten großartige Entwickler in die Hände bekommen, auch wenn dies bedeutet, dass sie auf die Anpassung an neue Technologien warten müssen.
Nun zu deiner Situation. Als neuer Mann in der Gruppe würde ich sehr vorsichtig sein, was ich sage und nicht zu meinen Vorgesetzten sagen. Sicher, Sie werden mit einer Menge davonkommen, wenn Sie davon ausgehen, dass Sie sich noch in einem Anpassungsprozess an Ihre neue Umgebung befinden. Die Untergrabung der Autorität und das hartnäckige Beharren auf Ihrer bevorzugten Technologie lässt Ihre Vorgesetzten jedoch nur vermuten, dass sie einen Fehler begangen haben und dass Sie nicht bereit sind, Ihre Komfortzone zu verlassen.
Was Sie auswählen, liegt bei Ihnen, aber ich würde Ihnen empfehlen, neue Technologien zu erlernen. Es wird nicht weh tun, das verspreche ich.
quelle
Ich gehe davon aus, dass Sie im Vorfeld Ihres Interviews ehrlich über Ihren Mangel an C # -Kenntnissen gesprochen haben. Andernfalls könnten Sie sich rechtlich in einer sehr prekären Situation befinden.
Gute Programmierer kennen sich mit Programmieren aus. Obwohl niemand offensichtlich mit allen Sprachen und Rahmenbedingungen vertraut ist, gibt es bei den meisten von ihnen erhebliche Gemeinsamkeiten. Wenn Sie nicht gebeten werden, in einer Sprache zu arbeiten, die sich massiv von dem unterscheidet, was der Mainstream heutzutage ausmacht (zum Beispiel Lisp), sollte ein guter Programmierer in der Lage sein, sich anzupassen.
Natürlich gibt es eine Lernkurve. Wenn der Arbeitgeber Sie eingestellt hat, muss er sich darauf verlassen können, dass Sie dieser Kurve in angemessener Zeit folgen können (unter der Annahme, dass Sie ehrlich waren, wenn Sie C # nicht kannten). Die C # -Sprache ist stark von Java entlehnt, und im Allgemeinen sind die meisten klassenbasierten Programmiersprachen sehr ähnlich (Sie haben node.js erwähnt, das auf ECMAScript aufbaut, einer prototypbasierten Sprache, Sie sind also offensichtlich komfortabel mit anderen Programmierparadigmen.
Gute Programmierer sollten nicht nur flexibel sein, sondern auch gerne neue Dinge lernen. In der Softwareentwicklung lernt man normalerweise oder wird irrelevant.
Natürlich muss sich Ihr Arbeitgeber auf halbem Weg mit Ihnen treffen, vorausgesetzt, er weiß, dass Sie C # nicht kennen. Wenn Sie lernbegierig sind, müssen sie Ihnen die Zeit und die Ressourcen dafür geben. Dich in die Tiefe zu werfen ist unfair und unnötig stressig. Sie müssen sich hinsetzen und eine ruhige, rationale Diskussion mit Ihrem Vorgesetzten führen. Wenn sie es in C # wollen, müssen sie bereit sein zu akzeptieren, dass Sie sich in einer Lernphase befinden, während Sie daran arbeiten, und es wäre ungerecht, wenn sie Ihnen enge Fristen setzen. Wenn die Fristen nicht flexibel sind und von hoher strategischer Bedeutung sind, müssen sie darauf vorbereitet sein, dass Sie einen gewissen Spielraum haben, um die Arbeit innerhalb dieser Frist zu erledigen. Wenn sie es in der am häufigsten verwendeten Sprache in ihrem Büro benötigen, können Sie möglicherweise anfordern, es jetzt in das zu implementieren, was Sie möchten. Es ist bekannt, dass Sie den Termin einhalten müssen, und dass Sie ihn dann als Lernübung in C # erneut implementieren müssen, um die Software mit den internen Anforderungen in Einklang zu bringen, sobald sie die externen Anforderungen erfüllt. Wie ich bereits sagte, haben die meisten der heute gebräuchlichsten Sprachen viel gemeinsam, sodass es hauptsächlich auf die Details der Implementierung ankommt.
Sie müssen bereit sein, früher oder später zu akzeptieren, dass Sie in einem C # -Shop arbeiten, und müssen daher C # unter dem Gürtel haben.
quelle
Vielleicht sind sie nicht zufrieden mit der Art und Weise, wie alle MVC in der .NET-Umgebung verwenden. Es könnte zu viel geben, um es wie Webformulare zu behandeln. Dies ist nicht anders, wenn jemand mit einem prozeduralen Hintergrund in OOP anfängt, alles in eine große Klasse einsetzt und wie gewohnt weitermacht.
Dieses erste Projekt ist nicht die ideale Situation, weil sie dies so schnell erledigen wollen. Machen Sie sich mit .NET so schnell wie möglich auf dem Laufenden und bringen Sie Funktionen so schnell wie möglich zum Laufen. Du wirst die Art und Weise, wie du Dinge tust, nicht mögen. Versuche nur zu bedenken, dass du anfängst, dieses Zeug umzugestalten und deine Fähigkeiten in einer anderen Sprache anzuwenden.
Hoffentlich wird Ihre Art, MVC4 (vorausgesetzt, alle anderen tun es nicht richtig) in einem Ruby-Stil zu verwenden, alle von der Mentalität von Webforms abbringen.
quelle