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
390
0
Share
Solid Scala
Presentation to Semantico, Brighton.
Richard Dallaway
August 23, 2013
More Decks by Richard Dallaway
See All by Richard Dallaway
AI Roadmap
d6y
0
60
Voice to guide "difficult" recycling queries
d6y
0
79
Brighton Java: Day in the life...
d6y
0
250
Day in the Life of a Functional Programmer
d6y
0
660
Exoplanet Safari
d6y
1
480
Types Working For You
d6y
1
2.7k
Towards Browser and Server Utopia with Scala.js: an example using CRDTs
d6y
0
7.8k
Code Review Gems
d6y
1
2k
Woot for Lift
d6y
2
3.3k
Other Decks in Technology
See All in Technology
AIAgentと取り組むKaggle
508shuto
2
510
実例から学ぶ GuardDuty(SSH BruteForce)調査の全体フローと勘所【SecurityJAWS】
cscengineer
PRO
1
200
コーディングAIが導くリスクベースド探索的テストの実践
lycorptech_jp
PRO
1
320
ANDPAD Ruby sponsor session in RubyKaigi 2026
andpad
0
130
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
240
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
180
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
230
GCASアップデート(202603-202605)
techniczna
0
280
開発にAIを組織として取り入れる一歩目とその後
yujishibuya
0
190
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
3
2.3k
The Making of AI Chips
pfn
PRO
0
690
個人最適から組織最適へ — 仕組みで進めるAI推進
rfdnxbro
0
110
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Building the Perfect Custom Keyboard
takai
2
770
Navigating Weather and Climate Data
rabernat
0
190
How to Talk to Developers About Accessibility
jct
2
200
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
190
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
150
Making Projects Easy
brettharned
120
6.6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
560
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
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