SlideShare a Scribd company logo
1 of 22
Why Scala?
                           Introducing Scala to your boss




                                João Bernardino
                                   December 2011
Thursday, December 1, 11
“If I were to pick a language to use today other than Java, it
             would be Scala”

                                                  James Gosling, creator of Java



             “If someone had shown me the ‘Programming in Scala’ book
             back in 2003, I’d probably have never created Groovy”

                                              James Strachan, creator of Groovy



             “No other language on the JVM seems as capable of being a
             ‘replacement for Java’ as Scala, and the momentum behind Scala
             is now unquestionable.”

                                             Charles Nutter, co-creator of JRuby

Thursday, December 1, 11
History


             Scala was designed from 2001 by Martin Odersky, creator of:

                           javac (Sun’s Java compiler)

                           Java 5 Generics

             First released in late 2003 / early 2004

             Current version: 2.9.1



Thursday, December 1, 11
One Slider
             Scala incorporates and unifies the best features from many
             previous languages

             Scala’s central drive is to make life easier and more productive for
             the developer

                   It cuts down boilerplate

                   It adds expressiveness (Object Oriented + Functional
                   Programming)

                   It protects existing investments by running on the Java Virtual
                   Machine and interoperating seamlessly with Java

Thursday, December 1, 11
Scala is...



Thursday, December 1, 11
Scala is...
        a general purposed programming language

             Some uses of Scala:

                   Scripting

                   Web Applications

                   Messaging

                   Highly scalable and performing backends

                   Mobile (android) Applications

                   DSLs

                   Graphical User Interfaces

Thursday, December 1, 11
Scala is...
        both Object-Oriented and Functional
             Developers coming from Java can apply familiar design patterns
             with Scala, while leveraging powerful new object-oriented features

                   ➡ Easy transition from Java

             Inspired by the long tradition of functional programming, Scala
             makes it easy to develop for modern multi-core CPUs and
             distributed cloud computing workloads that require concurrency
             and parallelism

                   ➡ Ideal to solve today’s challenges in building large enterprise
                           and Internet applications


Thursday, December 1, 11
Scala is...
        scalable and extensible

             Scala emphasizes scalability - up to large development teams,
             large codebases and large number of CPU cores

             Scala makes it easy to add new language constructs in form of
             libraries, or to create domain-specific languages (DSLs)

                   ➡ Reduce integration costs

                   ➡ Rapid prototyping



Thursday, December 1, 11
Scala is...
        Productive
             Scala is a concise and pragmatic language

             Scala programs are 1/2 to 1/3 of their Java equivalents

             Developers can write more functionality with less code, in
             less time

             Testing, review and maintenance is cheaper

        ➡ Productivity and quality increase

        ➡ Shorter time-to-market


Thursday, December 1, 11
Scala is...
        interoperable with Java
             Scala protects your investment in existing Java libraries, tools and developer skills

             Scala runs on the extremely mature Java Virtual Machine and has performance on
             par with Java

             Scala interoperates flawlessly with Java. Scala classes can call and be called by any
             Java class

        ➡ Allows incremental adoption, using existing Java code as is

        ➡ The development team will work on their familiar tools, but writing shorter, faster
             and more scalable code

        ➡ The operations team won’t see the difference, while using their well-understood
             deployment techniques


Thursday, December 1, 11
Scala in the Enterprise



Thursday, December 1, 11
Scala is...
        used by the world’s leading companies




             The number of leading companies that are successfully using Scala for critical
             business applications has grown enormously (and continues to grow)

             As a consequence, demand for Scala developers has grown dramatically while at the
             same time Scala has matured and spawned a solid support ecosystem


Thursday, December 1, 11
Twitter

             Twitter ported most of it’s back-end infrastructure, services
             and APIs to Scala

             The majority of users’ interactions with Twitter are Scala-
             powered

             “Scala played a critical role in improving the scalability and
             reliability of Twitter’s back-end services”

                                 Alex Payne, former Platform lead at Twitter


