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

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

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