2. Background
Chi siamo: Società che opera nel mercato della
gestione del risparmio tramite un servizio di consulenza
indipendente e personalizzato. Con una piattaforma
web, MoneyFarm aiuta il piccolo medio investitore nella
gestione delle proprie finanze, rendendo semplici e
accessibili soluzioni finanziarie solitamente complesse.
Progetto:
- Sviluppo back-end piattaforma di trading e order
routing (ETF)
- Durata: 6 mesi
- Team: 2/3 persone
3. Il Nostro Stack
- Programming language => Scala 2.9
- Web server => Play Framework 2 con Tomcat 7
- Cache server => Redis
- ORM => Squeryl
- Database => MySQL
4. Perchè Scala? => Principi
- Produttivo (less boilerplate, type inference, unchecked exceptions, ecc.)
- Iteroperabile con Java o altri linguaggi (JVM)
- Scalabile
- Performante
- Mantenibile
- Supportato (Tools, Community, TypeSafe)
6. La nostra esperienza
- Produttivo?
(+) Sintassi concisa
(+) Type inference
(+) Monads
(+) Closures
(+) Views, Transformers
(-) Complesso
(-) Tempo compilazione
- Performante? No benchmarks
(+) Essendo più produttivo abbiamo più tempo da
dedicare all’ottimizzazione degli algoritmi.
7. La nostra esperienza
- Mantenibile? No benchmarks
(+) Produttivo
(-) Complesso (tanti concetti)
(-) Talvolta criptico (currying, implicts, operator
overloading, ecc.)
(-) Diversi stili da intepretare
(-) Backwards compatibility
(-) Qos Tools
- Scalabile?
(+) In teoria si….
(?) In pratica lo scopriremo solo vivendo
8. Considerazioni
Cons
- Richiede personale mediamente più preparato.
- Richiede un maggior livello di comunicazione e
iterazione nel team
Pros
- Produttivo
- Elegante, divertente, stimolante
- Istruttivo
9. Conclusioni
Scala è il nostro presente e…
sarà ancor di più il nostro futuro!
MF@ScalaDay => 3 mesi gratis al servizio
One Click Advice
Grazie