Come iniziare a scrivere codice in Python: software a confronto

python

Cosa sono i linguaggi di programmazione

I linguaggi di programmazione sono i mezzi attraverso il quale un umano è in grado di impartire un ordine o istruzione al computer e quest’ultimo la esegue.

Le istruzioni sono impartite con una sintassi a noi comprensibile che poi verrà convertita dal compilatore in linguaggio macchina, o per meglio dire, codice binario (una sequenza di 0 e di 1, unico codice che il computer è in grado di leggere).

Le istruzioni date alla macchina vengono chiamate codice sorgente e vi sono vari linguaggi in cui può essere scritto.

Cos’è Python

Python è uno dei linguaggi di programmazione di cui si sente più parlare negli ultimi tempi. È un linguaggio di alto livello, orientato agli oggetti, gratuito e open source (aperto a tutti gli sviluppatori). È in continuo aggiornamento, con nuove funzioni e librerie introdotte di secondo in secondo nel programma. Proprio per questo viene definito come uno dei linguaggi di programmazione più semplici e versatili che esistano.

Venne creato a metà anni Novanta per lo sviluppo web da Guido van Rossum, ma ben presto iniziò ad essere usato in più settori. Oltre allo sviluppo web, questo linguaggio di programmazione permette di lavorare nei big data per l’estrapolazione dei dati. Inoltre, viene utilizzato nel machine learning per l’automazione delle macchine e tanti altri ambiti, tenendo sempre fede alla sua facilità d’utilizzo.

Dagli anni Novanta ad oggi siamo arrivati alla versione di Python 3,8 che lo rende uno dei programmi più aggiornati di sempre.

Le caratteristiche di Python

Prima di tutto Python è un linguaggio multi paradigma, supportando così il paradigma di programmazione orientata agli oggetti, strutturata e funzionale. Ma andiamo con ordine, cos’è un paradigma?

Un paradigma, in informatica, rappresenta uno stile di programmazione e di conseguenza il metodo di stesura della sintassi. Per esempio, il paradigma di programmazione orientata agli oggetti è quella più in uso e si basa su dei collegamenti di vari oggetti software che interagiscono fra di loro.

Un’altra caratteristica che ha estrema rilevanza è che Python non è propriamente un linguaggio interpretato. Questo vuol dire che il codice sorgente realizzato con Python non viene codificato subito in linguaggio macchina. Infatti, viene prima letto in un linguaggio intermedio, il bytecode, per poi diventare linguaggio macchina. Eseguire un programma in questo modo ne velocizza i tempi di apertura migliorandone le prestazioni.

Infine, la presenza di variabili non tipizzate rende Python un linguaggio dinamico. Qualsiasi variabile può essere interscambiata e il programma continuerà ad eseguirsi indipendentemente da questo.

Come lanciare Python

Prima di poter eseguire un codice realizzato con Python bisogna installare il programma sul pc. È disponibile per sistemi operativi Windows, Mac OS e Linux (in questo caso potrai trovarlo già scaricato). Una volta scaricato e installato, basterà scrivere il codice di interesse per poi salvarlo con l’estensione “.py”.

Per lanciare il programma basterà scrivere “python3” seguito dal nome del file e dall’estensione “.py”. In alternativa si può utilizzare la stesura “python3” accompagnata dalla funzione “>>>” e dal file con l’estensione. Con questa funzione si ha la possibilità di avviare delle piccole istruzioni direttamente dalla console di comando di Python.

I dati e i tipi di variabili in Python

Iniziamo definendo le variabili dei contenitori di dati. Vien da sé che un compilatore non è in grado di interpretare il dato inserito nella variabile ed esistendone diversi, vanno specificati. Per i numeri esistono due tipi di dato:

  • Float, che rappresenta un numero decimale (Es. 6,88 – 76,34).
  • Integer, che invece rappresentano i numeri interi (Es. 6 – 8 – 13 ecc…).
  • Le stringhe di testo (parole) sono indicate con “str”.
  • I dati che possono essere rappresentati solo con risposte come “true” o “false” sono definiti booleani e vengono rappresentati dalla dicitura “bool”.

