2009-04-03 9 views
5

Verwenden Sie Scala zur Entwicklung Ihrer Unternehmensanwendungen?Enterprise Scala

EDIT: zustimmen, das Wort Unternehmen ist nicht gut definiert. Mit dieser Frage wollte ich fragen, ob Sie Scala für reale Projekte verwenden, die nicht nur zum Spielen gedacht sind. Die Verwendung von Scala für ein persönliches Projekt, das von mehr als nur seinem Schöpfer verwendet werden soll, fällt in die Kategorie "echte Projekte".

Antwort

8

Das Wort "Unternehmen", wie es in der Frage verwendet wird, ist ein klarer Mangel an Anforderungen. Die "Unternehmens" -App einer Person ist keine andere. Scala/Lift wird von SAP eingesetzt, reicht das Unternehmen?

Am Ende eines Tages haben Sie Zugriff auf alle 'Enterprise' Sachen, die die Java-Plattform zu bieten hat.

Sorry, als ein bisschen ein Idiot, aber diese Art von Fragen sind ziemlich arm, und haben keine endgültige Antwort. Vielleicht hätte jemand eine Reihe von Apps schreiben können, die man als "Unternehmen" bezeichnen könnte, aber sie tun dies nicht und geben sie daher nie als solche an.

EDIT

Auch liebt twitter Scala: http://www.slideshare.net/al3x/twitter-3s-scala Und ein Interview ihre Erfahrungen abdeckt: http://www.artima.com/scalazine/articles/twitter_on_scala.html

+3

Ich denke nicht, dass diese Fragen überhaupt "schlecht" sind. Wenn man sich Scala-Beispiele und Tutorials ansieht, wird viel Wert darauf gelegt, wie man Dinge wie zB den Quicksort-Algorithmus clever schreibt. Wenn ich eine "Unternehmens" -App schreibe (für das Fehlen eines besseren Wortes), interessiert mich diese Art der Sache nicht –

+0

... Diese Betonung auf "akademisch" im Gegensatz zu "Unternehmen" Beispielen ließ mich denken "Ist Es lohnt sich, Scala näher zu untersuchen, oder sind es nur Akademiker, die sich darüber aufregen, wie furchtbar schlau sie alle sind. " Die Antwort "echte Systeme werden in Scala gebaut" ist eine SEHR wichtige, IMHO –

+2

Nein, lesen Sie noch einmal, was ich geschrieben habe, spielen Sie über die Begriffe akademisch und Unternehmen, und alles was es ist ist Hand winken, aber Anforderungen zählen . Unternehmen/Akademiker sind alberne bewegliche Zielpfosten, die jede Debatte oder mögliche Antwort ungültig machen. – Saem

3

Es kann eine Antwort auf Ihre Frage (oder nicht), aber ich habe gerade erfahren, dass Twitter ist Verwenden von Scala für die gesamte Backend-Verarbeitung (RoR bleibt auf der Schnittstelle).

+0

Ich höre das auch, aber es wäre nett, hier eine Quelle hinzuzufügen (vor allem, wenn Sie es gerade gelernt haben). –

+0

Saem war schneller als ich :) – Keltia

1

Here is a nice slide set von der Bay Area Scala Enthusiasten Treffen bei Twitter, die ihre Stilrichtlinien für die Sprache skizziert. Es ist mittlerweile gut bekannt, dass Twitter einige wichtige Back-End-Dienste in Scala entwickelt.

4

Scala für echte Projekte? Ja absolut.

Erstens, weil das gesamte Java noch verfügbar ist, kann die Anwendung unsere vorhandenen allgemeinen Bibliotheken verwenden. Diese Bibliotheken wurden in den letzten 10 Jahren in Java erstellt und sind wichtig für den Zugriff auf andere Systeme innerhalb des Unternehmens.

Zweitens ist das Wichtigste bei Unternehmensanwendungen die Anpassungsfähigkeit. Zu steif zu werden, führt dazu, dass die meisten Unternehmensanwendungen verfallen und schließlich abstürzen. Es gibt zwei Probleme, die zu dieser Starrheit führen, und Scala hilft, beides zu vermeiden. Ein Problem ist nur die schiere Menge an Code. Java funktioniert besser als C oder C++, erfordert aber immer noch viel mehr Codezeilen, um eine Anwendung zu implementieren als Scala.

Mit Java erfordert die Bekämpfung des Problems der Codegröße einen höheren Grad an Struktur: Frameworks, Bibliotheken, anpassbare Fabriken usw. Deshalb stellen wir Java EE-Anwendungen (in der Regel Spring-basiert) mit zwanzig bis fünfzig JAR-Dateien bereit. lib "Verzeichnisse. Diese Struktur selbst ist notwendig, um die App fertigzustellen, aber sie kann ihr eigenes Problem in Bezug auf die konzeptionelle Komplexität schaffen.

Scala ist nicht vor einer Überfrachtung der konzeptionellen Komplexität gefeit, aber der gemeinsame Programmierstil in Scala neigt eher zu kleineren, konkreteren Programmen als Bibliotheken für Frameworks zum Aufbau von DSLs.

Natürlich, wenn Sie tatsächlich Bibliotheken für Frameworks zum Aufbau von DSLs benötigen, ist es gut, wenn Sie in Java zurückrufen können.

0

LinkedIn nutzt Einige Scala

0

Wir verwenden Scala und Java für ein Derivat-Pricing-Projekt im Bereich Finanzen. Wir sind aber nicht wirklich Fan von LIFT :)

Mit freundlichen Grüßen

0

Es ist ein wenig alt sein kann, aber es gibt eine „Scala im Enterprise“ -Liste auf der Scala-Website unter http://www.scala-lang.org/node/1658

I persönlich bevorzugen, Scala zu verwenden, um auf einer viel höheren Qualitätsstufe als "Unternehmensqualität" zu entwickeln ;-)

1

Wir verwenden Scala für eine große Zecke Datenbereinigung, Berechnung und Verteilung im Finanzwesen. Die Anwendung ist sehr robust und skalierbar. bar einige C++ - Abschnitte ist es vollständig in Scala geschrieben.

Gründe:

  • sehr schnelle Entwicklungszeit

  • einfach aufgrund der Abwesenheit von bolierplate über aktuelle Probleme der Vernunft

  • schnellere Problemlösung als dre ist einfach "weniger Code"

  • größere Flexibilität des funktionalen Paradigmas

  • keine wirklichen Performace Kosten für alle oben genannten Verbesserungen

bis zu 2,8 die Werkzeuge flockig waren (obwohl die Emacs/ant Ansatz fest war schon damals)

nun mit Eclipse-Plugin Verbesserungen der Umwelt ist ausreichend robust.

0

Abgesehen von altem Java-Code (der bitweise nach Scala portiert wird) verwenden wir 100% Scala unter Wordnik für all unseren Backend-Code. Datenbankebene durch eine REST-API in einigen sehr großen Projekten, die ich als "Enterprise" bezeichnen würde. Wir sind jedoch keine Enterprise-Firma und würden uns wahrscheinlich beleidigen lassen, wenn uns jemand vorschlagen würde;) Prost!