commercial usage of scala at capital iq clari f
DESCRIPTION
Boston Area Scala Enthusiasts second meeting held on Dec 2, 2009.Talk delivered by Paul Chiusano.TRANSCRIPT
Experience Report: Scala usage at Capital IQ ClariFI
Paul Chiusano
About us
We make software for quantitative investment managementSell to asset managers, hedge funds, etcFlagship product, ClariFI
Portfolio optimizationModel/factor building, backtestingPerformance/risk attributionBuilding, simulating trading strategiesScreening, event studiesOverall data managementEtc...
Founded in 2000, acquired by Capital IQ (itself owned by S&P) in 2007Team size: 20 devs
Our first Scala project
About 2 yrs ago, needed to rewrite/redesign PA backendFP a natural fit for the domainScala the clear winner among JVM FP languages
Results highlights
Scala implementation about 1/3 the LOC, comparable memory usage and speed
More generic, modularNew code had much better testing
ScalaCheck a major winOn a few occasions, discovered bugs in old implementation
In production now for over a year
Since then
Used Scala on another major project, more on the wayScala well-suited for backend / analytics layer
Several other devs have now used Scala in some capacityActively hiring people with Scala/FP experience
Scala: the good
Scala/Java integrationBasic functional idiomsThe type systemOptional non-strict evaluation
Scala: the bad
IDE support (as of 2008)Scala generics vs Java genericsLimited, unpredictable type inferenceFunction values are monomorphicWeak standard library
More on our environment
Scala code in a separate project, exports a .jarTools: Eclipse, NetBeans, Ant, ScalaCheck + JUnit, SBinaryMore recently: Vim, sbt, Scalaz
How hard is Scala to learn?
Learning curve can be very gradualType system probably biggest stumbling block
Deep FP knowledge takes a long time to developRequires shift in mindset Hard to find people with deep experience
Other takeaways
Good design is hardRewrites not always bad
Any questions?
More info at my blog: pchiusano.blogspot.comAlso on twitter: @pchiusanoemail: [email protected] website: clarifi.com