Come anticipato, questo è un linguaggio dinamico e ciò che è contenuto nelle variabili, non essendo tipizzate, non fa differenza. Ma come funzionano le variabili?

Esempio:

  • Name = “Mario”
  • Surname = ”Rossi”
  • Age=”20”

Name, Surname e Age saranno le variabili e i valori alla sinistra dell’uguaglianza i dati. Se, per caso, si dovessero invertire Age e Name in termini di dati, per il compilatore di Python non ci sarà differenza. Ciò che conta realmente sarà inserire le virgolette ai dati. Tutto quello che non le presenta Python li legge come dati.

I diversi operatori di Python

Una persona alle prime armi con i linguaggi di programmazione, ma in generale sull’uso del computer oltre gli operatori riguardanti l’addizione “+” e la sottrazione “-”, non ne conoscerà così tanti. Sono infatti utilizzabili tasti come “*” per la moltiplicazione, “/” per la divisione, “**” per una funzione esponenziale, “//” per una divisione intera (senza decimali) e “%” per il modulo, per modulo si intende il calcolo del resto di una divisione.

Gli operatori per le stringhe

Con questo operatore è possibile porre una domanda al computer del tipo, “è presente nella stringa A il dato B?”. In parole povere:

>>> “Mario” in “Mario è in classe?”

True

>>> “stanza” in “Mario è in classe?”

False

La risposta che verrà riportata sarà sempre un booleano (risposta o vera o falsa) riguardante la ricerca in una stringa un dato specifico.

Gli ultimi operatori che possono essere usati anche sulle stringhe sono l’addizione e la moltiplicazione.

Per esempio:

>>> “x” + “y”

“xy”

>>> “a” * 3

“aaa”

Le funzioni di Python

Le funzioni sono dei codici che lo sviluppatore può riutilizzare in qualsiasi momento dopo la loro scrittura.

Per creare una funzione si inserisce prima la parola “def” accompagnata dal nome che si vuole dare alla funzione, dopodiché occorreranno le parentesi tonde e infine, i “:”

La sintassi è la seguente:

def funzione ().

Se però questa funzione non è accompagnata da un’operazione non avrà nessuna utilità, occorrerà infatti inserire delle variabili.

Per esempio:

def funzione_somma ()

return = 2 + 2

somma = funzione_somma ()

Ciò sta a significare che quando si andrà a richiamare la funzione_somma, questa assumerà sempre l’operazione da noi assegnata.

Esistono tante altre funzioni che invece, col solo utilizzo già svolgono una funzione ben precisa.

La funzione print (tradotta in stampa) sta a significare che qualsiasi variabile può essere stampata e visualizzata da qualche parte. Continuando con il nostro esempio:

def funzione_somma () :

return = 2 + 2

somma = funzione_somma ()

Dopo aver richiamato la funzione_somma nella variabile somma basterà utilizzare la funzione print seguita dalla variabile tra parentesi per stamparla:

print (somma)

Eseguendo la funzione con “python3 somma.py” nella console apparirà il risultato della somma, ovvero 4.

Questa è solo una piccola introduzione per i neofiti al mondo della programmazione e in particolare, iniziare a programmare in Python. Sono tanti concetti da conoscere e, per chi volesse impararlo bene, c’è il corso python di MAC Formazione a dare la giusta preparazione a seconda del settore in cui si vuole lavorare, puoi trovare maggiori informazioni al seguente link: https://www.macformazione.com/corso-python/.

Ma perché bisognerebbe preferire questo linguaggio di programmazione rispetto ad altri? Ci sono delle differenze? Analizziamo tutte le opportunità e i competitor insieme!

Software a confronto

La programmazione è ricca di linguaggi e ogni giorno ne nascono di nuovi, Python, nonostante sia nato più di trent’anni fa, è il linguaggio più in voga del momento in quanto ritenuto un linguaggio semplice da imparare. Come dicevamo, Python può avere vari utilizzi, dalla creazione di siti web, alle applicazioni fino all’analisi dei dati nel settore dei big data e, a seconda del settore in cui viene usato, può avere vari altri linguaggi di programmazione come competitor.

