commercial usage of scala at capital iq clari f

11

Click here to load reader

Upload: boston-area-scala-enthusiasts

Post on 10-May-2015

1.911 views

Category:

Technology


4 download

DESCRIPTION

Boston Area Scala Enthusiasts second meeting held on Dec 2, 2009.Talk delivered by Paul Chiusano.

TRANSCRIPT

Page 1: Commercial Usage Of Scala At Capital Iq Clari F

Experience Report: Scala usage at Capital IQ ClariFI

Paul Chiusano

Page 2: Commercial Usage Of Scala At Capital Iq Clari F

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

Page 3: Commercial Usage Of Scala At Capital Iq Clari F

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

Page 4: Commercial Usage Of Scala At Capital Iq Clari F

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

Page 5: Commercial Usage Of Scala At Capital Iq Clari F

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

Page 6: Commercial Usage Of Scala At Capital Iq Clari F

Scala: the good

Scala/Java integrationBasic functional idiomsThe type systemOptional non-strict evaluation

Page 7: Commercial Usage Of Scala At Capital Iq Clari F

Scala: the bad

IDE support (as of 2008)Scala generics vs Java genericsLimited, unpredictable type inferenceFunction values are monomorphicWeak standard library

Page 8: Commercial Usage Of Scala At Capital Iq Clari F

More on our environment

Scala code in a separate project, exports a .jarTools: Eclipse, NetBeans, Ant, ScalaCheck + JUnit, SBinaryMore recently: Vim, sbt, Scalaz

Page 9: Commercial Usage Of Scala At Capital Iq Clari F

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

Page 10: Commercial Usage Of Scala At Capital Iq Clari F

Other takeaways

Good design is hardRewrites not always bad

Page 11: Commercial Usage Of Scala At Capital Iq Clari F

Any questions?

More info at my blog: pchiusano.blogspot.comAlso on twitter: @pchiusanoemail: [email protected] website: clarifi.com