Scala 1-experiencia

522 views

Published on

Presentation used about our scala experience at Caelum.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
522
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Scala 1-experiencia

    1. 1. Scala 1 ano de experiência
    2. 2. Alberto Souza• @alberto_souza• github.com/asouza
    3. 3. Momentos delícia
    4. 4. Momento delícia• Classes menos verborragicas• Métodos sem tipo de retorno explicito• Implicits• Funções como cidadãs de primeira classe• Options
    5. 5. Momento delícia• Traits• Package object• Manifest• Duck Typing
    6. 6. Assim você me mata
    7. 7. Atributos públicos
    8. 8. Testar os active records
    9. 9. Testar funções• pensar no scalamock
    10. 10. Uso de frameworks JAVA!• Quer imutabilidade?• Quer retornar tuplas?• Trabalhar com funcional?• Case classes?• Options?• Parametros com valor default?
    11. 11. Você pode fazer cadacoisa de 20 maneiras
    12. 12. Compilador
    13. 13. Ainda o compilador• Inferência de tipos• Implicits• Ystatistics
    14. 14. Build
    15. 15. Exemplo de mulice package compilation import java.util.Calendar class Person(name:String,birthdayDate:Calendar){ val visitedCities:List[City] = List[City]() def cityNames = visitedCities.map(_.name).mkString(":") def numberOfVisitedCities = visitedCities.size }•
    16. 16. Continuando a mulice • package compilationclass City(val name:String,valstate:String,country:String,attr:String,opa:Int){ //adicionando um novo atributo val mula = "nao compila person sua mula" override def toString = name + "|" + state + "|" +country}
    17. 17. IDE’s
    18. 18. IDE’s• Intellij na frente• Eclipse caminhando• Debugador só agora...• Erros de compilação
    19. 19. Cobertura de testes• E as classes geradas?• Números meio falsos• scct(Scala code coverage tool)• Pode usar o jacoco também
    20. 20. Resultados da balada
    21. 21. Migração total
    22. 22. Migração total• Devs ficaram irritados com a compilação• Ficaram mesmo• Ficaram mesmo mesmo mesmo
    23. 23. Informação curiosa• Codebase Java apenas 20% maior do que o anterior
    24. 24. Compre memória
    25. 25. Seja um guerreiro
    26. 26. Utilizações• LIB -> OK• Desenvolvimento WEB -> Guerreiro
    27. 27. Frameworks criados para JAVA!• Tente ver alguns para Scala
    28. 28. SIP• Mesma ideia da JSR• Passo rumo a popularização
    29. 29. Compatibilidade Binária• Libs compiladas para versões diferentes• scalatest, sbt
    30. 30. Libs amadurecendo• Evolução x Compatibilidade
    31. 31. Tamo junto!
    32. 32. Valeu! @alberto_souzagithub.com/asouza

    ×