SlideShare a Scribd company logo
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?
Why Scala for Web 2.0?

More Related Content

What's hot (20)

PPTX
The Evolution of Scala
Martin Odersky
 
PDF
Martin Odersky - Evolution of Scala
Scala Italy
 
PDF
Quick introduction to scala
Mohammad Hossein Rimaz
 
PDF
Scala : language of the future
AnsviaLab
 
PDF
Scalax
Martin Odersky
 
PDF
Preparing for Scala 3
Martin Odersky
 
PPT
Devoxx
Martin Odersky
 
PDF
What To Leave Implicit
Martin Odersky
 
PDF
Functional programming in scala
Stratio
 
PPTX
flatMap Oslo presentation slides
Martin Odersky
 
PDF
The Evolution of Scala / Scala進化論
scalaconfjp
 
PPTX
Introduction to Scala language
Aaqib Pervaiz
 
PDF
Simplicitly
Martin Odersky
 
PPTX
Scala-Ls1
Aniket Joshi
 
PDF
Scala Days NYC 2016
Martin Odersky
 
PDF
Why Scala Is Taking Over the Big Data World
Dean Wampler
 
PPTX
What To Leave Implicit
Martin Odersky
 
PPTX
C++vs java
Pradeep wolf king
 
PDF
Introduction to Scala
Saleem Ansari
 
PDF
Functional programming in Scala
datamantra
 
The Evolution of Scala
Martin Odersky
 
Martin Odersky - Evolution of Scala
Scala Italy
 
Quick introduction to scala
Mohammad Hossein Rimaz
 
Scala : language of the future
AnsviaLab
 
Preparing for Scala 3
Martin Odersky
 
What To Leave Implicit
Martin Odersky
 
Functional programming in scala
Stratio
 
flatMap Oslo presentation slides
Martin Odersky
 
The Evolution of Scala / Scala進化論
scalaconfjp
 
Introduction to Scala language
Aaqib Pervaiz
 
Simplicitly
Martin Odersky
 
Scala-Ls1
Aniket Joshi
 
Scala Days NYC 2016
Martin Odersky
 
Why Scala Is Taking Over the Big Data World
Dean Wampler
 
What To Leave Implicit
Martin Odersky
 
C++vs java
Pradeep wolf king
 
Introduction to Scala
Saleem Ansari
 
Functional programming in Scala
datamantra
 

Viewers also liked (20)

PPTX
A Brief Intro to Scala
Tim Underwood
 
PDF
Introduction To Scala
Peter Maas
 
PDF
Scala jeff
jeff kit
 
PDF
Scala vs java 8
François Sarradin
 
KEY
groovy & grails - lecture 13
Alexandre Masselot
 
PPT
Implementación Repositorio De Objetos De Aprendizajes Basado En
f.cabrera1
 
PPTX
What is Node.js used for: The 2015 Node.js Overview Report
Gabor Nagy
 
PDF
Soluciones tecnológicas para REA
Ricardo Corai
 
PPT
Repositorio Institucional para el manejo de Investigaciones de la UNAN-Manag...
Departamento de Informática Educativa UNAN-Managua
 
PDF
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
Paola Amadeo
 
PPTX
Responsive Design
MRMtech
 
PPTX
Stack_Overflow-Network_Graph
Yaopeng (Gyoho) Wu
 
PPTX
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Ontico
 
PDF
Modern HTML & CSS Coding: Speed, Semantics & Structure
Raven Tools
 
PPTX
StrongLoop Overview
Shubhra Kar
 
PDF
Curso avanzado de capacitación en DSpace
Servicio de Difusión de la Creación Intelectual (SEDICI)
 
PDF
Asynchronous programming done right - Node.js
Piotr Pelczar
 
PPTX
Html5 devconf nodejs_devops_shubhra
Shubhra Kar
 
PDF
Node.js Frameworks & Design Patterns Webinar
Shubhra Kar
 
PPTX
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
codinghorror
 
A Brief Intro to Scala
Tim Underwood
 
Introduction To Scala
Peter Maas
 
Scala jeff
jeff kit
 
Scala vs java 8
François Sarradin
 
groovy & grails - lecture 13
Alexandre Masselot
 
Implementación Repositorio De Objetos De Aprendizajes Basado En
f.cabrera1
 
What is Node.js used for: The 2015 Node.js Overview Report
Gabor Nagy
 