Sviluppo web

Per sviluppo web si intende la creazione di pagine web da 0 operando sia nel front end che nel back end del sito. Python in questo caso può essere sfruttato in due modi:

  • Il primo riguarda lo sviluppo di un sito col solo utilizzo del linguaggio di programmazione, dovendo anche realizzare tutti i collegamenti tra le varie pagine con funzioni create dallo sviluppatore.
  • Il secondo è affidarsi a dei framework (es. Django e Flask), per la struttura del sito. Nei framework sono riportate quante più funzioni che semplificano il lavoro allo sviluppatore che si troverà a scrivere meno codice, ottenendo sempre un ottimo risultato.

Le alternative sono due:

La prima è Javascript. Questo linguaggio viene utilizzato esclusivamente come programma di scripting nella realizzazione di un sito front end. Ha funzioni che permettono di animare il sito per renderlo più dinamico. Al giorno d’oggi su qualsiasi pagina è presente il tasto per tornare all’indice o il tasto per ampliare il testo, questi sono realizzati interamente con Javascript.

La seconda è il linguaggio che chiunque lavori sul web dovrebbe conoscere, PHP (acronimo di Personal Home Page). Si tratta di un linguaggio che permette di creare i collegamenti tra quello che vede il client (o utente finale) nel front end, con il server e il database per la registrazione dei dati. È usabile sia su sistemi operativi Windows sia su Linux.

Nonostante la facilità di utilizzo di Python, in questo settore ci sono linguaggi ormai ritenuti fondamentali per un eventuale lavoro da web developer. Infatti, negli ultimi anni è sempre più in calo l’uso di questo linguaggio a favore di quelli sopra elencati. Resta comunque un ottimo consiglio per i principianti che vogliono capire la logica di programmazione del web.

Sviluppo app

La caratteristica di essere un linguaggio open source inizia a portare migliorie dal campo dello sviluppo app (chiamato anche sviluppo applicazioni desktop), due delle librerie più utilizzate sono la Tkinter e la wxPython.

Con queste librerie si possono creare interfacce grafiche (GUI) funzionali e leggere, che girino facilmente su qualsiasi dispositivo. Di alternative in questo campo ce ne sono di varie e sono rappresentate da linguaggi di programmazione come:

Java

Ad oggi è il linguaggio più conosciuto in ambito professionale. Nato nel 1995, deve la sua iniziale diffusione alla facilità di scrittura in confronto a linguaggi più vecchi come C e C++. Venne creato con l’idea di semplificare il lavoro dello sviluppatore non dovendo riscrivere il codice al cambio della piattaforma utilizzata.

Il claim utilizzato è sempre stato “Write Once, Run Anywhere”, proprio a simboleggiare questa facilità. Nello sviluppo app è stato per anni il linguaggio più utilizzato per la realizzazione di applicazioni web e giochi per android.

C e C++

Entrambi linguaggi sviluppati da Microsoft, il linguaggio di programmazione C, è tra i primi linguaggi ad esser stati sviluppati e diffusi al mondo. È sulla base di questo che nella metà degli anni Ottanta venne creato C++.

Ancora oggi fra i programmi più richiesti lavorativamente parlando, ma che sta perdendo il suo appeal per via della difficoltà della sintassi che presenta.

Negli anni sono stati realizzati programmi del calibro di Adobe Photoshop e la suite di Microsoft Office a simboleggiare quanto questo programma sia potente.

C#

Infine, un altro linguaggio sviluppato da Microsoft.

C# è il linguaggio di programmazione che più di tutti compete con Java e Python nella realizzazione di interfacce grafiche. Il suo far parte alla famiglia Microsoft ne fa capire la longevità che può avere, oltre che le sue immense potenzialità. Dà il meglio di sé con il compilatore di casa Microsoft, Visual Studio, tramite il quale si semplifica il lavoro svolto dallo sviluppatore.

