Il 0% ha trovato utile questo documento (0 voti)
26 visualizzazioni52 pagine

Slide Del Corso Base Di Programmazione

Corso Base di Programmazione

Caricato da

mauryx1971
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
26 visualizzazioni52 pagine

Slide Del Corso Base Di Programmazione

Corso Base di Programmazione

Caricato da

mauryx1971
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 52

Programmazione per principianti

I fondamentali della programmazione


per principianti.
Il tuo docente

Manuel Ricci
Programmatore Full Stack
Agenda del corso

• Concetti base della programmazione


moderna
• Cosa serve per programmare un app
per dispositivi mobili.
• Cosa serve per programmare un
software
• Cosa serve per programmare un sito
web o web app
01
Introduzione
Cosa significa programmare?

Letteralmente è l’attività di scrivere


programmi per computer.

Ma in realtà la programmazione è molto


di più…
Il computer

Un computer è tale quando soddisfa


quattro caratteristiche:

● Input
● Processo
● Memorizzazione
● Output
Il computer

Le tipologie di computer:

● Workstation
● Server
● Laptop
● Tablet
● Smartphone
● Smart Device
● IoT
Il computer

Gli elementi comuni tra i device:

● Hardware
● Memoria/storage
● Software
I software

Ci sono vari tipi di software:

● OS
● Application software
● Drivers
● Firmware
I linguaggi di programmazione

Mentre le macchine comunicano con gli 1


e gli 0, per noi esseri umani è necessario
qualcosa di più intuitivo.

Quel qualcosa sono i linguaggi di


programmazione, che sono letteralmente
dei linguaggi, che ci permettono di
impartire dei comandi alla macchina.
I linguaggi di programmazione

I linguaggi principalmente sono divisi in


due macro categorie:

● Basso livello
● Alto livello
Basso livello
Alto livello
I linguaggi di programmazione

I linguaggi infine possono essere:

● Compilati
● Interpretati
Compilati

La compilazione è quel processo dove


l’intero codice viene convertito in
linguaggio macchina e scritto in un file
binario che potrà essere eseguito dal
computer (anche non nell’immediato).

Codici compilati: C, C++, Go


Compilati

Codice sorgente

Compilazione

file:
linguaggio macchina
Esecuzione

Programma in
esecuzione
Interpretati

L’interpretazione è invece quel processo


dove il codice viene eseguito riga per riga.
L’azione è compiuta da un apposito
programma chiamato interprete.

Codici interpretati: Python, Ruby, PHP


Interpretati

Codice sorgente

Esecuzione riga
per riga
(viene sempre
convertito in
binario)

Programma in
esecuzione
Frontend e backend

● Frontend: Fa riferimento
all’interfaccia grafica (UI) di un
applicativo.
● Backend: Fa riferimento alla parte
funzionale di un applicativo.
Frontend e backend

I developer che operano in questi due


settori sono il frontend developer che si
occupa di implementare l’interfaccia
grafica prodotta da uno UI designer.

Il backend developer, invece, sviluppa


tutto il sistema che permette
all’applicativo di funzionare
correttamente.
Un esempio

Un utente visualizza la pagina di un prodotto


> clicca il pulsante “Aggiungi al carrello” >
rivede il carrello > completa l’acquisto
pagando con la carta di credito.

Il modo in cui queste pagine vengono


presentate è opera del frontend developer
che sviluppa e inserisce i vari componenti
(pezzi). Il fatto che il prodotto venga aggiunto
al carrello e che l’utente acquisti con la carta
di credito è opera del backend developer.
02
Programmare un’ app
Ecosistemi

Gli ecosistemi sono due:


Android

In Android la maggior parte delle


applicazioni è sviluppata in:
iOS

In iOS la maggior parte delle applicazioni


è sviluppata in:
Cross Platform

Se non si vogliono gestire sorgenti


differenti per le due piattaforme si può
sempre optare per:
Cosa posso creare?

Come app developer puoi creare:

● Basta aprire lo store di Apple o


Google per avere un’idea di cosa si
può fare.
Limiti

I limiti principali delle app sono:

● Connettività (non tutte)


● Performance del device navigante
● Numero di dispositivi elevatissimo
(soprattutto su Android)
● Far installare un app non è sempre
così semplice
03
Programmare un
software
Ecosistemi

Gli ecosistemi sono principalmente due:

● Windows
● Unix
○ Sistemi basati su Linux
○ MacOS
Linguaggi di programmazione

Un software può essere sviluppato in:


Cosa posso creare?

Come software developer puoi creare:

● Programmi di vario genere e con


diverse funzionalità (es. browser,
editor di testo, ecc.)
● Software specifici per specifici
obiettivi aziendali (gestionali,
controllo accessi, ecc.)
Limiti

I limiti principali dei software sono:

● Performance del computer che


esegue il software
● Compatibilità con un elevato
numero di sistemi
04
Programmare un
sito web
Ecosistemi

L’ecosistema è uno: il web.

Il web è navigabile attraverso vari


browser, da vari dispositivi, di varie
risoluzioni e dimensioni di schermo.

I due attori principali del web sono:

● Client
● Server
Client

Il nostro computer o il dispositivo che sta


navigando il web attraverso un browser o
un software che permetta di interfacciarsi
con i suoi protocolli.

Il client invia richieste e riceve risposte le


quali vengono elaborate producendo un
risultato (visualizzazione di una pagina
web, download di un file, riproduzione di
un video, ecc.)
Server

Il computer, non sempre fisico, che si


trova dall’altra parte della comunicazione
iniziata dal client.

Risponde alle richieste del client inviando


le risorse. In alcuni casi potrebbero
essere necessarie azioni ulteriori da parte
del server come l’interpretazione di un
linguaggio server side (es. PHP) prima di
inviare la risposta al client.
I linguaggi di programmazione

Come due sono i protagonisti, due sono


le tipologie di linguaggi di
programmazione:

● Client Side
● Server Side
Client side
👀 Occhio…
Server Side
Cosa posso creare?

Come web developer puoi creare:

● Siti web
● Applicazioni web based
● Videogame
Limiti

I limiti principali delle applicazioni web


based sono:

● Connettività
● Performance del device navigante

Per quanto riguarda quello che si può


fare il limite è solamente la fantasia.
05
Quale percorso
intraprendere
06
Q&A
06.1
FAQ
FAQ

● Devo conoscere la matematica per


saper programmare?
● Come faccio a sapere cosa
imparare e cosa no?
● La programmazione è un settore
women friendly?
● C’è un’età giusta per iniziare a
programmare?
● Come scelgo il percorso giusto?
● Essere full stack developer è
considerato svantaggioso?
FAQ

● Ho bisogno di un computer
potente per iniziare a
programmare?
● Quali sono le skill che un
programmatore deve avere?
● Si guadagna tanto come
programmatori?
● Devo imparare tutto a memoria?
● Le IA sostituiranno mai i
programmatori?
FAQ

● Come programmatore sarò capace


di mettere a posto le stampanti?
Conclusioni
Cosa abbiamo visto

• Concetti base della programmazione


moderna
• Cosa serve per programmare un app
per dispositivi mobili.
• Cosa serve per programmare un sito
web o web app
• Cosa serve per programmare un
software
CONTATTI

Manuel Ricci

[email protected]

webtea.it

Potrebbero piacerti anche