Thursday, December 1, 11
LinkedIn
             They created Norbert, a framework written in Scala that makes it fast
             and easy to write asynchronous, cluster aware, message based client/
             server applications

             They use it to power their People Search Engine (250 queries per
             second, 100 tokens per query), using a scatter-gather approach across
             a large server farm

             “Scala has been a powerful tool for LinkedIn and has offered
             greater scalability and efficiency towards our programming efforts”

                                   Chris Conrad, Engeneering manager at LinkedIn


Thursday, December 1, 11
NASA is using Scala for their jet propulsion DSL, to be used
             in shuttle and other space mission launch control operations

             Foursquare was completely ported to Scala and Lift

             The Guardian ported their real-time content searching,
             indexing and updating API from Java to Scala, in some cases
             reducing the search index build time from 20 hours to just
             one.

             “We’ve found that Scala enabled us to deliver things faster
             with less code. It’s reinvigorated the team”

                                         Graham Tackley, guardian.co.uk

Thursday, December 1, 11
Novell used Scala and Lift to developed Pulse, a cloud-based, real-
             time collaboration platform for the enterprise

             “Scala’s features saved us countless man-hours working on
             Pulse and allowed us to deliver a product into production much
             sooner than I ever would have imagined”

                                               Daniel Spiewak, Pulse developer

             At Simple all performance-sensitive components are build in Scala

             “Our team is using both Scala and Akka to build a flexible
             architecture that will scale predictably when needed”

                                                     Alex Payne, CTO of Simple


Thursday, December 1, 11
Scala’s ecosystem



Thursday, December 1, 11
Commercial Support...
             ...has taken a leap forward as Odersky (creator of Scala) and Bóner (creator of Akka)
             founded Typesafe, a new company with $3M in Series A financing led by Greylock
             Partners (Facebook, Groupon, LinkedIn, Pandora...)

             Typesafe (and it’s partners worldwide) provide,

                   Commercial support and maintenance

                   Training

                   Consulting

             Typesafe declared one of it’s top priorities the increase in quality of Scala’s developer
             tools, by:

                   Taking change of all key open source tools, such as SBT and Scala’s IDE for Eclipse

                   Committing to help improve the proprietary tools, like IntelliJ IDEA


Thursday, December 1, 11
Libraries and Frameworks
             Akka - Even-driven Middleware in Scala, ideal for building high
             performance and reliable distributed application

             Lift - The most powerful, secure and scalable web framework today

             Play - Pure Java and Scala full-stack web application framework

             Kestrel - Twitter’s open sourced message queue

             ScalaModules - DSL for OSGi development

             Many more exist and new ones are coming up to Scala ecosystem every
             day

             and also... every Java library can be used in your Scala project!

Thursday, December 1, 11
So, why Scala?



Thursday, December 1, 11
Productivity, efficiency and quality increase

             Decrease in maintenance costs

             Technology neutral (runs on the JVM, all java libraries available)

             Soft landing for Java developers

             Scala can be introduced incrementally

             Replaces scripting languages and in-house DSLs

             Excellent basis for concurrent, parallel and distributed computing

             Stable and open. Acceptance and adoption ramping up

             Advanced frameworks and powerful new technologies tailored to solve
             today’s programming challenges


Thursday, December 1, 11
</end>


                           João Bernardino
                             @JohnBernas
Thursday, December 1, 11

More Related Content

What's hot

Azure Mobile Services Workshop
Azure Mobile Services WorkshopAzure Mobile Services Workshop
Azure Mobile Services WorkshopEran Stiller
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8PT.JUG
 
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 ParmaMarco Parenzan
 
Migrating Data and Databases to Azure
Migrating Data and Databases to AzureMigrating Data and Databases to Azure
Migrating Data and Databases to AzureKaren Lopez
 
eBay Architecture
eBay Architecture eBay Architecture
eBay Architecture Tony Ng
 
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeToolsTobias Koprowski
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerAgile Impact Conference
 
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended EventsSQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Eventssqlserver.co.il
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Jon Petter Hjulstad
 
OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014
OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014
OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014OpenNebula Project
 
Solaris 11.2 What's New
Solaris 11.2 What's NewSolaris 11.2 What's New
Solaris 11.2 What's NewOrgad Kimchi
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersTobias Koprowski
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & designMark Swarbrick
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker EnterpriseJohn Willis
 

What's hot (20)

MySQL
MySQLMySQL
MySQL
 
Azure Mobile Services Workshop
Azure Mobile Services WorkshopAzure Mobile Services Workshop
Azure Mobile Services Workshop
 
GDPR- The Buck Stops Here
GDPR-  The Buck Stops HereGDPR-  The Buck Stops Here
GDPR- The Buck Stops Here
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
2014.11.22 Azure for Sql Server Developer - SQLSAT355 Parma
 
Migrating Data and Databases to Azure
Migrating Data and Databases to AzureMigrating Data and Databases to Azure
Migrating Data and Databases to Azure
 
eBay Architecture
eBay Architecture eBay Architecture
eBay Architecture
 
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
38_Spotkanie_PLSSUGweWroclawiu_KilkaSłów_ApexSQL_FreeTools
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
Erik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by dockerErik Baardse - Bringing Agility to Traditional application by docker
Erik Baardse - Bringing Agility to Traditional application by docker
 
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended EventsSQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
 
Best Practices with Azure & Kubernetes
Best Practices with Azure & KubernetesBest Practices with Azure & Kubernetes
Best Practices with Azure & Kubernetes
 
OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014
OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014
OpenNebula - Open-source Enterprise Cloud Simplified - CeBIT March 2014
 
Solaris 11.2 What's New
Solaris 11.2 What's NewSolaris 11.2 What's New
Solaris 11.2 What's New
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Getting started with containers on Azure
Getting started with containers on AzureGetting started with containers on Azure
Getting started with containers on Azure
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginnersKoprowskiT_SQLSat409_MaintenancePlansForBeginners
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker Enterprise
 

Viewers also liked

Publications-Indian_drugs__2016[1]-Mohan
Publications-Indian_drugs__2016[1]-MohanPublications-Indian_drugs__2016[1]-Mohan
Publications-Indian_drugs__2016[1]-MohanMohan Thippeswamy
 
مجلة إشراقات | العدد 42
مجلة إشراقات | العدد 42 مجلة إشراقات | العدد 42
مجلة إشراقات | العدد 42 إشراقات
 
L'ago della bilancia. Valutazione della Posizione e delle Prestazioni
L'ago della bilancia. Valutazione della Posizione e delle PrestazioniL'ago della bilancia. Valutazione della Posizione e delle Prestazioni
L'ago della bilancia. Valutazione della Posizione e delle PrestazioniL'ago della bilancia
 
Videographer Portfolio
Videographer PortfolioVideographer Portfolio
Videographer PortfolioFreelance
 
Adobe Premiere CC 2015 cheat sheet (Mac)
Adobe Premiere CC 2015 cheat sheet (Mac)Adobe Premiere CC 2015 cheat sheet (Mac)
Adobe Premiere CC 2015 cheat sheet (Mac)Freelance
 

Viewers also liked (7)

Windows VS Linux
Windows VS LinuxWindows VS Linux
Windows VS Linux
 
Publications-Indian_drugs__2016[1]-Mohan
Publications-Indian_drugs__2016[1]-MohanPublications-Indian_drugs__2016[1]-Mohan
Publications-Indian_drugs__2016[1]-Mohan
 
مجلة إشراقات | العدد 42
مجلة إشراقات | العدد 42 مجلة إشراقات | العدد 42
مجلة إشراقات | العدد 42
 
L'ago della bilancia. Valutazione della Posizione e delle Prestazioni
L'ago della bilancia. Valutazione della Posizione e delle PrestazioniL'ago della bilancia. Valutazione della Posizione e delle Prestazioni
L'ago della bilancia. Valutazione della Posizione e delle Prestazioni
 
