|
|
|
|
|
by ryan_richt
3999 days ago
|
|
Not a secret -- at Monsanto (Fortune 200) we use Scala heavily now, starting from one project in 2010 and now a dozen teams use it for many many production projects internally and in AWS. Certainly some in the almost 200k LOC range. Scala is replacing Java at Monsanto (and yes we're always hiring!) NB: Our Climate Corporation teams are running Clojure. "What is functional?" is a difficult question my partner and I ponder often. As someone else here said, simply having functions as first class values seems insufficient as that would include Perl, JavaScript, C (fxn pointers) and other langs as "functional." Saying supporting any mutability at all removes your status as "functional" means Lisps aren't functional, which seems to ignore the history of FP. Erlang doesn't have monadic IO but is highly regarded by many as functional. If our definition essentially includes only Haskell as "functional" then the term seems useless. So we define as functional any lang that supports functions as first class values AND significant enforced immutability. Scala's first class functions, default immutable data structures and "val"s compile-time enforcing immutability without too much ceremony put Scala in the FP category for us, along with the Lisps, MLs, F# and Erlang. |
|