Temos o orgulho de apresentar uma edição especial em parceria com a GDGLx Sessions e a LxScala.
Teremos duas sessões, a primeira do PT.JUG com o Miguel Duarte (https://www.linkedin.com/in/malduarte/) da Equal Experts e a segunda da LxScala com o Raúl Raja (https://www.linkedin.com/in/raulraja/) da 47Degrees.
• 19:00 - 19:15 - Check-in
• 19:15 - 20:00 - Talk PT.JUG: Modern Java with Javaslang and Lombok
• 20:00 - 20:30 - Break
• 20:30 - 21:15 - Talk LxScala: Functional Error Handling
• 21:15 - 21:30 - Fecho (prémios e surpresas)
Modern Java with Javaslang and Lombok
Java 8 brought Lambdas to Java, but the standard library changes didn't go as far as they could. Javaslang jumped in to fill the gap. It is a beautiful library that will like change the way we can write Java. If you're a functional programming fan you'll discover that you'll be able to express some of the concepts you've grown used to in plain Java. If you've been using Java for ages but you've never experienced functional programming concepts, hop in to see how you can change the way you code without having to learn a new language.
Topics to cover:
• Immutable collections and structural sharing
• Pattern matching
• Exception handling in a composable way
• Composing functions
• Property based testing
• Immutable values and the Builder pattern
• Type inference
• Integrating Javaslang and Lombok @Values with Jackson.
Miguel has 17+ years experience - and still learning - in software development, architecture & delivery for large Telco, Financial Industry and Government systems in multiple programming languages and platforms.
Loves reading, playing strategy games with his kids and tending to the countryside orchard and garden :)
Functional Error Handling
Exceptions in OOP centric langs such as Java are abused for control flow and event signaling. Lack of proper support for Monads, Higher Kinded Types and other facilities leave lang users with no alternative but to choose happy paths as return types of method signatures.
In this talk we will cover some examples regarding the misuse of exceptions and proper data types such as Option, Try, Either[E, A] and MonadError[M[_], E] to model absence of values, failing computations and alternate paths in method return types.
Functional programming enthusiast. Self driven software engineer with strong backend Scala experience. Creative problem solving. Always looking to try the latest in every technology.