Videographer Portfolio
Videographer PortfolioVideographer Portfolio
Videographer Portfolio
 
Adobe Premiere CC 2015 cheat sheet (Mac)
Adobe Premiere CC 2015 cheat sheet (Mac)Adobe Premiere CC 2015 cheat sheet (Mac)
Adobe Premiere CC 2015 cheat sheet (Mac)
 
David_Bermingham
David_BerminghamDavid_Bermingham
David_Bermingham
 

Similar to Selling Scala to your boss

Scala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJScala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJRodrigo Lima
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Codemotion
 
Ten Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
Ten Compelling Reasons to Go the Scala Development Way - Metadesign SolutionsTen Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
Ten Compelling Reasons to Go the Scala Development Way - Metadesign SolutionsMetaDesign Solutions
 
Assist software awesome scala
Assist software   awesome scalaAssist software   awesome scala
Assist software awesome scalaAssistSoftware
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overviewRazvan Cojocaru
 
Why are Developers Moving Forward to Scala Programming?
Why are Developers Moving Forward to Scala Programming?Why are Developers Moving Forward to Scala Programming?
Why are Developers Moving Forward to Scala Programming?NexSoftsys
 
Scala introduction
Scala introductionScala introduction
Scala introductionzvikapika
 
Scala Overview INFX 1616
Scala Overview INFX 1616Scala Overview INFX 1616
Scala Overview INFX 1616Patrick Walter
 
Infographic on Scala Programming Language
Infographic on Scala Programming LanguageInfographic on Scala Programming Language
Infographic on Scala Programming LanguagePaddy Lock
 
Lessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its EcosystemLessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its EcosystemPetr Hošek
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Codemotion
 
Martin Odersky: What's next for Scala
Martin Odersky: What's next for ScalaMartin Odersky: What's next for Scala
Martin Odersky: What's next for ScalaMarakana Inc.
 
[Tech Talks] Typesafe Stack Introduction
[Tech Talks] Typesafe Stack Introduction[Tech Talks] Typesafe Stack Introduction
[Tech Talks] Typesafe Stack IntroductionKlika Tech, Inc
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprisesMike Slinn
 
Is Quarkus a worthy alternative to Java Spring
Is Quarkus a worthy alternative to Java SpringIs Quarkus a worthy alternative to Java Spring
Is Quarkus a worthy alternative to Java SpringMindfire LLC
 
Scala and its Ecosystem
Scala and its EcosystemScala and its Ecosystem
Scala and its EcosystemPetr Hošek
 
Scala, Akka, and Play: An Introduction on Heroku
Scala, Akka, and Play: An Introduction on HerokuScala, Akka, and Play: An Introduction on Heroku
Scala, Akka, and Play: An Introduction on HerokuHavoc Pennington
 
Big Data Processing with Spark and Scala
Big Data Processing with Spark and Scala Big Data Processing with Spark and Scala
Big Data Processing with Spark and Scala Edureka!
 

Similar to Selling Scala to your boss (20)

Scala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJScala Introduction - Meetup Scaladores RJ
Scala Introduction - Meetup Scaladores RJ
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
 
Ten Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
Ten Compelling Reasons to Go the Scala Development Way - Metadesign SolutionsTen Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
Ten Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
 
Assist software awesome scala
Assist software   awesome scalaAssist software   awesome scala
Assist software awesome scala
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overview
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
 
Why are Developers Moving Forward to Scala Programming?
Why are Developers Moving Forward to Scala Programming?Why are Developers Moving Forward to Scala Programming?
Why are Developers Moving Forward to Scala Programming?
 
Scala introduction
Scala introductionScala introduction
Scala introduction
 
Scala Overview INFX 1616
Scala Overview INFX 1616Scala Overview INFX 1616
Scala Overview INFX 1616
 
What is scala
What is scalaWhat is scala
What is scala
 
