Python vs gli altri linguaggi

di Lorenzo Neri

Python vs C++, Python vs Javascript, Python vs Java, Python vs gli altri linguaggi. In questo articolo faremo un confronto fra Python e gli altri linguaggi di programmazione più noti.

Python è un linguaggio di programmazione molto amato a livello mondiale.

Con Python possiamo programmare e costruire tante cose, al contempo, molti si chiedono quali siano le differenze fra Python stesso e gli altri linguaggi di programmazione.

È un discorso lungo, ma ci arriviamo.

Un linguaggio per volta.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Python vs Java

In linea generale, Java è preferibile per la parte di produzione software, mentre Python per la sperimentazione. Non sempre è vero: Python si adatta a molti coninformaticoi di produzione per esempio.

Al contempo, Java è un linguaggio tipizzato in modo statico, oltre ad essere un linguaggio compilato, mentre Python è tipizzato in modo dinamico e si tratta di un linguaggio interpretato.

Per farla breve, ma breve breve, possiamo dire che Java è molto più veloce in fase di runtime e più semplice da debuggare: quest’ultimo punto è molto personale però.

In parallelo, Python, è molto più facile da leggere e comprendere. Queste sono anche le motivazioni più forti se ti stai chiedendo perchè studiare Python.

Passiamo agli altri linguaggi.

Python vs C++

C++ viene definito dai più innamorati dell’informatica come linguaggio general-purpose. C++ è pressoché l’evolutiva diretta del linguaggio C: ricordiamoci che senza Dennis Ritchie non avremmo il C, senza il C non avremmo interfacce grafiche, protocolli di rete, sistemi operativi… Io non sarei qui a scrivere su Wordpress, tu non saresti qua a leggere.

Chiarito il punto su Dennis Ritchie, a dire il vero anche Python viene considerato un linguaggio general-purpose. In termini meno tecnichesi, per “general purpose” si intende un linguaggio di programmazione con cui possiamo fare e concretizzare cose differenti fra loro.

Quindi, sia C++ sia Python sono due linguaggi multipotenziali.

Però cos’hanno di diverso fra loro? C++ ha una sintassi molto, ma molto più stringente, è un linguaggio a medio livello, cioè che non brilla affatto per facilità di lettura.

Di fatto C++, come ho scritto nel mio articolo legato all’imparare a programmare non è affatto un suggerimento che mi sento di darti, specialmente se parti da zero 😀

Python di fatto, risulta molto più ad alto livello.

Tuttavia, C++ è la cosa meno “macchina” più vicina al linguaggio macchina.

Questo significa che C++, poiché è compilato rispetto all’interpretazione di Python, risulta più “digeribile” dai processori.

Python vs PHP

Una cosa Python e PHP ce l’hanno in comune: sono entrambi interpretati.

PHP però, per quanto sia vicino al C come sintassi, non è così perfettino come quest’ultimo.

In termini di tipizzazione, dichiarazione delle variabili, PHP è permissivo tanto quanto Python.

Questo confronto però, si basa sulla destinazione d’uso: altrimenti non avrebbe senso farlo.

Mi spiego meglio: se parliamo di PHP, parliamo di sviluppo web.

PHP a differenza di Python, è più economico: semplicemente i server web per eseguire PHP costano molto meno rispetto a una macchina dedicata per eseguire Python a parità di potenza di calcolo e costi.

Questo significa anche un’altra cosa importante: PHP è ben integrato con i database, è vecchio e questo significa che ha maggior documentazione e più persone con cui confrontarti per eventuali problematiche.

PHP però, fa abbastanza schifo se paragonato per altre cose a Python.

Per esempio, il debugging è molto più semplicemente con Python, è più immediato e non richiede un server web per poterlo fare.

PHP tra l’altro, non è general-purpose: ci costruisci il back-end dei servizi web, ci costruisci le API, fine.

Tuttavia Python se paragonato a PHP perde per un piccolo dettaglio: la compilazione e l’esecuzione in PHP è circa 3 volte più rapida.

Python vs Javascript

Javascript così come PHP non è general-purpose. O meglio: ci prova per alcune destinazioni d’uso, ma non lo è.

Javascript viene usato principalmente per le interfacce web.

A differenza di Python, Javascript non ha il concetto di mutabilità e immutabilità per i tipi: l’esempio base delle liste e dei set in Python fa riferimento a ciò.

Ci sono altre differenze legate per lo più alla tipizzazione: sia Python sia Javascript hanno una tipizzazione molto dinamica, Javascript anche troppo, ma ad esempio Javascript ha gli array, Python no.

O meglio: le liste dovrebbero essere una sorta di array, ma non lo sono.

Python diciamo che, pur essendo tipizzato dinamicamente, se paragonato a Javascript ha una tipizzazione molto più forte.

Python al contempo però, non è affatto pratico e comodo per realizzare la parte front-end dei servizi web.

Javascript al contempo, è parecchio macchinoso se usato per analisi dati, analisi matematica o machine-learning.

Python vs Matlab

Sì, qua non parliamo di un linguaggio di programmazione vero e proprio: lo ammetto.

Ho voluto inserire il confronto con Matlab perchè so che è molto amato da diverse figure professionali che sono indecise su chi imparare: magari sei tu una di queste!

Partiamo dal presupposto numero uno: Matlab è interamente closed source, Python no.

Questo significa che l’azienda proprietaria di Matlab non ti permette di aggiungere funzionalità al tuo codice a meno che non sono prodotte dall’azienda stessa.

In sintesi meno tecnichese: hai bisogno di un modulo o di una funzione che non esiste? Devi chiedere a Matlab e se ti dicono “no”, ahimè… Ti attaccchi.

Di comune però, hanno che sono entrambi linguaggi interpretati, sono entrambi di alto livello ed entrambi possono operare su tante architetture diverse.

Al contempo, Python può essere pressoché programmato e scritto con qualsiasi ambiente di sviluppo, persino con il blocco note: Matlab no.

Matlab però, pur non essendo un linguaggio di programmazione nel senso stretto, è ancora più semplice da imparare di Python.

Attenzione però: ho detto “imparare”, NON “imparare a programmare”.

Continua a scoprire di più con questi articoli!

Lascia un commento


The reCAPTCHA verification period has expired. Please reload the page.

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più