Quando si parla di sviluppo software, due soluzioni sono sulla bocca dei programmatori Windows: Visual Studio e Visual Studio Code. Ma quali sono le differenze tra i due programmi che condividono buona parte del loro nome? Quale applicazione va utilizzata a seconda delle proprie specifiche esigenze?
Iniziamo col dire che Visual Studio Code ha conquistato un successo senza confini: merito del fatto che si tratta di una soluzione multipiattaforma, disponibile quindi non soltanto per Windows ma anche per i sistemi macOS e Linux. Visual Studio, invece, era disponibile anche nella versione per macOS fino al 31 agosto 2024, data in cui Microsoft ha deciso di ritirare ufficialmente il pacchetto.
Questo è un po’ in contrasto con la natura di Visual Studio, un prodotto completo e versatile che permette di progettare e realizzare applicazioni multipiattaforma.
Le differenze tra Visual Studio e Visual Studio Code
Visual Studio (VS) e Visual Studio Code (VS Code) sono due IDE (Integrated Development Environment) offerti da Microsoft, spesso confusi a causa dei loro nomi simili, ma con approcci e funzionalità differenti. Entrambi si prefiggono di migliorare la produttività degli sviluppatori, ma hanno obiettivi e caratteristiche che li rendono adatti a usi diversi.
L’azienda di Redmond permette il download di entrambi gli strumenti da questa pagina. C’è anche una mini-applicazione dal titolo “Ti stai chiedendo quale strumento è più adatto a te? Possiamo offrire assistenza” che, selezionando sistema operativo in uso e la tipologia dei progetti che si prevedono di realizzare, consente suggerisce se usare Visual Studio oppure Visual Studio Code.
Visual Studio: un IDE completo, articolato e versatile
Chi cerca un IDE completo e versatile trova risposta in Visual Studio. Progettato anche per lo sviluppo di applicazioni enterprise, con supporto nativo per linguaggi come C#, C++, Visual Basic, F#, e altri, l’installazione di Visual Studio richiede spazio e risorse ma tutto dipende dai componenti scelti in fase d’installazione.
Inutile richiedere al Visual Studio Installer di caricare il pacchetto SDK (Software Development Kit) per lo sviluppo cloud su piattaforma Azure se si realizzano prevalentemente programmi desktop .NET, applicazioni Windows oppure progetti ASP.NET e Web.
Per gli utenti che installano Visual Studio, l’installer è sempre disponibile nel menu Start del sistema operativo così possono sempre decidere se aggiungere o eliminare dei componenti (pulsante Modifica).
In generale, Visual Studio integra strumenti avanzati come debugger, compilatori, designer grafici e strumenti per lo sviluppo di applicazioni complesse. L’edizione Community è utilizzabile a titolo gratuito, seppur con alcune limitazioni.
Visual Studio Code è un editor di testo, seppur con possibilità di personalizzazione infinite
In precedenza abbiamo parlato di Visual Studio Code come di un IDE. In realtà nasce come editor di codice, leggero ma ampiamente espandibile in termini di funzionalità, soprattutto grazie alle innumerevoli estensioni che può vantare.
Visual Studio Code si mette in evidenza, infatti, per la sua struttura modulare: è possibile aggiungere estensioni per abilitare funzionalità aggiuntive, pur restando molto più parsimonioso rispetto a Visual Studio sul piano delle risorse hardware impegnate.
“Derubricare” Visual Studio Code a un semplice editor di codice è quindi riduttivo e non pertinente. Grazie alle estensioni, infatti, può competere con molti IDE in circolazione. Sono tanti gli utenti che, a seconda del linguaggio di sviluppo preferito, hanno optato per la sostituzione di Visual Studio con Visual Studio Code.
La sua natura multipiattaforma convince: è evidente dai “numeri” di Visual Studio Code che va ben oltre i confini di Windows, risultando la soluzione perfetta per molti programmatori, sia in ambiente Linux che macOS.
Compilazione del codice solo su Visual Studio? Non è vero
Sfatiamo un falso mito. Visual Studio Code supporta la compilazione di codice in vari linguaggi di programmazione. Per compilare il codice con VS Code, tuttavia, è necessario installare estensioni specifiche per il linguaggio di programmazione utilizzato.
Ad esempio, per C++ è comune installare l’estensione C/C++ e Code Runner, che facilita la compilazione e l’esecuzione del codice direttamente dall’editor.
Dopo aver installato le estensioni necessarie, è fondamentale configurare il compilatore. Per C++, ad esempio, si può utilizzare un compilatore come GCC o Clang.
Una volta configurato l’ambiente di lavoro, il codice può essere compilato utilizzando scorciatoie da tastiera come CTRL+ALT+N
, per eseguire il codice con Code Runner. In alternativa, si può anche utilizzare il terminale integrato in VS Code per eseguire manualmente i comandi di compilazione e esecuzione.
VS Code mette a disposizione anche funzionalità di debugging integrate, permettendo agli sviluppatori di eseguire il codice passo dopo passo per identificare eventuali errori.
Linguaggi di programmazione supportati
Da un lato, Visual Studio è principalmente orientato allo sviluppo con linguaggi come C#, VB.NET, C++ e F#, ed è altamente ottimizzato per lo sviluppo di applicazioni desktop Windows, Web e servizi cloud su Azure. Supporta lo sviluppo mobile tramite Xamarin e include strumenti avanzati per lo sviluppo di videogiochi con Unity.
Visual Studio Code, viceversa, non è legato a un ambiente di sviluppo o a un linguaggio specifico. Sebbene supporti in modo nativo solo alcuni linguaggi come JavaScript, TypeScript e Node.js, è possibile abbracciare praticamente qualsiasi linguaggio, inclusi Python, Go, PHP, Ruby, e molti altri, tramite le già citate estensioni.
Le estensioni si installano direttamente in Visual Studio Code cliccando sul pulsante Extensions nella colonna di sinistra o premendo CTRL+MAIUSC+X
. Con una semplice ricerca si possono trovare i componenti aggiuntivi che introducono in VS Code funzionalità di completamento automatico intelligente, debug del codice, gestione delle dipendenze, integrazioni con Git e altre funzionalità avanzate.
Scalabilità e complessità del progetto
Visual Studio è un ambiente di sviluppo integrato (IDE) completo, progettato per supportare lo sviluppo di applicazioni complesse. Offre una suite di strumenti robusti per la scrittura, il debug e la gestione del codice, rendendolo ideale anche per progetti di grandi dimensioni e per sviluppatori che necessitano di funzionalità avanzate.
La piattaforma di sviluppo si integra con strumenti di gestione del progetto, gestione del codice sorgente e DevOps su scala aziendale.
Visual Studio Code, d’altra parte, è una soluzione più snella seppur largamente personalizzabile. È progettato per essere veloce e versatile, supportando una vasta gamma di linguaggi di programmazione attraverso l’uso di estensioni. VS Code è adatto per sviluppatori che lavorano su progetti più piccoli o che preferiscono un ambiente di codifica agile. È più adatto a progetti singoli o con una struttura relativamente semplice.
Intelligenza artificiale al servizio dello sviluppo software
Mentre Visual Studio si integra ufficialmente solo con GitHub Copilot, mettendo a disposizione un chatbot che aiuta il programmatore nello sviluppo di codice, nel completamento di singole routine o applicazioni più complesse, Visual Studio Code permette di aggiungere un’infinità di possibilità basate sull’intelligenza artificiale proprio avvalendosi delle estensioni.
Partiamo da GitHub Copilot. In questo caso, a meno che non si sostenga direttamente lo sviluppo di progetti open source oppure non se ne faccia un uso in ambito accademico o didattico, il sistema basato sull’IA può essere provato per soli 30 giorni.
Disponibile sia su Visual Studio che su Visual Studio Code c’è Microsoft IntelliCode, uno strumento che migliora le funzionalità di completamento automatico di IntelliSense analizzando migliaia di repository open source su GitHub per fornire suggerimenti più pertinenti grazie all’intelligenza artificiale. Supporta diversi linguaggi come TypeScript, JavaScript, Python e Java, rendendo il processo di scrittura del codice più veloce ed efficiente.
Per VS Code, un’ottima alternativa è Phind, assistente per lo sviluppo di codice e il debugging dello stesso. Phind offre un piano gratuito che consente un massimo di 10 query al giorno. Per gli utenti che prevedono di farne un uso più intensivo, sono disponibili piani a pagamento (Phind Plus e Phind Pro).
Nulla vieta di utilizzare chatbot come ChatGPT, Claude e Phind sul Web per sviluppare codice e ottenere risposte in tempo reale: spesso è possibile incollare porzioni di codice e richiedere interventi per costruire delle parti o migliorarne il funzionamento. È possibile andare per gradi, con operazioni di copia e incolla, verificando però sempre con la massima attenzione la bontà del codice generato e intervenendo per applicare eventuali modifiche.
Altre estensioni per usare l’IA con Visual Studio Code
Tra le migliori estensioni per sviluppare codice con l’intelligenza artificiale in Visual Studio Code, componenti aggiuntivi che possono migliorare la produttività e facilitare lo sviluppo di applicazioni intelligenti, citiamo i seguenti:
- AI Toolkit for VS Code. Semplifica lo sviluppo di applicazioni IA generative integrando strumenti e modelli avanzati da Azure AI Studio e Hugging Face. Permette agli sviluppatori di esplorare cataloghi di modelli IA, scaricarli e utilizzarli nei propri progetti, oltre a supportare il fine-tuning e il deployment in cloud.
- Tabnine. Un assistente di codifica che utilizza modelli di apprendimento automatico per fornire completamenti di codice basati su progetti open source. Supporta una vasta gamma di linguaggi e offre completamenti a livello di funzione e suggerimenti basati su descrizioni inviate usando il linguaggio naturale.
- Swimm AI. Uno strumento che aiuta a comprendere meglio codice di programmazione complesso, fornendo documentazione automatica e spiegazioni per i frammenti di codice. È utile per migliorare la comunicazione all’interno dei team e mantenere la documentazione aggiornata.