SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Absorbing Scala in the
  Java Ecosystem
      Eishay Smith
         kaChing
Who Am I

    kaChing - Rocking the inventing world !
    Ex - Scala @ LinkedIn
    Blogging http://www.eishay.com
    Also today: 
        "A First Look at Scala on Google App Engine"
On the menu

 Getting started
 Scala and Java
 Runtime
 Build
 IDEs
 Test
 People
Getting started

 Silicon Valley Base camp '08
     David Pollak, Bill Venners
 BASE: Bay Area Scala Enthusiasts
     Once a month
     Twitter (San Francisco)
     LinkedIn (Mountain View)
 Java Posse 
 Blogs and Twitter
Scala and Java

     Different syntax and philosophy
       Unlike the Groovy (which we love !) you can't write
       Java syntax in Scala
 
    Better interoperability
    Compiles to the same classes and interfaces
       Given a Jar its hard to tell where it came from
    Type safe 
    Easily sharing libraries, both ways
    Profiling, JMX, Serialization ....
Runtime

 Behave the same on runtime
    Your SysAdmin/Ops won't tell the diferance
 As fast as Java
    Static types, no introspection (see dynamic
    languages)
    Using primitives (though they look like objects)
    Better concurrency patterns (see Actors)
 Taking advantage of the JIT
 Makes the GC happy (immutability FTW)
Build

Scalac knows
how to read
java code !
Needed for
circular
dependencies.
Testing

 Scala has some great Testing frameworks
    Specs, ScalaTest
    They do integrate nicely with existing frameworks
  Can use bare bones JUnit (any version)
  ANT JUnit plugin does not work with Scala Sources
    But does work with class files
 JUnit may use static suite() methods in the test class
    Problem: no static methods in Scala
    There is a solution
JUnit, ANT & Scala
             Instead of




               Use
Getting around static methods

 
Your organization

 Integrating smartly with current Java project
    Use one way dependency
 Keeping the Scala illiterate IDEs happy
    Not everyone will jump on the wagon
    Take advantage on your IoC framework
       Spring/Guice
    Use Java interfaces to make the IDE happy
IDEs

 Good Support by the three big IDEs out there
    Eclipse, NetBeans and IDEA
 Healthy competition
 Soon to come: better IDE support
    Martin Ordersky is working on improving the IDE
    support with better compiler infrastructure
 Scala plugin does not come with the IDE
    Other team members may not install it
Get people interested

    Host a Scala BASE
    Invite Scala Speakers
    Lunchtime talks
 
                   TShirts
Getting started (for real this time)

  Scala is more then just nice syntax
  You may start writing Java code in Scala
  Start with testing
     Not with production code
     Test Java code from Scala
     Once way dependency
  Absorb Scala slowly, don't get drunk !
     Your first Scala code will not be perfect
     It takes a while to understand the Scala philosophy
We Are Hiring !

Mais conteúdo relacionado

Semelhante a Absorbing Scala Into Java Ecosystem

Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprisesMike Slinn
 
Introduction to Scala JS
Introduction to Scala JSIntroduction to Scala JS
Introduction to Scala JSKnoldus Inc.
 
Assist software awesome scala
Assist software   awesome scalaAssist software   awesome scala
Assist software awesome scalaAssistSoftware
 
From java to scala at crowd mix
From java to scala at crowd mixFrom java to scala at crowd mix
From java to scala at crowd mixStefano Galarraga
 
Functional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdfFunctional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdfssusercd195b
 
Sparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With SparkSparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With SparkIan Pointer
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming LanguageHaim Michael
 
An Introduction to Scala
An Introduction to ScalaAn Introduction to Scala
An Introduction to ScalaBrent Lemons
 
Scala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.jsScala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.jsKnoldus Inc.
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about javakanchanmahajan23
 
Breathing new life into JSP with OSGi? Why!!! - R Auge
Breathing new life into JSP with OSGi? Why!!! - R AugeBreathing new life into JSP with OSGi? Why!!! - R Auge
Breathing new life into JSP with OSGi? Why!!! - R Augemfrancis
 
Introduction to Scala language
Introduction to Scala languageIntroduction to Scala language
Introduction to Scala languageAaqib Pervaiz
 
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
 
01. Introduction to programming with java
01. Introduction to programming with java01. Introduction to programming with java
01. Introduction to programming with javaIntro C# Book
 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Tikal Knowledge
 

Semelhante a Absorbing Scala Into Java Ecosystem (20)

Scala adoption by enterprises
Scala adoption by enterprisesScala adoption by enterprises
Scala adoption by enterprises
 
Scala for C# Developers
Scala for C# DevelopersScala for C# Developers
Scala for C# Developers
 
