Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Solid Scala
Search
Richard Dallaway
August 23, 2013
Technology
0
360
Solid Scala
Presentation to Semantico, Brighton.
Richard Dallaway
August 23, 2013
Tweet
Share
More Decks by Richard Dallaway
See All by Richard Dallaway
AI Roadmap
d6y
0
34
Voice to guide "difficult" recycling queries
d6y
0
48
Brighton Java: Day in the life...
d6y
0
200
Day in the Life of a Functional Programmer
d6y
0
590
Exoplanet Safari
d6y
1
400
Types Working For You
d6y
1
2.6k
Towards Browser and Server Utopia with Scala.js: an example using CRDTs
d6y
0
7.6k
Code Review Gems
d6y
1
1.9k
Woot for Lift
d6y
2
3.2k
Other Decks in Technology
See All in Technology
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
140
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
250
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
10
2k
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
190
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
130
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
120
QAエンジニアが スクラムマスターをすると いいなぁと思った話
____rina____
0
200
事業を差別化する技術を生み出す技術
pyama86
2
550
人生を左右する「即答」のススメ: 一瞬の判断を間違えないためにするべきこと
takasyou
4
590
遷移の高速化 ヤフートップの試行錯誤
narirou
6
2k
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
データモデルYANGの処理系を再発明した話
tjmtrhs
0
380
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Building Applications with DynamoDB
mza
93
6.2k
Being A Developer After 40
akosma
89
590k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Automating Front-end Workflow
addyosmani
1369
200k
Why Our Code Smells
bkeepers
PRO
336
57k
The Cost Of JavaScript in 2023
addyosmani
47
7.5k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Designing for humans not robots
tammielis
250
25k
Fireside Chat
paigeccino
35
3.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Transcript
Richard Dallaway @d6y www.underscoreconsulting.com
Agenda 1. Benefits of Scala 2. What it looks like
3. Why we trust it 4. How to start
Benefits Productivity Maintainability Multi-core Developer Joy
Without giving up... Performance Curly Braces Java Investment Tooling (but...)
import org.joda.time.DateTime case class Subscription( owner: String, isTrial: Boolean, expiry:
DateTime) val nextMonth = new DateTime().plusMonths(1) val sub = new Subscription( "Bob", isTrial = true, nextMonth) sub.owner // “Bob” sub == new Subscription( "Bob", true, nextMonth) // true
val subs = List( Subscription("Anna", true, new DateTime()), ... )
val trials : List[Subscription] = subs.filter(s => s.isTrial) def expiring(sub: Subscription) : Boolean = daysBetween(now,sub.expiry).getDays < 2 val nagList = subs.filter(expiring) val expiringTrials = subs.filter(expiring).filter(_.isTrial)
case class Sub(name: String, cc: Option[String]) val subs = List(
Sub("Anna", None), Sub("Bob", Some("1234-5678-9123-4567")) ) def bill(cc: String) : Result = ... val results = subs.flatMap(s => s.cc).map(bill) val results = for { sub <- subs cc <- sub.cc } yield bill(cc) .par
2003 2006 2009 2008 2011 2004 2005 2010 2007 2012
2013 2014 1.0 2.0 2.3 2.8 2.7 2.9 2.10 2.11 2.6 2.5 2.4 2.9.3 2.8.2
The guy who built javac SpringSource VMware An advisor
None
Ideas for starting 1. Small project trial 2. Mixed Java/Scala
projects 3. For tests
@d6y @davegurnell @milessabin www.underscoreconsulting.com meetup.com/london-scala meetup.com/Functional-Brighton