📜 ⬆️ ⬇️

Basics of Scala. 5 hours of brain drain

Good afternoon, dear habrasoobschestvo! image

At the end of November 2013, a colleague and I arranged a meeting at which we had a session of “intensive introduction of Scala into the brain of volunteers” .

I spread to the public our work and a brief description of the “experiment”.

')

Disclaimer and Cry for Help


We are not Scala experts, but we are practitioners.
Therefore, we can outline some concepts incorrectly.
There is no ill intent in this, errare humanum est .
If you see a discrepancy or caught us in a lie - leave a comment to the article and explain to us how tough we made a mistake. I will be extremely grateful for this!


TL; DR;


Everything worked out. We liked. People liked it. Watch and comment.

Part 1: Introduction. Immunity. "Building blocks". The main types. Class hierarchy


Part 2: Functions, methods. Functions as original objects. Type inference. Closures Collections Cycles and for compehension. Pattern matching. Implicit constructs.


Part 3: Syntactic sugar. Lazy computing. Recursion Streams. Monads.


The presentation can be found here .

Report for representatives of the LTR era


Social part

So, the main purpose of our performance was the following things:
  1. Increase CSV. Show that Scala is not as scary as it is painted.
  2. Demonstrate cool concepts that many people never thought about.
  3. Set the vector to "FarFrom" .
  4. Put on the hard drug Scala ... ??? ... PROFIT !!

After analyzing the reviews and observing the "experimental" in the natural environment, we came to the conclusion that most of our goals are completed! Hooray!

Brief approximate statistics:

During the presentation, we reviewed almost all the topics necessary for levels A1, A2 and L1 from the classification of rock programmers .

In addition, we tried the interactive presentation format :

Apartment №1
I personally love the formats that support live communication with the audience, because they do not allow to deviate from the topic, go into the "difficult language" or jump to the level of incomprehensible audience abstractions.
Probably, such love is caused by the fact that I like to improvise and do not like to memorize a performance.

In addition, there is a certain psychological discomfort, when a person has a question that is necessary for the formation of a concept, but he cannot immediately clarify it.
The listener must still form a gestalt as quickly as possible.

Theoretical part

Apartment №2
The main problem with the story about Scala is the correct structure and consistency of the material.
We read a number of books, watched a number of speeches, and completed a course on the course.

The rock is complicated only because when studying it, a person bumps into the unknown in every topic, and delves into this unknown . But the stack in the human brain is very finite, which leads to an "overflow of the brain stack" when studying Scala from unprepared adepts.

We tried to structure the material a little differently than it is customary to submit it, in order to protect people from “concentrated knowledge” at the very beginning.

Our list of major topics looks like this:

A number of additional topics are “sewn” into the speech itself and explained as the audience touches these topics.

Reconsidering our performance, we found several conceptual inaccuracies and holes in understanding.
But even right in the course of the speech, we concluded that we had made a strategic blunder - we carried all the syntactic sugar to the end.

So you can not do!
Questions about clever language constructs will pop up in almost all the topics covered.
How to show and clarify sugar as you speak is an open question.



Thank you for your attention and constructive criticism.
We invite everyone to our Skype chat: bit.ly/scalachat (Ukrainian chat: bit.ly/scala-ua )
We will be happy both for beginners and experts. Place of residence, race, gender, and other minor factors do not matter.

PS If you like our event, you can invite us to visit. Knock in lichku.
About the planned events can be found in our chat.

Source: https://habr.com/ru/post/209532/


All Articles