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ą.
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. –
... 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 –
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