2009-04-03 9 views
5

Czy używasz Scala do rozwijania aplikacji klasy korporacyjnej?Enterprise Scala

EDYCJA: Zgadzam się, słowo przedsiębiorstwo nie jest dobrze zdefiniowane. Zadając to pytanie, chciałem zapytać, czy używasz Scali do prawdziwych projektów, które mają być używane nie tylko do grania. Używanie Scali do osobistego projektu, który ma być używany przez więcej niż tylko jego twórcę, należy do kategorii "prawdziwe projekty".

Odpowiedz

8

Słowo "przedsiębiorstwo" użyte w pytaniu to wyraźny brak wymagań. Aplikacja "enterprise" jednej osoby nie należy do innej. Scala/Lift są wykorzystywane przez SAP, czy to wystarczająco "przedsiębiorstwo"?

Pod koniec dnia masz dostęp do wszystkich "firmowych" produktów, które oferuje platforma Java.

Przepraszam, że jestem odmieńcem, ale tego typu pytania są dość ubogie i nie mają jednoznacznej odpowiedzi. Co ważniejsze, ktoś mógłby napisać pewną liczbę aplikacji, które można uznać za "przedsiębiorstwa", ale tego nie robią i dlatego nigdy nie określają ich jako takich.

EDIT

Również twitter kocha Scala: http://www.slideshare.net/al3x/twitter-3s-scala oraz wywiad obejmujący swoimi doświadczeniami: http://www.artima.com/scalazine/articles/twitter_on_scala.html

+3

Nie sądzę, że te pytania są w ogóle "złe". Przyglądając się przykładom Scala samouczki, kładzie się duży nacisk na to, jak np. Napisać algorytm Quicksort w sprytny sposób. Kiedy piszę aplikację "przedsiębiorczą" (z braku lepszego słowa), nie dbam o tego rodzaju rzeczy. –

+0

... Nacisk na "akademicki", w przeciwieństwie do przykładów "przedsiębiorczości", spowodował, że pomyślałem: "Czy warto przyjrzeć się Scali dalej, czy jest to po prostu wiele akademickich typów, które ekscytują się tym, jak strasznie sprytni są wszyscy ". Odpowiedź "prawdziwe systemy budowane są w Scali" jest BARDZO ważna, IMHO –

+2

Nie, ponownie przeczytaj to, co napisałem, piszesz na temat terminów akademickich i korporacyjnych, a wszystko co to jest machanie ręką, ale wymagania są tym, co się liczy . Enterprise/Academic to niemądre posty, które unieważniają debatę lub ewentualną odpowiedź. – Saem

3

To może być odpowiedź na pytanie (lub nie) ale właśnie dowiedziałem się, że Twitter jest używanie Scala do całego przetwarzania backendu (RoR pozostaje w interfejsie).

+0

Słyszę to również, ale fajnie byłoby dodać tutaj źródło (szczególnie, jeśli właśnie się go nauczyłeś). –

+0

Saem był szybszy ode mnie :) – Keltia

1

Here is a nice slide set ze spotkania Entuzjastów Bay Area Scala na Twitterze, które przedstawia ich wytyczne dotyczące stylu dla tego języka. Jest już dobrze ustalone, że Twitter rozwija kilka znaczących usług back-endowych w Scali.

4

Scala dla prawdziwych projektów? Tak, absolutnie.

Po pierwsze, ponieważ cała Java jest nadal dostępna, aplikacja może korzystać z naszych istniejących wspólnych bibliotek. Te biblioteki zostały zbudowane w Javie w ciągu ostatnich 10 lat i są ważne dla dostępu do innych systemów w firmie.

Po drugie, najważniejszą rzeczą w aplikacjach dla przedsiębiorstw jest zdolność adaptacji. Zbyt sztywne jest to, co sprawia, że ​​większość aplikacji korporacyjnych rozpada się i ostatecznie umiera. Istnieją dwa problemy, które prowadzą do tej sztywności, a Scala pomaga uniknąć ich obu. Jednym problemem jest sama objętość kodu. Java działa lepiej niż C lub C++, ale wymaga jeszcze wielu linii kodu do implementacji aplikacji niż Scala.

W przypadku Javy zwalczanie problemu rozmiaru kodu wymaga wyższych stopni struktury: frameworków, bibliotek, konfigurowalnych fabryk itp. Dlatego wdrażamy aplikacje Java EE (zazwyczaj oparte na wiosennej wersji), które mają od 20 do 50 plików JAR w swoich ". katalogi "lib". Ta struktura jest niezbędna do ukończenia aplikacji, ale może stworzyć własny problem pod względem złożoności koncepcyjnej.

Scala nie jest odporna na przeciążenie koncepcyjnej złożoności, ale wspólny styl programowania w Scali zmierza w kierunku mniejszych, bardziej konkretnych programów niż bibliotek do ram do budowy DSL.

Oczywiście, jeśli rzeczywiście potrzebujesz bibliotek do tworzenia ramek DSL, to właśnie tam przydatna jest możliwość ponownego połączenia się z Javą.

0

LinkedIn korzysta Niektóre Scala

0

Używamy Scala i Java dla projektu ceny pochodnej w finansach. Jednak nie są naprawdę fanem LIFT :)

poważaniem

0

To może być trochę stary, ale nie jest to „Scala w Enterprise” listy na stronie Scala na http://www.scala-lang.org/node/1658

I osobiście wolę używać Scala, aby rozwijać się na znacznie wyższym poziomie jakości niż "klasa korporacyjna" ;-)

1

używamy scala do dużej operacji czyszczenia danych, obliczeń i dystrybucji w finansach. aplikacja jest bardzo solidna i skalowalna. pasek niektóre sekcje C++ jest napisany całkowicie w scala.

powodów:

  • bardzo szybki czas rozwoju

  • łatwy rozumować o rzeczywistych problemach z powodu braku bolierplate

    rozdzielczości
  • szybciej problem, jak thre jest po prostu "mniej code"

  • większa elastyczność paradygmatu funkcjonalnego

  • żadne realne koszty występ dla wszystkich powyższych ulepszeń

do 2,8 narzędzia były łuszcząca (chociaż emacs/ant podejście było solidne nawet wtedy)

teraz z poprawą wtyczki Eclipse środowisko naturalne jest wystarczająco solidny.

0

Oprócz starego kodu Java (który jest przenoszony do Scala bit po bicie), w 100% używamy Scala pod numerem Wordnik dla całego naszego kodu backendu. Warstwa bazy danych za pomocą interfejsu REST API w przypadku bardzo dużych projektów, które opisałbym jako "Enterprise". Nie jesteśmy jednak firmą z branży Enterprise i prawdopodobnie popełnilibyśmy obrazę, gdyby ktokolwiek nas zasugerował;) Pozdrawiam!

Powiązane problemy