Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_meta_box_present is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_send_notification is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_modify_title_and_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_heading is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_wordproof_timestamp is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$response_body is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Zed on Linux, arriva l'editor veloce per lo sviluppo software con IA

Zed on Linux, arriva l'editor veloce per lo sviluppo software con IA

Rilasciato il nuovo Zed on Linux, editor che punta sulle prestazioni, la versatilità, la stabilità, la collaborazione e l'intelligenza artificiale. Programmato in Rust, rivoluziona letteralmente il mondo dello sviluppo software professionale.

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.

I programmatori di Zed hanno realizzato l’editor servendosi del linguaggio Rust: i risultati si vedono perché è possibile beneficiare di un’elevata parallelizzazione su più core senza compromettere la stabilità dell’applicazione. L’impiego di strutture dati come copy-on-write e primitive async consentono di spostare i compiti particolarmente gravosi per la CPU, ottenendo performance impossibili da aver con un classico editor single-threaded.

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 https://zed.dev/install.sh | sh

L’istruzione scarica lo script d’installazione dal sito degli sviluppatori zed.dev, quindi lo esegue immediatamente sulla macchina.

Mentre ancora non è possibile scaricare Zed nella versione per Windows, il rilascio di Zed on Linux rappresenta un notevole passo in avanti. Trattandosi di un progetto aperto, Zed on Linux democratizza lo sviluppo software avanzato (fino appannaggio dei soli utenti di macOS), estendendolo a tutti gli utenti del sistema operativo basato sul kernel mantenuto da Linus Torvalds.

Conclusioni

Zed rappresenta un significativo passo avanti nel campo degli editor di codice. Combinando prestazioni di alto livello, funzionalità collaborative evolute e un’architettura tecnicamente all’avanguardia, Zed migliora significativamente le attività di sviluppo software.

La sua capacità di sfruttare efficacemente l’hardware moderno, unita a funzionalità innovative come l’integrazione AI e la collaborazione in tempo reale, lo rende protagonista nel mercato degli editor di codice professionali.

Il team di Zed ha inoltre posto grande enfasi sulla stabilità del programma. L’editor è sottoposto a estensivi test di fuzzing, una nota tecnica che sfrutta l’invio al software di input casuali per identificare e correggere errori imprevisti che potrebbero essere sfruttati per eseguire codice dannoso. Questo approccio metodico alla qualità del software assicura un’esperienza utente affidabile e consistente.

Ti consigliamo anche

Link copiato negli appunti