Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Commercial Usage Of Scala At Capital Iq Clari F


Published on

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

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Commercial Usage Of Scala At Capital Iq Clari F

  1. 1. Experience Report: Scala usage at Capital IQ ClariFI Paul Chiusano
  2. 2. About us We make software for quantitative investment management Sell to asset managers, hedge funds, etc Flagship product, ClariFI Portfolio optimization Model/factor building, backtesting Performance/risk attribution Building, simulating trading strategies Screening, event studies Overall data management Etc... Founded in 2000, acquired by Capital IQ (itself owned by S&P) in 2007 Team size: 20 devs
  3. 3. Our first Scala project About 2 yrs ago, needed to rewrite/redesign PA backend FP a natural fit for the domain Scala the clear winner among JVM FP languages
  4. 4. Results highlights Scala implementation about 1/3 the LOC, comparable memory usage and speed More generic, modular New code had much better testing ScalaCheck a major win On a few occasions, discovered bugs in old implementation In production now for over a year
  5. 5. Since then Used Scala on another major project, more on the way Scala well-suited for backend / analytics layer Several other devs have now used Scala in some capacity Actively hiring people with Scala/FP experience
  6. 6. Scala: the good Scala/Java integration Basic functional idioms The type system Optional non-strict evaluation
  7. 7. Scala: the bad IDE support (as of 2008) Scala generics vs Java generics Limited, unpredictable type inference Function values are monomorphic Weak standard library
  8. 8. More on our environment Scala code in a separate project, exports a .jar Tools: Eclipse, NetBeans, Ant, ScalaCheck + JUnit, SBinary More recently: Vim, sbt, Scalaz
  9. 9. How hard is Scala to learn? Learning curve can be very gradual Type system probably biggest stumbling block Deep FP knowledge takes a long time to develop Requires shift in mindset Hard to find people with deep experience
  10. 10. Other takeaways Good design is hard Rewrites not always bad
  11. 11. Any questions? More info at my blog: Also on twitter: @pchiusano email: Our website: