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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Richard Dallaway
August 23, 2013
Technology
0
380
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
48
Voice to guide "difficult" recycling queries
d6y
0
63
Brighton Java: Day in the life...
d6y
0
230
Day in the Life of a Functional Programmer
d6y
0
640
Exoplanet Safari
d6y
1
460
Types Working For You
d6y
1
2.7k
Towards Browser and Server Utopia with Scala.js: an example using CRDTs
d6y
0
7.7k
Code Review Gems
d6y
1
2k
Woot for Lift
d6y
2
3.3k
Other Decks in Technology
See All in Technology
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
360
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
370
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
230
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
120
今日から始めるAmazon Bedrock AgentCore
har1101
4
400
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.8k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
140
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.4k
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
340
2人で作ったAIダッシュボードが、開発組織の次の一手を照らした話― Cursor × SpecKit × 可視化の実践 ― Qiita AI Summit
noalisaai
1
380
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
880
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Producing Creativity
orderedlist
PRO
348
40k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
A designer walks into a library…
pauljervisheath
210
24k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Into the Great Unknown - MozCon
thekraken
40
2.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
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