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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
200
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
290
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
290
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
590
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
430
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
100
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
150
あたらしい上流工程の形。 0日導入からはじめるAI駆動PM
kumaiu
5
760
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
670
プロポーザルに込める段取り八分
shoheimitani
1
170
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
200
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
79
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Six Lessons from altMBA
skipperchong
29
4.1k
Paper Plane (Part 1)
katiecoart
PRO
0
4k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
120
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Code Review Best Practice
trishagee
74
20k
The Curse of the Amulet
leimatthew05
1
8.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How to build a perfect <img>
jonoalderson
1
4.9k
Code Reviewing Like a Champion
maltzj
527
40k
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