This document discusses how focusing on employee happiness can benefit companies. It provides several "happiness recipes" that include having a clear purpose, social recognition, a sense of control, and seeing progress. Having a purpose means being part of something bigger than yourself. Social recognition involves feeling important and gaining recognition from others. Control relates to having autonomy over one's work. Seeing progress provides feedback and a sense of impact. The document also discusses how practices like extreme programming can incorporate these happiness elements through having a shared system metaphor and vision, pair programming, collective code ownership, and releasing software frequently in small batches.
What is a Coroutine in Kotlin? Which are the differences with threads? What is collaborative concurrency? Have a look at these slides and at the companion Github repository https://github.com/f-lombardo/kotlin-from-scratch
Do you want to learn Kotlin programming language from scratch? This is the 2nd episode of a simple course, focused on function and functional programming
The document provides an overview of the Kotlin programming language, including what it is, who created it, when it was created, where it can be used, and why it is useful. Specifically:
- Kotlin is a programming language created by JetBrains as an alternative to Java that compiles to JVM bytecode.
- It was created in 2010 and became open source in 2012, with stable releases beginning in 2016 and support on Android announced by Google in 2017.
- Kotlin can run on the JVM for Android and server-side applications as well as JavaScript and native platforms, though cross-platform code cannot use Java libraries.
- Advantages include being modern, concise,
This document discusses how focusing on employee happiness can benefit companies. It provides several "happiness recipes" that include having a clear purpose, social recognition, a sense of control, and seeing progress. Having a purpose means being part of something bigger than yourself. Social recognition involves feeling important and gaining recognition from others. Control relates to having autonomy over one's work. Seeing progress provides feedback and a sense of impact. The document also discusses how practices like extreme programming can incorporate these happiness elements through having a shared system metaphor and vision, pair programming, collective code ownership, and releasing software frequently in small batches.
What is a Coroutine in Kotlin? Which are the differences with threads? What is collaborative concurrency? Have a look at these slides and at the companion Github repository https://github.com/f-lombardo/kotlin-from-scratch
Do you want to learn Kotlin programming language from scratch? This is the 2nd episode of a simple course, focused on function and functional programming
The document provides an overview of the Kotlin programming language, including what it is, who created it, when it was created, where it can be used, and why it is useful. Specifically:
- Kotlin is a programming language created by JetBrains as an alternative to Java that compiles to JVM bytecode.
- It was created in 2010 and became open source in 2012, with stable releases beginning in 2016 and support on Android announced by Google in 2017.
- Kotlin can run on the JVM for Android and server-side applications as well as JavaScript and native platforms, though cross-platform code cannot use Java libraries.
- Advantages include being modern, concise,
The document discusses happiness in the workplace and lists theories from various thinkers. It provides contact information for Franco Lombardo and discusses his interest in agile happiness. It also lists factors from Eric Berne, Daniel Pink, and Tony Hsieh that they believe contribute to happiness, such as purpose, mastery, autonomy, social recognition, and control. It concludes by mentioning Eric Berne's book "Games People Play."
The document discusses the benefits of meditation for reducing stress and anxiety. Regular meditation practice can help calm the mind and body by lowering heart rate and blood pressure. Studies have shown that meditating for just 10-20 minutes per day can have significant positive impacts on both mental and physical health over time.
Scala is a programming language created in 2001 that runs on the Java Virtual Machine. It aims to be scalable by combining object-oriented and functional programming features. Some key characteristics include its Java-like syntax that makes Java libraries and frameworks accessible, static typing for performance and documentation, and use of traits to decompose large classes and avoid fat objects. Functional programming is also supported through treating functions as first-class objects and avoiding side effects.
The document discusses happiness in the workplace and lists theories from various thinkers. It provides contact information for Franco Lombardo and discusses his interest in agile happiness. It also lists factors from Eric Berne, Daniel Pink, and Tony Hsieh that they believe contribute to happiness, such as purpose, mastery, autonomy, social recognition, and control. It concludes by mentioning Eric Berne's book "Games People Play."
The document discusses the benefits of meditation for reducing stress and anxiety. Regular meditation practice can help calm the mind and body by lowering heart rate and blood pressure. Studies have shown that meditating for just 10-20 minutes per day can have significant positive impacts on both mental and physical health over time.
Scala is a programming language created in 2001 that runs on the Java Virtual Machine. It aims to be scalable by combining object-oriented and functional programming features. Some key characteristics include its Java-like syntax that makes Java libraries and frameworks accessible, static typing for performance and documentation, and use of traits to decompose large classes and avoid fat objects. Functional programming is also supported through treating functions as first-class objects and avoiding side effects.
TDD su AS400? Con Kotlin si può fare! - Italian Agile Days 2019
1. Franco Lombardo – Agile software developer @Gruppo Sme.UP
franco.lombardo@smeup.com
Twitter: @f_lombardo
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Unit testing su AS400?
Con Kotlin si può fare!
2. AS400 ~= RPG
Programmi AS400
~=
Programmi RPG
(Report Program Generator)
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
3. RPG – Cos’è l’RPG?
"RPG is an IBM proprietary
programming language
and its later versions are
available only on IBM i
or OS/400-based systems"
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Wikipedia
4. RPG – Cos’è l’RPG?
"RPG is an IBM proprietary
programming language
and its later versions are
available only on IBM i
or OS/400-based systems"
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Wikipedia
5. RPG – Available only on IBM i
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Come faccio ad impararlo?
6. RPG – Available only on IBM i
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Come posso creare dei prototipi?
7. RPG – Available only on IBM i
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Infrastructure as code?
Come posso creare e distribuire
macchine preconfigurate? (DevOps)
8. RPG – Available only on IBM i
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Scalabilità orizzontale?
9. RPG – IBM proprietary
Come può crescere il linguaggio
indipendentemente da IBM?
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
10. RPG – IBM proprietary
Come aggiungo
nuove tecnologie al linguaggio?
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
11. Interprete RPG – Verso un RPG migliore
La nostra ipotesi di lavoro:
creare un interprete RPG
- Open Source
- Portabile: funzionante sia su IBM i,
sia su altre piattaforme (Kotlin + ANTLR)
- Estendibile
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
12. Interprete RPG – Da RPG a DSL
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
13. Interprete RPG – Estensioni – Test unitari
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
14. Interprete RPG – Ecosistema moderno
• Test unitari
• Editor
• Debugger
• Version Control System
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Effetti collaterali:
15. Interprete RPG – Esempio flusso di lavoro
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
16. Interprete RPG – Visual Studio Code
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
https://github.com/smeup/smeup-rpg/blob/master/docs/visual_studio_code.md
17. Interprete RPG – Visual Studio Code
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
18. Interprete RPG – Smeup RPG
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
Abbiamo una grande squadra (grazie anche a Strumenta.com)
ma vogliamo anche te!
https://github.com/smeup/smeup-rpg
20. Interprete RPG – FizzBuzz: le regole del gioco
• Ricevo in ingresso un numero
• Se è divisibile per 3 restituisco ‘FIZZ’
• Se è divisibile per 5 restituisco ‘BUZZ’
• Se è divisibile per 3 e per 5 restituisco
‘FIZZBUZZ’
• Altrimenti restituisco il numero in
ingresso
8-9 Novembre 2019ITALIAN AGILE DAYS 2019
21.
22. Erbusco (BS) Sede Legale
Via Iseo, 43 – 25030
+39 030 7724111
Sedi del Gruppo Sme.UP
Paderno Dugnano (MI)
Via Varese 6/A – 20037
+39 02 910871
Rivoli (TO)
Via Pavia, 11/B – 10098
+39 011 906211
Savigliano (CN)
Corso Roma 54 – 12038
+39 0172 31412
Lecco (LC)
Via della Pergola, 73 – 23900
+39 0341 496864
Parma (PR)
Strada dei Mercati, 16/E – 43126
+39 0521 940611
Roma (RM)
Via Prenestina, 390 – 00171
+39 06 5940517
Vigonza (PD)
Via Trevisan 1, – 35010
+39 049 8936173
Modena (MO)
Via Canaletto, 164 – 41122
+39 059 451721
Reggio Emilia (RE)
Via A.Gramsci, 88/A -42124
+39 0522 516121
Brescia (BS)
Via Padova, 11 – 25125
+39 030 2585325
Villaverla (VI)
Piazza delle Fornaci, 4 – 36030
+39 0444 1835222
Vercelli (VC)
Corso Giuseppe Garibaldi, 51 – 13100
+39 0161 56924
Udine (UD)
Via Mantova 108/E, – 33100
+39 0432 540364
info@smeup.com
+39 030 7724111
SME UP S.p.A.
Via Iseo, 43 - 25030 Erbusco (BS)
www.smeup.com
Notas do Editor
Tecnologia e innovazione
Alison Butterill,
Guarda caso le tecnologie che girano sul mio portatile sono quelle che consentono il «DevOps». «Sulla mia macchina funzionava»