2010-06-10 8 views
6

Kann ich das tun? Ich fürchte, dass dies ein Overkill sein kann und letztendlich werde ich mit weniger Produktivität enden als mit herkömmlichen Stacks wie Ruby/Python/Sie nennen es. Ich verstehe, dass Sie mit einer viel niedrigeren Produktivität beginnen werden, wenn Sie anfangen, mit neuer Technologie zu arbeiten, aber ... ist es möglicherweise einen Versuch wert und schließlich zu Erlang als das einzige Werkzeug für Web-Entwicklung und alle Backend-Sachen wechseln.Sollte ich Erlang für Web-Mvc betrachten?

Oder ist Erlang eher für einige Hochleistungs-Backend-Aufgaben geeignet?

+6

Eine Sache, die Sie zuerst tun sollten, ist die Frage, warum Sie Erlang für diesen Zweck verwenden möchten. Wenn Sie das noch nicht getan haben, tun Sie es, Sie werden vielleicht überrascht sein, wenn Sie nicht tatsächlich eine Antwort finden können, die Sie für geeignet halten würden. – jer

Antwort

8

Wahrscheinlich nicht.

Können Sie? Ja, sicher. Sollten Sie? Wahrscheinlich nicht.

Wenn Ihr Ziel ist, eine neue Sprache zu lernen, dann sicher, auf jeden Fall so. Der beste Weg, eine Sprache zu lernen, besteht darin, hineinzuspringen und sie zu benutzen.

Das heißt, etablierte Web-Frameworks und Sprachen sind aus einem Grund beliebt, sie funktionieren. Noch wichtiger ist, dass, wenn Sie Menschen brauchen, die in Zukunft mit Ihnen zusammenarbeiten, die Verwendung einer dunkleren Sprache den Talentpool um eine Tonne verringert. Ich bin in der Vergangenheit ein paar Mal auf dieses Problem gestoßen, wo etwas, das als Lernübung in Sprache X begann, in Produktion ging. Wenn der Entwickler dann zu einem anderen Projekt wechselt oder wenn die Skalierung für einen einzelnen Entwickler zu groß wird, ist es ziemlich schwierig, neue Talente anzuwerben.

Wie der Kommentar von Jer sagte auch, müssen Sie sich wirklich fragen, warum Sie Erlang für eine Webanwendung verwenden würden. Bestimmte Werkzeuge und Technologien sind gut auf bestimmte Aufgaben ausgerichtet, andere nicht. Ein Schraubenzieher zum Beispiel eignet sich hervorragend zum Einschrauben, ist aber nur ein passierbarer Hammer.

1

Ich bin mir ziemlich sicher, dass Sie in Python/Ruby bemerkenswerter produktiv sein werden als in Erlang, besonders wenn man die Web-Entwicklung betrachtet.

Apropos Python, mit dem ich mich mehr beschäftige. Es gibt viele Bibliotheken, die es einfacher machen, die meisten webbezogenen Funktionen zu implementieren. Es werden unzählige Handbücher geschrieben, die fast jeden Aspekt von dem abdecken, was Sie vorhaben.

Erlang ist ein Werkzeug für verschiedene Aufgaben und es hat eine kleinere Gemeinde hinter (zum Beispiel nur eine neue Antwort erschien, während ich mein schrieb, waren es Python-Thread, würde es mindestens zehn :)

5

Stickstoff ist in Ordnung, aber ist nicht wirklich mvc.

Die Frage des Wetters, das Sie verwenden sollten oder nicht, hängt wirklich von Ihrem Projekt ab. Wenn Sie andere Aspekte Ihres Projekts mit Erlang verwenden, wird das Argument "Niemand kennt Erlang" irrelevant.

Es ist immer noch sehr schwer zu sagen, welches Maß an Adoption Erlang Web-Technologien erreichen werden, aber Erlang im Allgemeinen ist eine solide Plattform und eine sehr produktive Sprache, sobald Sie es verstehen. Die Gemeinschaft ist stärker als andere glauben.

Es gibt einen Grund, dass ejabberd der kanonische XMPP-Server ist und dass rabbitmq zum kanonischen AMQP-Server wird und dass Damien Katz CouchDB verwendet. Erlang bietet die beste Plattform für verteilte, skalierbare, fehlertolerante Server, und Web-Server sind keine Ausnahme - es gibt keinen Grund zu der Annahme, dass eine breitere Akzeptanz nicht möglich wäre.

2

Die eigentliche Frage ist, ob Sie MVC in Betracht ziehen sollten.Der Begriff MVC ist meiner Meinung nach etwas veraltet und trägt nur dazu bei, den verstopften Frameworks die Illusion der Einfachheit zu geben.

Wenn Sie ein leichtgewichtiges Framework oder Toolkit mit dem minimalen Touch haben wollen, das zu Erlangs Reputation für exzellente Performance beiträgt, dann denken Sie über Erlang nach.

Sie sollten einen Blick auf Webmachine

+3

Können Sie erklären, warum Sie MVC für veraltet halten? – jocull

+0

Meine unabhängige Meinung: Nach einer Weile finden Sie heraus, dass es tatsächlich einfacher ist, einen schlanken Stack mit nur den gewünschten Komponenten zu erstellen, anstatt 80% des Materials in einem typischen Framework zu verwenden, was manchmal unnötigen Overhead verursacht es ist Design. – bojo

2

Neben der spezifischen Antwort mit Schwerpunkt auf Web-Anwendungen starten. Erlang.org bekommen es eigene Schätzungen auf Produktivitäten ist:

http://www.erlang.org/faq/how_do_i.html#id55052

5,16 ... Produktivität in einem Erlang Projekt schätzen?

Eine grobe Faustregel ist, dass ungefähr die gleiche Anzahl von Codezeilen pro Entwickler wie in einem C-Projekt produziert werden. Ein einigermaßen komplexes Problem Verteilung und Fehlertoleranz beteiligt ist, etwa fünfmal kürzer in Erlang sein als in C.

die traditionellen Wegen der Projekte zu verlangsamen, wie Armeen von Beratern auf halbem Weg durch die Ausgaben ein Jahr schriftlich detailliertes Design Hinzufügen Spezifikationen, bevor ein Code geschrieben wird, streng nach einem Wasserfall-Modell, Verbreitung Entwicklung in mehreren Ländern und Holding Team-Meetings, um über die Farbe der Servietten bei Mittagessen zu entscheiden arbeiten genauso gut für Erlang wie für andere Sprachen.

2

Eigentlich ja kann. Zum Erstellen von REST-APIs verwende ich WebMachine und zum Erstellen einer Webanwendung mag ich Chicago Boss.

Aber es ist wirklich wichtig zu überlegen, was die Anforderungen Ihrer Webanwendungen sind. Es stimmt zwar, dass Erlang eine beachtliche Anzahl von Bibliotheken von Drittanbietern besitzt, aber nicht mit Ruby, Python oder Java.

Die Produktivität unterscheidet sich von Entwickler zu Entwickler. Ein Entwickler könnte mit SpringMVC wirklich produktiv sein. Was mir wirklich wichtig ist, ist das "Basteln" Ihres Systems. Und mit Clojure und Erlang habe ich das Gefühl, meinen Code zu schreiben.

Verwandte Themen