63
Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63

Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

  • Upload
    others

  • View
    3

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Introduzione alla programmazione, conJavaScript

Linux Day Torino 2016 - Luigi Maselli

1 / 63

Page 2: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

1. Perché saper programmare è importante2. Cosa significa essere uno sviluppatore3. Perché il linguaggio di programmazione JavaScript

Da dove iniziare e un Esempio pratico

2 / 63

Page 3: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

bio / contatti

Luigi Masellisoftware developer 10+y / founder corso-javascript.it

3 / 63

Page 4: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

bio / contatti

Luigi Masellisoftware developer 10+y / founder corso-javascript.itweb: https://grigio.orggithub: grigiotwitter: @grigi0

4 / 63

Page 5: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Perché saper programmare è importante?

5 / 63

Page 6: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

La programmazione è un insieme di: logica,architettura, creatività e management

6 / 63

Page 7: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Se qualcosa può essere automatizzato ci sarà qualche programmatore /imprenditore che lo realizzerà

7 / 63

Page 8: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Il lavoro ripetitivo è pagato sempre meno e/o fatto da macchine

8 / 63

Page 9: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Barriere d'ingresso basse, basta un qualsiasi computer

9 / 63

Page 10: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Recap: Perché saper programmare è importante?

10 / 63

Page 11: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Recap: Perché saper programmare è importante?Automatizzare ci fa risparmiare tempo, può essere creativo, ed meglioautomatizzare che "essere automatizzato"

11 / 63

Page 12: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Cosa significa essere uno sviluppatore?

12 / 63

Page 13: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Conoscere: 1+ linguaggio, 1+ piattaforma, 1+ settore -> problem solved :)

13 / 63

Page 14: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Linguaggiojavascript + ecosistemajavarubypythonphp...

Piattaformaclient: web, ios, androidserver: protocollo HTTP,database,..gaming: 2D, 3D,..machine learningbitcoin / cryptovalutehardware...

Settore(un minimo)medicinaeconomiaUX/UI user experiencestatisticafinanza / tradingfisica...

Conoscere: 1+ linguaggio, 1+ piattaforma, 1+ settore -> problem solved :)

14 / 63

Page 15: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Conoscere: il contesto (cliente e il progetto)

15 / 63

Page 16: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

SaasWix...

CMSWordpressMagento (ecommerce)...

CustomQualcosa che non esiste...

Conoscere: il contesto (cliente e il progetto)

16 / 63

Page 17: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Falsi miti

17 / 63

Page 18: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Dagli stessi creatori di..

18 / 63

Page 19: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Web 2.0

19 / 63

Page 20: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Web 2.0OpenData

20 / 63

Page 21: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Web 2.0OpenDataSmartCity

21 / 63

Page 22: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Web 2.0OpenDataSmartCityCloud

22 / 63

Page 23: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Web 2.0OpenDataSmartCityCloudIndustria 4.0

23 / 63

Page 24: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

il "Coding"

24 / 63

Page 25: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Informazione mainstream, crea bolle inesistenti

25 / 63

Page 26: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Saper "scrivere codice" ha che fare con laprogrammazione quanto "saper tagliare la carne"ha che fare con la chirurgia

26 / 63

Page 27: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Il fatto che un software "funzioni" non significa,che va tutto bene

27 / 63

Page 28: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

28 / 63

Page 29: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

29 / 63

Page 30: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Mantenimento: non tutte le "piccole modifiche"sono sempre possibili senza ripartire

30 / 63

Page 31: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

31 / 63

Page 32: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Frustrazione

32 / 63

Page 33: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Cose belle

33 / 63

Page 34: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Cose bellePuoi lavorare per chiunque, ovunque (remote working)

34 / 63

Page 35: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Cose bellePuoi lavorare per chiunque, ovunque (remote working)La sintassi dei linguaggi è abbastanza simile

35 / 63

Page 36: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Cose bellePuoi lavorare per chiunque, ovunque (remote working)La sintassi dei linguaggi è abbastanza similePuoi integrare sw open source (e non partire da zero)

36 / 63

Page 37: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Cose bellePuoi lavorare per chiunque, ovunque (remote working)La sintassi dei linguaggi è abbastanza similePuoi integrare sw open source (e non partire da zero)Nessuna barriera d'ingresso. community, doc, forum online

37 / 63