Con l’uso di librerie di Python come Tkinter e wxPython, questo linguaggio si gioca il primo posto del podio dei linguaggi più usati nello sviluppo app con Java. Le offerte di lavoro però, dicono tutt’altro, resta un ottimo linguaggio per imparare a programmare, ma nelle richieste lavorative avranno sempre la meglio i linguaggi di Microsoft e Java per via della loro iniziale diffusione che li ha resi conosciuti in tutto il mondo.

Sviluppo videogame

Ennesimo traguardo di Python è stato quello di arrivare al mondo dei videogiochi.

Electronic Arts (EA), casa produttrice dello sparatutto in prima persona “Battlefield” si affidò a programmatori Python per la creazione di alcuni giochi della saga.

Anche in questo caso la vastità di risorse messe a disposizione da questo linguaggio di programmazione è impareggiabile, con librerie del calibro di PyGame e PyKyra che se accompagnate da un buon motore grafico assicurano la realizzazione di un videogioco di prima fascia come Battlefield 2.

Anche in questo caso i linguaggi di programmazione da battere sono due: Java e C++

Data science

Fino ad adesso abbiamo considerato Python come un buon linguaggio “entry level”, ma nulla di rilevante in relazione all’ambito lavorativo in questione.

La svolta arriva nel mondo dell’analisi dei dati, ma in generale in tutta la data science.

Parole come data mining, intelligenza artificiale e analisi dei big data, sono solo alcune di quelle di cui si sente un gran parlare.

Tutte queste parole in realtà sono professioni che fanno parte del più grande mondo della data science (scienza dei dati). Andiamo con ordine.

Data analysis

Python deve la sua diffusione e popolarità proprio al ramo dell’analisi dei dati.

È fra le figure più richieste in azienda e i programmi che permettono di svolgere il ruolo di data analyst, cioè l’estrapolazione e la manipolazione dei dati, sono pochi e fra questi c’è Python.

Esistono librerie come SciPy che permettono l’uso di funzioni statistiche per la gestione dei dati.

Altro programma di cui si sente parlare molto nell’ambiente dell’analisi dati è Matlab, si tratta di un programma di calcolo sviluppato sulla base del linguaggio di programmazione C. Questo programma viene spesso integrato alle librerie scientifiche di Python come la SciPy per migliorarne l’utilizzo.

Per chi fosse interessato a questa strada ci sono poche alternative, imparare python e le librerie associate è la scelta adatta.

Machine learning

Il machine learning (o apprendimento automatico) è uno degli indirizzi che può avere l’intelligenza artificiale. Si parla di machine learning come lavoro del futuro per l’automazione delle macchine, ma è già realtà! Anche in questo caso vengono in aiuto delle librerie di Python contenenti degli algoritmi automatizzati che permettono, con lo studio mirato di questo programma, di lavorare nel mondo dell’automazione digitale. Librerie come la Scikit-Learn o la NLTK, sono all’ordine del giorno per chi si occupa già di machine learning per lavoro.

Unico programma degno di essere preso in considerazione per sostituire Python nel settore della data science è R. Si tratta di un linguaggio di programmazione sviluppato interamente per l’analisi statistica che ha iniziato a diffondersi agli inizi degli anni 2000. Usato molto spesso nelle università, ma è in crescendo la richiesta da parte degli studenti universitari di utilizzare Python perché di più semplice comprensione.

Conclusione

Per chiunque fosse interessato ad entrare nel mondo della programmazione, un linguaggio come Python è sicuramente l’ideale! Dalla sua ha una semplicità d’uso che lo pone sopra tutti i linguaggi di programmazione esistenti, delle librerie che consentono di entrare nel mondo del machine learning e del data analysis e delle sintassi chiare a qualsiasi utilizzatore, navigato e non, nella programmazione.

Come contro non si può non dire che vuoi per funzioni che gli altri linguaggi posseggono e Python no, vuoi per una scarsa diffusione del linguaggio in alcuni territori, nei settori della programmazione web e dello sviluppo app, non è fra i primi linguaggi ad essere usati in azienda.

ascesso dentale Previous post Ascesso dentale: quante tipologie esistono?
server dedicato Next post Server dedicato o Cloud? 7 motivi per scegliere un dedicato