Infographic on Scala Programming Language
Infographic on Scala Programming LanguageInfographic on Scala Programming Language
Infographic on Scala Programming Language
 
Lessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its EcosystemLessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its Ecosystem
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
 
Martin Odersky: What's next for Scala
Martin Odersky: What's next for ScalaMartin Odersky: What's next for Scala
Martin Odersky: What's next for Scala
 
[Tech Talks] Typesafe Stack Introduction
[Tech Talks] Typesafe Stack Introduction[Tech Talks] Typesafe Stack Introduction
[Tech Talks] Typesafe Stack Introduction
 
Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
 
Is Quarkus a worthy alternative to Java Spring
Is Quarkus a worthy alternative to Java SpringIs Quarkus a worthy alternative to Java Spring
Is Quarkus a worthy alternative to Java Spring
 
Scala and its Ecosystem
Scala and its EcosystemScala and its Ecosystem
Scala and its Ecosystem
 
Scala, Akka, and Play: An Introduction on Heroku
Scala, Akka, and Play: An Introduction on HerokuScala, Akka, and Play: An Introduction on Heroku
Scala, Akka, and Play: An Introduction on Heroku
 
Big Data Processing with Spark and Scala
Big Data Processing with Spark and Scala Big Data Processing with Spark and Scala
Big Data Processing with Spark and Scala
 