Soluciones tecnológicas para REA
Ricardo Corai
 
Repositorio Institucional para el manejo de Investigaciones de la UNAN-Manag...
Departamento de Informática Educativa UNAN-Managua
 
Presentacion MoodleMoot 2014 Colombia - Integración Moodle con un Repositorio...
Paola Amadeo
 
Responsive Design
MRMtech
 
Stack_Overflow-Network_Graph
Yaopeng (Gyoho) Wu
 
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Ontico
 
Modern HTML & CSS Coding: Speed, Semantics & Structure
Raven Tools
 
StrongLoop Overview
Shubhra Kar
 
Curso avanzado de capacitación en DSpace
Servicio de Difusión de la Creación Intelectual (SEDICI)
 
Asynchronous programming done right - Node.js
Piotr Pelczar
 
Html5 devconf nodejs_devops_shubhra
Shubhra Kar
 
Node.js Frameworks & Design Patterns Webinar
Shubhra Kar
 
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
codinghorror
 
Ad

Similar to Why Scala for Web 2.0? (20)

KEY
Scala
sryx
 
ZIP
Why Scala Presentation
guestc185e0e
 
PPTX
Scala adoption by enterprises
Mike Slinn
 
KEY
Java to Scala: Why & How
Graham Tackley
 
KEY
The Why and How of Scala at Twitter
Alex Payne
 
PPT
Evolving IGN’s New APIs with Scala
Manish Pandit
 
PPT
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
KEY
Scala Introduction
Adrian Spender
 
PPTX
What is scala
Piyush Katariya
 
PDF
Absorbing Scala Into Java Ecosystem
Eishay Smith
 
ODP
A Tour Of Scala
fanf42
 
PDF
Reactive Software Systems
Behrad Zari
 
PPT
Why scala - executive overview
Razvan Cojocaru
 
PPT
The State of Scala
Boston Area Scala Enthusiasts
 
PDF
Scala Sjug 09
Michael Neale
 
PDF
Scala and jvm_languages_praveen_technologist
pmanvi
 
PDF
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claud...
hakeshametwp
 
PDF
Yes scala can!
amirmoulavi
 
PDF
Scala, Akka, and Play: An Introduction on Heroku
Havoc Pennington
 
PDF
Experience Converting from Ruby to Scala
John Nestor
 
Scala
sryx
 
Why Scala Presentation
guestc185e0e
 
Scala adoption by enterprises
Mike Slinn
 
Java to Scala: Why & How
Graham Tackley
 
The Why and How of Scala at Twitter
Alex Payne
 
Evolving IGN’s New APIs with Scala
Manish Pandit
 
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
Scala Introduction
Adrian Spender
 
What is scala
Piyush Katariya
 
Absorbing Scala Into Java Ecosystem
Eishay Smith
 
A Tour Of Scala
fanf42
 
Reactive Software Systems
Behrad Zari
 
Why scala - executive overview
Razvan Cojocaru
 
The State of Scala
Boston Area Scala Enthusiasts
 
Scala Sjug 09
Michael Neale
 
Scala and jvm_languages_praveen_technologist
pmanvi
 
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claud...
hakeshametwp
 
Yes scala can!
amirmoulavi
 
Scala, Akka, and Play: An Introduction on Heroku
Havoc Pennington
 
Experience Converting from Ruby to Scala
John Nestor
 
Ad

More from Alex Payne (16)

PDF
Splitting up your web app
Alex Payne
 
PDF
The perils and rewards of working on stuff that matters
Alex Payne
 
PDF
Emerging Languages: A Tour of the Horizon
Alex Payne
 
KEY
Building Distributed Systems in Scala
Alex Payne
 
KEY
Speedy, Stable, and Secure: Better Web Apps Through Functional Languages
Alex Payne
 
PDF
Mind The Tools
Alex Payne
 
ZIP
Strange Loop 2009 Keynote: Minimalism in Computing
Alex Payne
 
ZIP
The Business Value of Twitter
Alex Payne
 
KEY
Twitter API 2.0
Alex Payne
 
ZIP
The Interaction Design Of APIs
Alex Payne
 
ZIP
The Twitter API: A Presentation to Adobe
Alex Payne
 
ZIP
Protecting Public Hotspots
Alex Payne
 
ZIP
Twitter at BarCamp 2008
Alex Payne
 
