Presentation: Types working for you, not against you
Location:
- Windsor, 5th flr.
Duration
Day of week:
- Monday
Abstract
There's a perception that Scala is too complicated.
In part that may come from cryptic compiler errors and hard to understand types.
You might be left wondering: what's the point?
Why am I trying to hack my way through cruft?
1. There's a way of writing simple Scala. A few straightforward ideas can be used again and again.You're using the power and flexibility of Scala, but in a sane way. This might not be the Scala you've heard about.
2. The type system enables us to do more. It's not just about checking for errors. These ideas from the world of functional programming aren't about being "clever" (in the bad sense). It's about a useful set of tools for everyday coding. This might not be the functional programming you've heard about.
The talk is in three parts:
- An example of what Scala looks like when using pattern matching over classes;
- How encoding an idea into types (using the "Combinable", or "monoid" if you prefer that kind of word); and
- Using advanced features of Scala (compile-time sized checked collections) without having to complicate our own code.
If you're Scala-curious, or heard that Scala or functional programming with types is just insanely complicated, this is the talk for you.
Similar Talks
Tracks
Covering innovative topics
Monday, 7 March
-
Back to Java
What to expect in Java 9 and Spring 5
-
Stream Processing @ Scale
Big data, fast-moving data. Practical implementation lessons on Real-time Data
-
DevOps & CI/CD
Lessons/stories on optimizing the deployment pipeline
-
Head-to-Tail Functional Languages
Free-range Monads, Tackling immutability, tales from production, and more...
-
Architecting for Failure
Your system will fail. Take control before it takes you with it
-
21st Century Culture from Geeks on the Ground
New ways to organise technology companies and workplace culture
Tuesday, 8 March
-
Architectures You've Always Wondered about
In-depth technical case studies from giants like: Microsoft, Netflix, Google, Twitter, and more...
-
Close to the Metal
Get efficiency back into your code, concepts like: cache efficient algorithm and lock free data structures
-
Containers (in production)
Real-world lessons on scalability and reliability in production container deployments
-
Modern CS in the real world
Real-world Industry adoption of modern CS ideas
-
Security, Incident Response & Fraud Detection
Master-level classes on building security into your system and responding to incidents when things go wrong.
-
Optimizing You
Keeping life in balance is always a challenge. Learning lifehacks
Wednesday, 9 March
-
Disrupting Finance
Technology advances in finance (blockchain, P2P, Machine Learning, API's)
-
Modern Native Languages
Modern native languages: Safe efficiency with Go, Rust, Swift
-
Full Stack Javascript
Level up Javascript with topics like Angular, React/ReactNative, Node, Mongo/Couch/Other, Falcor, GraphQL, etc
-
Data Science & Machine Learning Methods
A developer's data science and machine learning toolkit
-
Microservices for Mega-Architectures
Practical lessons on Microservices success.
-
Modern Agile Development
Revisiting Agile today and tackling challenges we are seeing in the wild