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)

ZIP
Why Scala Presentation
guestc185e0e
 
KEY
Scala
sryx
 
PDF
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claud...
hakeshametwp
 
PPTX
Scala Introduction - Meetup Scaladores RJ
Rodrigo Lima
 
PPT
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
PDF
Infographic on Scala Programming Language
Paddy Lock
 
PPT
The State of Scala
Boston Area Scala Enthusiasts
 
ODP
Introduction to Scala JS
Knoldus Inc.
 
PPTX
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Codemotion
 
PPT
Evolving IGN’s New APIs with Scala
Manish Pandit
 
PDF
Martin Odersky: What's next for Scala
Marakana Inc.
 
PDF
Building Applications with Scala 1st Edition Pacheco
waldalowey4n
 
ODP
A Tour Of Scala
fanf42
 
PDF
Ruby and Rails short motivation
jistr
 
PPTX
Ten Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
MetaDesign Solutions
 
PPT
Viridians on Rails
Viridians
 
PDF
The Scala Programming Language
Haim Michael
 
PPTX
Scala & Swagger at Wordnik
Tony Tam
 
PDF
Ruby Metaprogramming 08
Brian Sam-Bodden
 
PPTX
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Codemotion
 
Why Scala Presentation
guestc185e0e
 
Scala
sryx
 
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claud...
hakeshametwp
 
Scala Introduction - Meetup Scaladores RJ
Rodrigo Lima
 
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
Infographic on Scala Programming Language
Paddy Lock
 
The State of Scala
Boston Area Scala Enthusiasts
 
Introduction to Scala JS
Knoldus Inc.
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Codemotion
 
Evolving IGN’s New APIs with Scala
Manish Pandit
 
Martin Odersky: What's next for Scala
Marakana Inc.
 
Building Applications with Scala 1st Edition Pacheco
waldalowey4n
 
A Tour Of Scala
fanf42
 
Ruby and Rails short motivation
jistr
 
Ten Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
MetaDesign Solutions
 
Viridians on Rails
Viridians
 
The Scala Programming Language
Haim Michael
 
Scala & Swagger at Wordnik
Tony Tam
 
Ruby Metaprogramming 08
Brian Sam-Bodden
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Codemotion
 
Ad

More from Alex Payne (17)

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
The Why and How of Scala at Twitter
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
 
The Why and How of Scala at Twitter
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
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 

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.