---
title: "Come imparare un nuovo linguaggio di programmazione quest'estate"
date: "2021-07-21"
categories: 
  - "development"
  - "json"
  - "software"
  - "technology"
  - "xquery"
tags: 
  - "altova-online-training"
  - "c"
  - "java"
  - "mobile-development"
  - "xquery"
description: Esplorate i linguaggi di programmazione fondamentali come C, Java e Python per migliorare le vostre competenze nello sviluppo software. Scoprite consigli utili per scegliere il linguaggio più adatto da imparare.
---
Status: #blog

Tags:  #altova-online-training #c #java #mobile-development #xquery

Categories: [development](/blog/it/category/development.md) 
# Come imparare un nuovo linguaggio di programmazione quest'estate

Quale obiettivo migliore potresti fissarti per l'estate se non imparare un nuovo linguaggio di programmazione? Dimentica i "libri da spiaggia" quest'estate e concentrati sull'apprendimento di un nuovo linguaggio di programmazione: ma quale dovresti scegliere?

Secondo i dati di [EDC](https://evansdata.com/press/viewRelease.php?pressID=278), ci sono circa 24 milioni di sviluppatori di software professionisti nel mondo, e quasi 700 linguaggi di programmazione notevoli (secondo [Wikipedia](https://en.wikipedia.org/wiki/List_of_programming_languages)). Scommetterei che ci siano un numero altrettanto elevato di risorse online dove è possibile imparare uno o più linguaggi di programmazione. Che siate già uno degli 11 milioni di esperti di programmazione o che siate alle prime armi, esiste una grande quantità di informazioni da consultare.

Per gli scopi di questo articolo del blog, analizzeremo sicuramente la situazione a livello globale [I linguaggi di programmazione più utilizzati nel 2021](https://bootcamp.berkeley.edu/blog/most-in-demand-programming-languages/), ma anche di linguaggi importanti per la manipolazione e l'interrogazione dei dati, quindi discuteremo di: C e dei suoi derivati (C++, C#, e Objective-C), Java, Python, R, JavaScript, Ruby, SQL e XQuery.

La scelta di dove iniziare dipende interamente dal tipo di scenari di sviluppo che avete in mente, quindi abbiamo suddiviso le informazioni per semplivarvi il compito. Non importa se siete programmatori esperti che desiderano aggiungere un nuovo linguaggio al vostro bagaglio di competenze, oppure se siete principianti che non conoscono ancora la differenza tra C, C++, Objective-C o C#. Abbiamo preparato una serie di spiegazioni per aiutarvi a scegliere quale linguaggio potresti voler imparare successivamente.

![shutterstock_416174497_700py](/blog/images/shutterstock_416174497_700py.png)

<!--more-->

Prima di addentrarci nei dettagli di ogni linguaggio di programmazione, parliamo delle sei principali aree in cui questi linguaggi sono utilizzati oggi e di quali linguaggi potrebbero essere utili in diversi contesti. Questo vi fornirà una panoramica e vi darà un'idea preliminare di quale linguaggio potrebbe essere il più adatto alle vostre esigenze.

## **Applicazioni per dispositivi mobili**

Quando si desidera sviluppare applicazioni per smartphone o tablet, la scelta del linguaggio di programmazione è in gran parte determinata dalla piattaforma su cui si intende sviluppare. Se si vuole sviluppare per dispositivi iOS, il linguaggio standard è Objective-C; per Android, il linguaggio predefinito è Java; e per Microsoft Surface (e, in generale, per i dispositivi Windows 10 o 11), è C#. Se la vostra applicazione mobile richiede un server back-end che funzioni nel cloud, consultate il paragrafo sullo sviluppo lato server qui sotto per ulteriori informazioni sui linguaggi disponibili. Se desiderate raggiungere tutte e tre le piattaforme mobile e l'idea di dover imparare tutto contemporaneamente vi sembra eccessiva, vi consiglio di valutare strumenti multipiattaforma come [Altova MobileTogether](https://www.altova.com/it/mobiletogether), che consentono di creare un'unica applicazione mobile per tutte le piattaforme a partire da un'unica fonte, utilizzando XQuery e la programmazione visuale ActionTree.

## **Sviluppo web**

Per lo sviluppo di siti web, sia per dispositivi mobili che per browser tradizionali, il linguaggio di programmazione più utilizzato, che viene eseguito direttamente dal browser, è JavaScript. Certo, il contenuto principale del vostro sito web sarà scritto in HTML5 e, si spera, tutte le informazioni di stile saranno codificate in fogli di stile CSS3, ma questi non sono linguaggi di programmazione in sé. Finora, ho parlato solo della programmazione lato client.

## **Sviluppo lato server**

Che si tratti del backend di un'applicazione mobile o di un server web tradizionale, esistono numerosi linguaggi di programmazione adatti allo sviluppo lato server. Tra questi, Java, C#, Python, PHP e Ruby sono tra i più utilizzati. Questo vale sia per i server web tradizionali, ospitati su server dedicati, sia per i server basati su cloud, che potrebbero essere eseguiti sulle piattaforme cloud AWS o Azure.

## **Applicazioni classiche per PC e computer desktop**

Sebbene le applicazioni Java e Visual Basic siano talvolta utilizzate in ambienti aziendali, la maggior parte delle applicazioni desktop basate su PC sono state e continuano ad essere sviluppate in C, C++ o C#. Tuttavia, linguaggi come Python stanno guadagnando popolarità anche nel campo delle applicazioni desktop, in quanto vengono utilizzati come linguaggi di scripting per automatizzare attività comuni.

## **Calcolo scientifico**

Per l'analisi dei dati, la statistica e la matematica avanzata, esistono tre linguaggi specifici che sono comunemente utilizzati: Matlab, Mathematica e R. Basandosi semplicemente sulla popolarità, R ha superato gli altri due negli ultimi anni, quindi mi limiterò a discutere di R di seguito.

## **Dispositivi integrati e Internet delle cose**

Quando si parla di dispositivi embedded, C e C++ rimangono i linguaggi dominanti. Questo settore è sicuramente in continua evoluzione negli ultimi anni, poiché sempre più dispositivi embedded e IoT finiscono per essere dei veri e propri computer Linux, ma per lo sviluppo di software che opera a stretto contatto con l'hardware, così come per molte funzioni del sistema operativo e driver di dispositivo, la potenza, la velocità e l'efficienza di C lo rendono ancora la scelta migliore per questo campo.

## **Querying di database e manipolazione dei dati**

Indipendentemente dall'area specifica a cui si fa riferimento, sarà quasi sempre necessario conoscere un linguaggio che permetta di interrogare una parte specifica di un insieme di dati presente in un database. Sebbene Hadoop/MapReduce e altre piattaforme focalizzate sui big data siano al centro dell'attenzione oggi, SQL, il linguaggio di interrogazione strutturato, esiste dagli anni '70 ed è ancora il linguaggio di interrogazione dei database più utilizzato, essendo supportato da tutti i principali sistemi di database.

Oltre a SQL, consiglio vivamente di approfondire XQuery, il linguaggio di interrogazione per XML, perché oggi una grande quantità di dati è accessibile in formato XML o JSON, e XQuery è un linguaggio molto potente per manipolare questi dati in modo efficiente. In particolare, strumenti avanzati per dispositivi mobili, come [Altova MobileTogether](https://www.altova.com/it/mobiletogether), utilizzano XQuery per consentire la programmazione funzionale nella manipolazione dei dati provenienti da diverse fonti, tra cui XML, JSON, HTML e database SQL.

![shutterstock_249533239_700px](/blog/images/shutterstock_249533239_700px.png)

Ora che vi ho fornito una panoramica di dove alcune di queste lingue sono più comunemente utilizzate, spero che abbiate un'idea di quale lingua potrebbe essere una scelta adatta per imparare successivamente. Quindi, parliamo ora delle singole lingue in dettaglio e di dove potete impararle online:

### Certo

C e i suoi derivati (C++, C#, e Objective-C) sono linguaggi di programmazione ad uso generale, e C ha goduto di una grande popolarità fin dal 1978, grazie al suo libro fondamentale _Il linguaggio di programmazione C_ di Kernighan e Ritchie. Se si è seriamente interessati a una carriera nell'informatica, la conoscenza del linguaggio C è ancora fondamentale, ma non lo consiglierei come punto di partenza ideale per i principianti, poiché è più comunemente utilizzato per lavori relativi all'hardware o per altre applicazioni di livello inferiore. Il linguaggio C è stato originariamente sviluppato per essere utilizzato sul sistema operativo UNIX ed è oggi utilizzato principalmente per l'implementazione di sistemi operativi, driver di dispositivi e applicazioni embedded.

Ecco alcuni siti dove è possibile imparare il linguaggio C:
[https://alison.com/courses/Diploma-in-Programming-in-C](https://alison.com/courses/Diploma-in-Programming-in-C)
[https://www.udemy.com/c-programming-for-beginners/](https://www.udemy.com/c-programming-for-beginners/)
[http://c.learncodethehardway.org/book/](http://c.learncodethehardway.org/book/)

### C++

C++ deriva da C ed è un linguaggio che esiste da molto tempo. Per iniziare ad apprendere questo linguaggio, è necessario avere almeno una conoscenza di programmazione di livello intermedio. C++ offre funzionalità di programmazione imperativa, orientata agli oggetti e generica, il che lo rende estremamente potente, ma richiede anche la comprensione di diversi concetti avanzati di informatica per essere padroneggiato appieno. Questo linguaggio è utilizzato principalmente per lo sviluppo di software di sistema, videogiochi, applicazioni software e applicazioni client/server, nonché software server basato su cloud.

Ecco alcuni siti dove è possibile imparare il linguaggio C++:
[http://www.learncpp.com/](http://www.learncpp.com/)
[http://www.cplusplus.com/doc/tutorial/](http://www.cplusplus.com/doc/tutorial/)

### Certo#

C#, originariamente sviluppato da Microsoft come parte della sua iniziativa .NET, viene utilizzato per creare applicazioni software per le piattaforme Windows. Poiché C# è una componente fondamentale del framework .NET, se si desidera sviluppare software per Microsoft, questo è il linguaggio più adatto. C# assomiglia molto a Java, quindi, se si conosce uno dei due, passare all'altro non è così difficile. Come Java, C# è stato originariamente creato per introdurre i concetti della programmazione orientata agli oggetti in un linguaggio simile a C, senza la complessità di C++.

Ecco alcuni siti dove è possibile imparare C#:
[https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/](https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/)
[https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners](https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners)

### Java

Java è un linguaggio di programmazione orientato agli oggetti e, attualmente, uno dei linguaggi più diffusi. I programmatori apprezzano Java perché, per sua stessa natura, è un linguaggio portatile e funziona bene su diverse piattaforme software. Java è un linguaggio versatile che può essere utilizzato per sviluppare applicazioni mobili, applicazioni lato server e software aziendale.

Ecco alcuni siti dove è possibile imparare Java:
[https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/)
[https://www.codecademy.com/edn/courses/learn-java/](https://www.codecademy.com/learn/learn-java)

### R

R è un linguaggio specializzato, utilizzato per l'analisi statistica e la creazione di grafici, inclusa l'analisi bivariata e la correlazione. Questo linguaggio ha guadagnato popolarità grazie alla crescente domanda di competenze in data science, sia in ambito accademico che nel mondo degli affari, dove la visualizzazione e l'analisi dei dati sono fondamentali per lo sviluppo dei progetti. R è un'ottima scelta se avete bisogno di realizzare qualsiasi tipo di progetto di data mining, oppure se ritenete che le funzionalità di Excel siano troppo limitate per analizzare appieno le correlazioni che potrebbero esistere nei vostri dati.

Ecco alcuni siti dove è possibile imparare R:
[https://cran.r-project.org/manuals.html](https://cran.r-project.org/manuals.html)
[https://www.edx.org/course/r-programming-fundamentals](https://www.edx.org/course/r-programming-fundamentals)
[https://www.datacamp.com/courses/free-introduction-to-r](https://www.datacamp.com/courses/free-introduction-to-r)

![shutterstock_29603806_700p](/blog/images/shutterstock_29603806_700p.png)

### Python

Python, considerato uno dei linguaggi di programmazione più facili da imparare, è un linguaggio di scripting di alto livello e ad uso generale. Utilizzato per creare qualsiasi cosa, dai siti web alle applicazioni mobili, fino all'analisi dei dati, Python vanta una vasta e completa libreria standard. Grazie alla sua semplicità, Python è anche uno dei linguaggi di programmazione più diffusi nelle scuole statunitensi. Se siete alle prime armi con la programmazione, questo è sicuramente un ottimo punto di partenza.

Ecco alcuni siti dove è possibile imparare Python:
[https://www.python.org/doc/](https://www.python.org/doc/)
[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/)
[https://developers.google.com/edu/python/?hl=en](https://developers.google.com/edu/python/?hl=en)

### Rubino

Ruby è un altro linguaggio di scripting eccellente che ha goduto di una certa popolarità negli ultimi 10-15 anni, ma che sembra essere in un periodo di declino negli ultimi tempi. Viene utilizzato per lo sviluppo di siti web e applicazioni mobili. Questo linguaggio open source ha una comunità attiva e dedicata, il che rende molto più facile trovare risorse per imparare Ruby. Ruby è stato creato a metà degli anni '90 in Giappone da Yukihiro Matsumoto, che ha combinato elementi di alcuni dei suoi linguaggi preferiti (Perl, Smalltalk, Eiffel, Ada e Lisp) per creare un nuovo linguaggio che è intrinsecamente orientato agli oggetti e funzionale.

Ecco alcuni luoghi dove è possibile imparare Ruby:

[https://www.ruby-lang.org/en/documentation/quickstart/](https://www.ruby-lang.org/en/documentation/quickstart/)  
[https://rubymonk.com/](https://rubymonk.com/)

### JavaScript

JavaScript è un linguaggio basato su Java, utilizzato frequentemente per aggiungere funzionalità programmabili alle pagine web HTML. È un linguaggio relativamente semplice da imparare, e online si possono trovare numerosi tutorial pratici per iniziare. Viene eseguito principalmente all'interno di un browser web, anche se è possibile utilizzarlo anche in applicazioni lato server. Negli ultimi anni, JavaScript si è diffuso in diversi ambiti, tra cui le applicazioni mobile e persino alcuni dispositivi embedded.

JavaScript utilizza un formato di serializzazione integrato per scrivere oggetti dalla memoria su disco o in un flusso di dati, chiamato [JSON](https://www.altova.com/it/json-tools) (JavaScript Object Notation). JSON ha guadagnato popolarità per la trasmissione di dati tra computer in modo simile a XML, offrendo un metodo rapido ed efficiente per trasferire informazioni. Pertanto, la conoscenza di JavaScript fornisce le basi per la padronanza di JSON e di [JSON Schema](https://www.altova.com/it/xmlspy-xml-editor/json_schema_editor), entrambi elementi fondamentali per lo sviluppo di applicazioni web e servizi web.

Ecco alcuni siti dove è possibile imparare JavaScript:
[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
[https://www.codecademy.com/tracks/javascript](https://www.codecademy.com/tracks/javascript)

### SQL

SQL, o Structured Query Language, è un linguaggio di interrogazione di database utilizzato per gestire i dati nei database relazionali. Chi dovrebbe imparare SQL? Tutti! SQL è presente ovunque e impararlo non è così difficile. Se mai dovete recuperare o manipolare dati in un database (e diciamocelo, chi non trarrebbe vantaggio da questa capacità), questo è un linguaggio eccellente da imparare.

Risorse per imparare SQL:
[https://www.codecademy.com/learn/learn-sql](https://www.codecademy.com/learn/learn-sql)
[http://www.sqlcourse.com/](http://www.sqlcourse.com/)
[http://www.w3schools.com/sql/](http://www.w3schools.com/sql/)
[http://www.tutorialspoint.com/sql/](http://www.tutorialspoint.com/sql/)

### XQuery

XQuery è un linguaggio di programmazione funzionale progettato sia per interrogare che per trasformare dati XML e JSON. Secondo il [W3C](https://www.w3.org/XML/Query/), XQuery sta sostituendo programmi Java o C++ complessi con poche righe di codice, poiché è più semplice da utilizzare e più facile da mantenere. XQuery è ora anche il linguaggio preferito per la manipolazione avanzata dei dati provenienti da una vasta gamma di fonti, anche su piattaforme mobili, come ad esempio [Altova MobileTogether](https://www.altova.com/it/mobiletogether). XQuery è un linguaggio molto potente e non particolarmente difficile da imparare.

Risorse per imparare XQuery:
[https://www.altova.com/training/xquery3/](https://www.altova.com/it/training/xquery3/)
[https://www.w3schools.com/xml/xquery\_intro.asp](https://www.w3schools.com/xml/xquery_intro.asp)
[http://www.tutorialspoint.com/xquery/](http://www.tutorialspoint.com/xquery/)

  
Oltre a tutte queste risorse online, su Amazon sono disponibili anche molti ottimi libri su tutte queste lingue. Assicuratevi quindi di consultare anche quelli e di leggere le recensioni dei clienti prima di decidere quale acquistare.

![immergiti in una nuova lingua](/blog/images/dive_into_new_language.png)

Non esiste una lingua di programmazione "cattiva" da aggiungere al vostro repertorio; anzi, ogni lingua che imparerete contribuirà ad aumentare le vostre opportunità professionali. Quindi, immergetevi e iniziate a imparare un nuovo linguaggio di programmazione quest'estate!
