€544.50

Making the most of Scala through functional programming - Workshop with Ha...

Event Information

Share this event

Date and Time

Location

Location

Palacio de Congresos de Cádiz

s/n Calle Plocia

11006 Cádiz

Spain

View Map

Refund Policy

Refund Policy

Refunds up to 30 days before event

Event description

Description

This full-day training workshop will take place the day prior to the Lambda World Cádiz conference. This is an add-on event and is not included with a ticket to Lambda World. Food and beverages during the workshop are included.

*Please note there are ONLY 15 seats available for this training workshop.

Making the most of Scala through Functional Programming

Instructor: Jesús López González

You may have already experienced that Scala allows you to write programs as if you were still using Java. While this has unquestionable benefits in terms of lowering entry barriers to newcomers, it may also cause you to forget that the significant source of power for Scala lies elsewhere, namely, in its support for functional programming. This workshop will introduce three major functional abstractions that will bring you to the next level of programming maturity: higher-order functions, type classes and monadic functions; and, more importantly, it will show you why they matter so much, i.e. how they help you to achieve unprecedented levels of reuse and modularity, while keeping your programs concise and understandable.

In order to introduce each of these programming abstractions, we will proceed through the following steps:

- First, we introduce a simple programming exercise.

- Second, we solve this exercise using conventional techniques.

- Third, we unveil the problems of this preliminary solution (e.g. in
terms of lack of modularity, reuse, testability, etc.)

- And, fourth, we apply the functional abstraction to solve that very
same problem, and show how and in which sense, the functional
solution exposes a better design.

According to this procedure and the techniques covered in the course, we will challenge many of the techniques you may already be used to. In particular, we will show how you can reuse or design your own higher-order functions to get rid of for-loops using mutating variables, thus obtaining more reusable and understandable programs; how you can dismiss most uses of both inheritance and delegation by using type classes, getting rid of the extensibility problems faced by those techniques; and last, how you can implement truly reusable API-based functions by using Monads and type class-based APIs, instead
of plain conventional abstract interfaces.

Outline:

- What is functional programming?
- Higher-order functions
- Type classes
- Purely functional APIs

Requirements:

Bring your own laptop with a clone of the following Github repository:

https://github.com/hablapps/lambdaworld19

Certificate:

Habla Computing will provide a LinkedIn certificate of attendance.

Audience:

Object-oriented programmers (e.g. Java, Python, C#, etc.) with some exposure to the Scala programming language: at the very least, you should be comfortable with the basic syntax of the language.

Share with friends

Date and Time

Location

Palacio de Congresos de Cádiz

s/n Calle Plocia

11006 Cádiz

Spain

View Map

Refund Policy

Refunds up to 30 days before event

Save This Event

Event Saved