Recently uploaded

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Recently uploaded (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

Selling Scala to your boss

  • 1. Why Scala? Introducing Scala to your boss João Bernardino December 2011 Thursday, December 1, 11
  • 2. “If I were to pick a language to use today other than Java, it would be Scala” James Gosling, creator of Java “If someone had shown me the ‘Programming in Scala’ book back in 2003, I’d probably have never created Groovy” James Strachan, creator of Groovy “No other language on the JVM seems as capable of being a ‘replacement for Java’ as Scala, and the momentum behind Scala is now unquestionable.” Charles Nutter, co-creator of JRuby Thursday, December 1, 11
  • 3. History Scala was designed from 2001 by Martin Odersky, creator of: javac (Sun’s Java compiler) Java 5 Generics First released in late 2003 / early 2004 Current version: 2.9.1 Thursday, December 1, 11
  • 4. One Slider Scala incorporates and unifies the best features from many previous languages Scala’s central drive is to make life easier and more productive for the developer It cuts down boilerplate It adds expressiveness (Object Oriented + Functional Programming) It protects existing investments by running on the Java Virtual Machine and interoperating seamlessly with Java Thursday, December 1, 11
  • 6. Scala is... a general purposed programming language Some uses of Scala: Scripting Web Applications Messaging Highly scalable and performing backends Mobile (android) Applications DSLs Graphical User Interfaces Thursday, December 1, 11
  • 7. Scala is... both Object-Oriented and Functional Developers coming from Java can apply familiar design patterns with Scala, while leveraging powerful new object-oriented features ➡ Easy transition from Java Inspired by the long tradition of functional programming, Scala makes it easy to develop for modern multi-core CPUs and distributed cloud computing workloads that require concurrency and parallelism ➡ Ideal to solve today’s challenges in building large enterprise and Internet applications Thursday, December 1, 11
  • 8. Scala is... scalable and extensible Scala emphasizes scalability - up to large development teams, large codebases and large number of CPU cores Scala makes it easy to add new language constructs in form of libraries, or to create domain-specific languages (DSLs) ➡ Reduce integration costs ➡ Rapid prototyping Thursday, December 1, 11
  • 9. Scala is... Productive Scala is a concise and pragmatic language Scala programs are 1/2 to 1/3 of their Java equivalents Developers can write more functionality with less code, in less time Testing, review and maintenance is cheaper ➡ Productivity and quality increase ➡ Shorter time-to-market Thursday, December 1, 11
  • 10. Scala is... interoperable with Java Scala protects your investment in existing Java libraries, tools and developer skills Scala runs on the extremely mature Java Virtual Machine and has performance on par with Java Scala interoperates flawlessly with Java. Scala classes can call and be called by any Java class ➡ Allows incremental adoption, using existing Java code as is ➡ The development team will work on their familiar tools, but writing shorter, faster and more scalable code ➡ The operations team won’t see the difference, while using their well-understood deployment techniques Thursday, December 1, 11
  • 11. Scala in the Enterprise Thursday, December 1, 11
  • 12. Scala is... used by the world’s leading companies The number of leading companies that are successfully using Scala for critical business applications has grown enormously (and continues to grow) As a consequence, demand for Scala developers has grown dramatically while at the same time Scala has matured and spawned a solid support ecosystem Thursday, December 1, 11
  • 13. Twitter Twitter ported most of it’s back-end infrastructure, services and APIs to Scala The majority of users’ interactions with Twitter are Scala- powered “Scala played a critical role in improving the scalability and reliability of Twitter’s back-end services” Alex Payne, former Platform lead at Twitter Thursday, December 1, 11
  • 14. LinkedIn They created Norbert, a framework written in Scala that makes it fast and easy to write asynchronous, cluster aware, message based client/ server applications They use it to power their People Search Engine (250 queries per second, 100 tokens per query), using a scatter-gather approach across a large server farm “Scala has been a powerful tool for LinkedIn and has offered greater scalability and efficiency towards our programming efforts” Chris Conrad, Engeneering manager at LinkedIn Thursday, December 1, 11
  • 15. NASA is using Scala for their jet propulsion DSL, to be used in shuttle and other space mission launch control operations Foursquare was completely ported to Scala and Lift The Guardian ported their real-time content searching, indexing and updating API from Java to Scala, in some cases reducing the search index build time from 20 hours to just one. “We’ve found that Scala enabled us to deliver things faster with less code. It’s reinvigorated the team” Graham Tackley, guardian.co.uk Thursday, December 1, 11
  • 16. Novell used Scala and Lift to developed Pulse, a cloud-based, real- time collaboration platform for the enterprise “Scala’s features saved us countless man-hours working on Pulse and allowed us to deliver a product into production much sooner than I ever would have imagined” Daniel Spiewak, Pulse developer At Simple all performance-sensitive components are build in Scala “Our team is using both Scala and Akka to build a flexible architecture that will scale predictably when needed” Alex Payne, CTO of Simple Thursday, December 1, 11
  • 18. Commercial Support... ...has taken a leap forward as Odersky (creator of Scala) and Bóner (creator of Akka) founded Typesafe, a new company with $3M in Series A financing led by Greylock Partners (Facebook, Groupon, LinkedIn, Pandora...) Typesafe (and it’s partners worldwide) provide, Commercial support and maintenance Training Consulting Typesafe declared one of it’s top priorities the increase in quality of Scala’s developer tools, by: Taking change of all key open source tools, such as SBT and Scala’s IDE for Eclipse Committing to help improve the proprietary tools, like IntelliJ IDEA Thursday, December 1, 11
  • 19. Libraries and Frameworks Akka - Even-driven Middleware in Scala, ideal for building high performance and reliable distributed application Lift - The most powerful, secure and scalable web framework today Play - Pure Java and Scala full-stack web application framework Kestrel - Twitter’s open sourced message queue ScalaModules - DSL for OSGi development Many more exist and new ones are coming up to Scala ecosystem every day and also... every Java library can be used in your Scala project! Thursday, December 1, 11
  • 20. So, why Scala? Thursday, December 1, 11
  • 21. Productivity, efficiency and quality increase Decrease in maintenance costs Technology neutral (runs on the JVM, all java libraries available) Soft landing for Java developers Scala can be introduced incrementally Replaces scripting languages and in-house DSLs Excellent basis for concurrent, parallel and distributed computing Stable and open. Acceptance and adoption ramping up Advanced frameworks and powerful new technologies tailored to solve today’s programming challenges Thursday, December 1, 11
  • 22. </end> João Bernardino @JohnBernas Thursday, December 1, 11