Introduction to Scala JS
Introduction to Scala JSIntroduction to Scala JS
Introduction to Scala JS
 
What is scala
What is scalaWhat is scala
What is scala
 
Assist software awesome scala
Assist software   awesome scalaAssist software   awesome scala
Assist software awesome scala
 
From java to scala at crowd mix
From java to scala at crowd mixFrom java to scala at crowd mix
From java to scala at crowd mix
 
The State of Scala
The State of ScalaThe State of Scala
The State of Scala
 
Functional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdfFunctional Scala 2022 - scalajs Alexis.pdf
Functional Scala 2022 - scalajs Alexis.pdf
 
Sparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With SparkSparklife - Life In The Trenches With Spark
Sparklife - Life In The Trenches With Spark
 
The Scala Programming Language
The Scala Programming LanguageThe Scala Programming Language
The Scala Programming Language
 
An Introduction to Scala
An Introduction to ScalaAn Introduction to Scala
An Introduction to Scala
 
Scala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.jsScala's evolving ecosystem- Introduction to Scala.js
Scala's evolving ecosystem- Introduction to Scala.js
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
Breathing new life into JSP with OSGi? Why!!! - R Auge
Breathing new life into JSP with OSGi? Why!!! - R AugeBreathing new life into JSP with OSGi? Why!!! - R Auge
Breathing new life into JSP with OSGi? Why!!! - R Auge
 
scala-intro
scala-introscala-intro
scala-intro
 
Introduction to Scala language
Introduction to Scala languageIntroduction to Scala language
Introduction to Scala language
 
Lessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its EcosystemLessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its Ecosystem
 
01. Introduction to programming with java
01. Introduction to programming with java01. Introduction to programming with java
01. Introduction to programming with java
 
Commercial Usage Of Scala At Capital Iq Clari F
Commercial Usage Of Scala At Capital Iq Clari FCommercial Usage Of Scala At Capital Iq Clari F
Commercial Usage Of Scala At Capital Iq Clari F
 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?"
 

Último

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Último (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Absorbing Scala Into Java Ecosystem

  • 1. Absorbing Scala in the Java Ecosystem Eishay Smith kaChing
  • 2. Who Am I kaChing - Rocking the inventing world ! Ex - Scala @ LinkedIn Blogging http://www.eishay.com Also today:          "A First Look at Scala on Google App Engine"
  • 3. On the menu Getting started Scala and Java Runtime Build IDEs Test People
  • 4. Getting started Silicon Valley Base camp '08 David Pollak, Bill Venners BASE: Bay Area Scala Enthusiasts Once a month Twitter (San Francisco) LinkedIn (Mountain View) Java Posse  Blogs and Twitter
  • 5. Scala and Java  Different syntax and philosophy Unlike the Groovy (which we love !) you can't write Java syntax in Scala   Better interoperability Compiles to the same classes and interfaces Given a Jar its hard to tell where it came from Type safe  Easily sharing libraries, both ways Profiling, JMX, Serialization ....
  • 6. Runtime Behave the same on runtime Your SysAdmin/Ops won't tell the diferance As fast as Java Static types, no introspection (see dynamic languages) Using primitives (though they look like objects) Better concurrency patterns (see Actors) Taking advantage of the JIT Makes the GC happy (immutability FTW)
  • 7. Build Scalac knows how to read java code ! Needed for circular dependencies.
  • 8. Testing Scala has some great Testing frameworks Specs, ScalaTest They do integrate nicely with existing frameworks  Can use bare bones JUnit (any version)  ANT JUnit plugin does not work with Scala Sources But does work with class files JUnit may use static suite() methods in the test class Problem: no static methods in Scala There is a solution
  • 9. JUnit, ANT & Scala Instead of Use
  • 10. Getting around static methods  
  • 11. Your organization Integrating smartly with current Java project Use one way dependency Keeping the Scala illiterate IDEs happy Not everyone will jump on the wagon Take advantage on your IoC framework Spring/Guice Use Java interfaces to make the IDE happy
  • 12. IDEs Good Support by the three big IDEs out there Eclipse, NetBeans and IDEA Healthy competition Soon to come: better IDE support Martin Ordersky is working on improving the IDE support with better compiler infrastructure Scala plugin does not come with the IDE Other team members may not install it
  • 13. Get people interested Host a Scala BASE Invite Scala Speakers Lunchtime talks   TShirts
  • 14. Getting started (for real this time) Scala is more then just nice syntax You may start writing Java code in Scala Start with testing Not with production code Test Java code from Scala Once way dependency Absorb Scala slowly, don't get drunk ! Your first Scala code will not be perfect It takes a while to understand the Scala philosophy