Page 38: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Cose bellePuoi lavorare per chiunque, ovunque (remote working)La sintassi dei linguaggi è abbastanza similePuoi integrare sw open source (e non partire da zero)Nessuna barriera d'ingresso. community, doc, forum onlineÈ più facile fare Flappy Bird che vincere alla lotteria

38 / 63

Page 39: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Recap: Cosa significa programmare?

39 / 63

Page 40: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Recap: Cosa significa programmare?Problem solving e sperimentazione (non si finisce mai di imparare)

40 / 63

Page 41: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Recap: Cosa significa programmare?Problem solving e sperimentazione (non si finisce mai di imparare)Avere una visione micro/macro del contesto

41 / 63

Page 42: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Recap: Cosa significa programmare?Problem solving e sperimentazione (non si finisce mai di imparare)Avere una visione micro/macro del contestoInnovazione !== "cose nuove", bisogna conviverci

42 / 63

Page 43: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Recap: Cosa significa programmare?Problem solving e sperimentazione (non si finisce mai di imparare)Avere una visione micro/macro del contestoInnovazione !== "cose nuove", bisogna conviverciIl "codice" è un mezzo, non il fine!

43 / 63

Page 44: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Perché JavaScript?

44 / 63

Page 45: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esiste da 20+ anni, non dipende da una singola azienda, documentato

45 / 63

Page 46: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esiste da 20+ anni, non dipende da una singola azienda, documentatoÈ su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, iOS..

46 / 63

Page 47: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esiste da 20+ anni, non dipende da una singola azienda, documentatoÈ su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, iOS..È veloce

47 / 63

Page 48: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esiste da 20+ anni, non dipende da una singola azienda, documentatoÈ su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, iOS..È veloceÈ multiparadigma (funzionale, oggetti)

48 / 63

Page 49: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esiste da 20+ anni, non dipende da una singola azienda, documentatoÈ su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, iOS..È veloceÈ multiparadigma (funzionale, oggetti)-_- Errori. (Flow,TypeScript)

49 / 63

Page 50: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esiste da 20+ anni, non dipende da una singola azienda, documentatoÈ su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, iOS..È veloceÈ multiparadigma (funzionale, oggetti)-_- Errori. (Flow,TypeScript)-_- Frammentato, best practise cambiano

50 / 63

Page 51: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esiste da 20+ anni, non dipende da una singola azienda, documentatoÈ su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, iOS..È veloceÈ multiparadigma (funzionale, oggetti)-_- Errori. (Flow,TypeScript)-_- Frammentato, best practise cambiano-_- Il fatto che funzioni non significa che sia il giusto strumento per tutti i problemi

51 / 63

Page 52: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Sintassi JavaScript / NodeJSin breve

52 / 63

Page 53: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

// variabili / strutture datilet eta = 60const nome = 'Pippo';let coord = { lat: 45.1, lon: 7.9,}let temperatures = [20, 21, 25, 23]

53 / 63

Page 54: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

// ciclifor (let i = 0; i < temperatures.length; i += 1) { console.log('temp '+ temperatures[i])}

temperatures.map((el) => { console.log('temp ' + el)})

54 / 63

Page 55: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

// logicaif (condizione === true) { faiQuesto()} else { faiQuello()}

55 / 63

Page 56: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

// funzionifunction saluta(nome) { console.log('ciao ,' + nome)}

saluta('Alice') // -> ciao, Alice

56 / 63

Page 57: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Esempiocome scrivere codice senza scriverlo

57 / 63

Page 58: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Da dove iniziare?Scratch (bambini)

58 / 63

Page 59: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Da dove iniziare?Scratch (bambini)Coding with Chrome (adulti)

59 / 63

Page 60: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Da dove iniziare?Scratch (bambini)Coding with Chrome (adulti)Imparare dagli altri sviluppatori su GitHub

60 / 63

Page 61: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Da dove iniziare?Scratch (bambini)Coding with Chrome (adulti)Imparare dagli altri sviluppatori su GitHub..e corsi, università, video, formazione della regione, libri.. ? (Valutarecaso per caso in base ad argomenti e propri interessi)

61 / 63

Page 62: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Domande ?

62 / 63

Page 63: Introduzione alla programmazione, con JavaScript...Introduzione alla programmazione, con JavaScript Linux Day Torino 2016 - Luigi Maselli 1 / 63 1. Perché saper programmare è importante

Grazie per l'ascolto

63 / 63