ZED ON Linux: L’EDITOR VELOCE PER LO SVILUPPO Software CON IA
Zed rappresenta una significativa innovazione nel panorama degli editor di codice, combinando prestazioni elevate, funzionalità collaborative avanzate e un’architettura tecnicamente sofisticata. Sviluppato dal team di Zed Industries, già noto per la creazione di Atom e Tree-sitter, Zed si propone come un editor di nuova generazione che ridefinisce gli standard di efficienza e produttività nello sviluppo software.
A gennaio 2024 avevamo presentato l’editor open source destinato agli sviluppatori macOS. Adesso, i tecnici di Zed Industries hanno annunciato la disponibilità di Zed on Linux, versione del favoloso editor congegnata per la piattaforma del “pinguino”.
COS’È ZED ON LINUX E COME MIGLIORA LO SVILUPPO SOFTWARE
Al cuore di Zed si trova un’architettura progettata per sfruttare appieno le capacità dei moderni sistemi multi-core e delle GPU. L’editor è costruito su GPUI, un framework innovativo per interfacce utente 2D che rasterizza l’intera finestra sulla GPU, come farebbe un videogioco 3D. Si tratta di un approccio che garantisce una reattività eccezionale, con tempi di avvio quasi istantanei e una risposta agli input dell’utente sincronizzata con il refresh del display.
SINTASSI E PARSING AVANZATI
Zed si distingue per l’implementazione di Tree-sitter, un framework di parsing open source basato su grammatiche context-free. Questo approccio, fondato su solide basi teoriche della compilazione, supera i limiti dei tradizionali metodi basati su espressioni regolari. Inoltre, abilita le funzionalità language-aware tipicamente associate a IDE specifici per ciascun linguaggio di Programmazione.
L’editor mantiene inoltre un albero sintattico completo aggiornato in tempo reale durante la digitazione. Ciò consente funzionalità avanzate come una precisa evidenziazione del codice, l’auto-indentazione, l’utilizzo di uno strumento di ricerca versatile e la selezione strutturale del codice.
COLLABORAZIONE IN TEMPO REALE
Un aspetto davvero rivoluzionario di Zed è il suo approccio alla collaborazione. L’impiego di un’apposita struttura dati chiamata Conflict-Free Replicated Data Type (CRDT), garantisce la consistenza in presenza di modifiche concorrenti. Questa caratteristica non solo facilita varie forme di collaborazione ma è anche un componente chiave dell’architettura multi-threaded di Zed.
La funzionalità di collaborazione in tempo reale permette a più sviluppatori di navigare e applicare modifiche all’interno di uno spazio di lavoro condiviso. Gli utenti possono interagire con il codice come se fosse sulla propria macchina locale, ovunque si trovino, beneficiando di bassa latenza e pieno supporto dei language server, servizi linguistici specifici per un determinato linguaggio di programmazione. I language server offrono funzionalità come il completamento automatico, la navigazione nel codice, l’evidenziazione degli errori, il refactoring e molto altro.
Intelligenza Artificiale INTEGRATA
Zed integra abilità di sviluppo automatizzato del codice di programmazione basate sull’IA generativa. L’editor, infatti, supporta nativamente GitHub Copilot e permette l’utilizzo di OpenAI GPT-4 per la generazione e il refactoring del codice. L’integrazione permette interazioni conversazionali con il modello generativo senza uscire dal contesto di editing, migliorando significativamente il flusso di lavoro di ogni sviluppatore.
LA MAGIA DI ZED ON LINUX
Come osservano gli sviluppatori di Zed, portare l’editor su Linux è stata una vera sfida. Lo sviluppo di applicazioni con interfaccia Grafica per i sistemi GNU/Linux porta sul tavolo molteplici problemi.
Linux è noto per la sua diversità e flessibilità, caratteristiche che, mentre offrono grandi vantaggi agli utenti, pongono sfide significative per gli sviluppatori. Ogni GPU può usare driver diversi (proprietari od open source), con comportamenti e prestazioni variabili. Zed, utilizzando a piene mani il rendering GPU, deve adattarsi di conseguenza garantendo prestazioni ottimali su diversi Hardware.
Esistono inoltre centinaia di distribuzioni Linux, ciascuna con le proprie peculiarità in termini di librerie di sistema, versioni dei pacchetti e configurazioni predefinite.
Il pinguino offre poi una moltitudine di window manager e desktop environment, da quelli leggeri come i3 o Openbox a quelli più complessi come GNOME o KDE. Ogni window manager può gestire in modo diverso aspetti come il ridimensionamento delle finestre, la gestione degli input o la composizione grafica. Per non parlare poi della scelta del server grafica (X11 o Wayland) e delle impostazioni di rendering.
Zed deve integrarsi correttamente con tutti questi ambienti, garantendo un’esperienza utente coerente. Per questo Zed Industries ha voluto pubblicamente ringraziare la comunità, che ha contribuito allo sviluppo del codice ed effettuato test approfonditi.
COME INSTALLARE ZED ON LINUX
Per installare Zed su Linux, nella maggior parte delle distribuzioni disponibili, è sufficiente aprire una finestra del terminale quindi inserire quanto segue:
curl | sh
L’istruzione scarica lo…