PDF
Securing Rails
Alex Payne
 
PDF
Designing Your API
Alex Payne
 
PDF
Scaling Twitter - Railsconf 2007
Alex Payne
 
Splitting up your web app
Alex Payne
 
The perils and rewards of working on stuff that matters
Alex Payne
 
Emerging Languages: A Tour of the Horizon
Alex Payne
 
Building Distributed Systems in Scala
Alex Payne
 
Speedy, Stable, and Secure: Better Web Apps Through Functional Languages
Alex Payne
 
Mind The Tools
Alex Payne
 
Strange Loop 2009 Keynote: Minimalism in Computing
Alex Payne
 
The Business Value of Twitter
Alex Payne
 
Twitter API 2.0
Alex Payne
 
The Interaction Design Of APIs
Alex Payne
 
The Twitter API: A Presentation to Adobe
Alex Payne
 
Protecting Public Hotspots
Alex Payne
 
Twitter at BarCamp 2008
Alex Payne
 
Securing Rails
Alex Payne
 
Designing Your API
Alex Payne
 
Scaling Twitter - Railsconf 2007
Alex Payne
 

Recently uploaded (20)

PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 

Editor's Notes

  • #3: Came to previous C4s for Io, Erlang. Have programmed for money in Java, JavaScript, C, PHP, Perl, Ruby, and Python. Have programmed for fun, love, or spite in x86 Assembly, Erlang, Lua, Objective-C, various Lisps, Haskell, O-Caml, C++, Io, Erlang.
  • #4: Ruby’s poor VM performance, monkeypatching and cultural issues, questionable for large systems. We had new services to build, didn’t want to continue with Ruby.
  • #5: Ruby’s poor VM performance, monkeypatching and cultural issues, questionable for large systems. We had new services to build, didn’t want to continue with Ruby.
  • #6: Ruby’s poor VM performance, monkeypatching and cultural issues, questionable for large systems. We had new services to build, didn’t want to continue with Ruby.
  • #7: My personal criteria for a good systems language.
  • #8: Why not these languages? Talk about their issues. We ultimately knew we wanted a JVM language, just not Java.
  • #9: Ruby’s poor VM performance, monkeypatching and cultural issues, questionable for large systems. We had new services to build, didn’t want to continue with Ruby.
  • #11: The JVM has chops. Address Java interoperability, Martin Odersky’s credentials, etc. Worse comes to worse, just fall back to Java. Most other JVM-hosted languages can’t claim the same speed as Scala.
  • #12: The “concurrency crisis” has been underway since the early 1990s. Ref: HOPL2 intro speech. Scala handles actors as nicely as Erlang and Io. Actors are neat, but we haven’t made extensive use of them at Twitter just yet. Also Pi and Join Calculi.
  • #13: A pragmatic approach to data structure mutability. Most data structures available in mutable and immutable flavors. Requires thoughtful decision-making, but that pays off.
  • #14: Static typing is a blessing and a curse. Scala lets you ignore typing until you can put it to work for you.
  • #15: Once you have this feature in a language, you simply can’t do without it. Passing functions around is awesome - a bit like function pointers. Also: “higher-order” methods (methods that take other methods, like ‘map’), anonymous methods. Everything is an expression, everything has a value.
  • #16: Once you’ve gotten used to Ruby’s modules, it’s another difficult language feature to give up. Subclassing can be a nightmare, and isn’t always the correct design solution. Traits enable powerful abstraction of cross-cutting concerns.
  • #17: Every programmer matches patterns all day, every day. It’s just that most languages don’t have a lexical facility for making that task easier.
  • #18: XML ain’t going away any time soon. If you have to interact with XML a lot, Scala is an awesome choice. It’s got that JavaScript+JSON peanut butter n’ jelly quality.
  • #19: Address those features particular to Scala: case classes, properties, existential types, implicits.
  • #20: The bad, the ugly.
  • #22: Ruby’s poor VM performance, monkeypatching and cultural issues, questionable for large systems. We had new services to build, didn’t want to continue with Ruby.
  • #23: Ruby’s poor VM performance, monkeypatching and cultural issues, questionable for large systems. We had new services to build, didn’t want to continue with Ruby.
  • #24: Ruby’s poor VM performance, monkeypatching and cultural issues, questionable for large systems. We had new services to build, didn’t want to continue with Ruby.