Softs (and companies)
New companies popping out every day
Market leaders are taking the step as well
Examples?
The why first?
Scala has a reputation to be accessible
It eases the maths (mostly [matrix] algebra)
The CS world is changing (fast)
It shifts from the cloud to analysis
Mind Candy
Expressivity
Tests (spec)
Type system byte code manipulation
REPL
Coursera
10⁶ online students
PHP → Scala
Concurrency primitives
Play
Type safety
Ecosystem
Meetup
10⁶ attendants worldwide
Marketing and announcement broadcasts
Functional programming beside statistical one
Twitter
REPL
case classes
productivity gains
concise code
Scala school
Tens of open source libs
Klout
10⁹ API call ... a day
1To ... a day (using Iteratee)
Play! 1⇝ Play! 2
netflix
Billion devices
Historical events
Real-time analytics
Proper API (Option)
Async (Try)
Scalatra + ScalaTest
And more
AirBnB
Snips (smart cities, ...)
Tuplejump (analytic platform)
eBay (analytics)
BBC (Future Media project)
Virdata (IoT analytic platform)
Ooyala (video analytic platform)
Libraries (and frameworks)
Of course, there is a fashion/hype effect
Open doors for rewriting
Sometimes for good reasons
But, offered new visions, ways too
Akka
Actor model
Supervision (fault-tolerant)
Cluster mode
Location transparency
All thanks to MPS
Scala for:
-
immutability features
-
functional style
-
type safety (channel)
Slick
Simple DB access
Not an ORM
Yet allows type safe mapping
Data collection as first class citizen
Spray | Finagle
Meant for back-end services
Agnostic of the protocols
Async
Spray
DSL for routing, ...
Great reactive IO Layer
Finagle
Great support of binary protocols
Failure detection
Load balancing
Spark
Map Reduce ~ Callback Hell of Big Data
Resilient Distributed Dataset
Fault-tolerant and resilient: Lineage
DAG and Optimization: Stage
In-memory (fallback on disk, tachyon, ...)
Play! 2
Shortens the development lifecycle!
Type safety and code everywhere
RESTful friend
Integrated
HTTP based
Reactive (end-to-end)
Async as line of conduct
A request can be long -- WS comes for free
mahout
Ted Dunning says,
Scala because...
Maths are easier
Lazy eval are handy
Compacity
DSL
And more
Gatling
Iago
Algebird
Kafka
Axle
Saddle
ScalaNLP
Cassovary
Scalding
Pickling
Shapeless
Geotrellis