PRIMO CORSO ITALIANO SUL NUOVISSIMO LINGUAGGIO DI PROGRAMMAZIONE
Benvenuto nel corso introduttivo al linguaggio di programmazione Rust. Rust ti aiuta a scrivere software più veloce e affidabile. Nella progettazione dei linguaggi di programmazione, l’ergonomia ad alto livello e il controllo a basso livello spesso sono in contrasto; Rust sfida questo conflitto. Bilanciando la potente capacità tecnica e un’ottima esperienza per lo sviluppatore, Rust ti offre l’opzione di controllare dettagli a basso livello (come l’uso della memoria) senza tutti i fastidi tradizionalmente associati a tale controllo.
SE VUOI PRENDERE LA CERTIFICAZIONE PER QUESTO CORSO CLICCA QUI
Chi Usa Rust
Rust è ideale per molte persone per una varietà di motivi. Vediamo alcuni dei gruppi più importanti.
Team di Sviluppatori
Rust si sta dimostrando uno strumento produttivo per la collaborazione tra grandi team di sviluppatori con diversi livelli di conoscenza della programmazione di sistema. Il codice a basso livello è incline a vari bug sottili, che nella maggior parte degli altri linguaggi possono essere individuati solo attraverso test approfonditi e una rigorosa revisione del codice da parte di sviluppatori esperti. In Rust, il compilatore svolge il ruolo di guardiano rifiutando di compilare il codice con questi bug sfuggenti, inclusi bug di concorrenza. Lavorando insieme al compilatore, il team può dedicare il proprio tempo alla logica del programma anziché inseguire bug.
Rust porta anche strumenti contemporanei per lo sviluppatore nel mondo della programmazione di sistema:
- Cargo, il gestore delle dipendenze e strumento di compilazione incluso, rende l’aggiunta, la compilazione e la gestione delle dipendenze indolore e coerente nell’ecosistema di Rust.
- Lo strumento di formattazione Rustfmt assicura uno stile di codifica coerente tra gli sviluppatori.
- Il server del linguaggio Rust alimenta l’integrazione dell’Ambiente di Sviluppo Integrato (IDE) per il completamento del codice e i messaggi di errore inline.
Utilizzando questi e altri strumenti nell’ecosistema di Rust, gli sviluppatori possono essere produttivi mentre scrivono codice di livello di sistema.
Studenti
Rust è per gli studenti e coloro che sono interessati a conoscere i concetti di sistema. Utilizzando Rust, molte persone hanno imparato argomenti come lo sviluppo di sistemi operativi. La comunità è molto accogliente e felice di rispondere alle domande degli studenti. Attraverso sforzi come questo corso, i team di Rust vogliono rendere i concetti di sistema più accessibili a più persone, specialmente a coloro che sono nuovi alla programmazione.
Aziende
Centinaia di aziende, grandi e piccole, utilizzano Rust in produzione per una varietà di compiti, tra cui strumenti da riga di comando, servizi web, strumenti DevOps, dispositivi embedded, analisi e transcodifica audio e video, criptovalute, bioinformatica, motori di ricerca, applicazioni Internet delle cose, apprendimento automatico e persino parti importanti del browser web Firefox.
Sviluppatori Open Source
Rust è per le persone che vogliono costruire il linguaggio di programmazione Rust, la comunità, gli strumenti per lo sviluppatore e le librerie. Saremmo lieti di averti come contributore al linguaggio Rust.
Persone che Valorizzano Velocità e Stabilità
Rust è per le persone che bramano velocità e stabilità in un linguaggio. Per velocità, intendiamo sia quanto rapidamente può eseguire il codice Rust sia la velocità con cui Rust ti consente di scrivere programmi. I controlli del compilatore Rust garantiscono la stabilità attraverso l’aggiunta di funzionalità e il refactoring. Questo è in contrasto con il codice legacy fragile nei linguaggi senza questi controlli, che gli sviluppatori spesso temono di modificare. Mirando a astrazioni a costo zero, funzionalità di livello superiore che compilano in codice di livello inferiore altrettanto velocemente del codice scritto manualmente, Rust si impegna a rendere il codice sicuro anche veloce.
Il linguaggio Rust spera di supportare molti altri utenti; quelli menzionati qui sono solo alcuni dei principali interessati. Nel complesso, l’ambizione più grande di Rust è eliminare i compromessi che i programmatori hanno accettato da decenni fornendo sicurezza e produttività, velocità ed ergonomia. Dai a Rust una possibilità e vedi se le sue scelte funzionano per te.
Per chi è Questo Corso
Questo corso presuppone che tu abbia scritto codice in un altro linguaggio di programmazione ma non fa alcuna ipotesi su quale. Abbiamo cercato di rendere il materiale ampiamente accessibile a coloro con una vasta gamma di background di programmazione. Non dedichiamo molto tempo a parlare di cosa sia la programmazione o come pensarla. Se sei completamente nuovo alla programmazione, sarebbe meglio per te leggere un corso che fornisce specificamente un’introduzione alla programmazione.
LISTA DELLE LEZIONI:
- Corso di Programmazione Rust Lezione 001 – Introduzione
- Corso di Programmazione Rust Lezione 002 – Installazione
- Corso di Programmazione Rust Lezione 003 – Hello, World!
- Corso di Programmazione Rust Lezione 004 – Hello, Cargo!
- Corso di Programmazione Rust Lezione 005 – Programmazione di un Gioco ad Indovinelli – Parte 1
- Corso di Programmazione Rust Lezione 006 – Programmazione di un Gioco ad Indovinelli – Parte 2
- Corso di Programmazione Rust Lezione 007 – Programmazione di un Gioco ad Indovinelli – Parte 3
- Corso di Programmazione Rust Lezione 008 – Variabili e mutabilità
- Corso di Programmazione Rust Lezione 009 – Tipi di Dati
- Corso di Programmazione Rust Lezione 010 – Funzioni
- Corso di Programmazione Rust Lezione 011 – Commenti
- Corso di Programmazione Rust Lezione 012 – Control Flow (Controllo del Flusso)
- Corso di Programmazione Rust Lezione 013 – Cos’è il Concetto di Proprietà?
- Corso di Programmazione Rust Lezione 014 – Cos’è il Concetto di Proprietà? Parte 2
- Corso di Programmazione Rust Lezione 015 – References and Borrowing
- Corso di Programmazione Rust Lezione 016 – Il Tipo di Fetta
- Corso di Programmazione Rust Lezione 017 – Definire e istanziare le strutture
- Corso di Programmazione Rust Lezione 018 – Un esempio di programma che utilizza le strutture
- Corso di Programmazione Rust Lezione 019 – Sintassi del metodo
- Corso di Programmazione Rust Lezione 020 – Definire un Enum
- Corso di Programmazione Rust Lezione 021 – Il costrutto del flusso di controllo della partita
- Corso di Programmazione Rust Lezione 022 – Flusso di controllo conciso con if let
- Corso di Programmazione Rust Lezione 023 – Pacchetti e casse
- Corso di Programmazione Rust Lezione 024 – Definizione di moduli per controllare l’ambito e la privacy
- Corso di Programmazione Rust Lezione 025 – Percorsi per fare riferimento a un elemento nella struttura del modulo
- Corso di Programmazione Rust Lezione 026 – Portare i percorsi nell’ambito di applicazione con la parola chiave use
- Corso di Programmazione Rust Lezione 027 – Separare i moduli in file diversi
- Corso di Programmazione Rust Lezione 028 – Memorizzare elenchi di valori con i vettori
- Corso di Programmazione Rust Lezione 029 – Memorizzazione di testo codificato UTF-8 con le stringhe
- Corso di Programmazione Rust Lezione 030 – Memorizzazione di chiavi con valori associati in mappe Hash
- Corso di Programmazione Rust Lezione 031 – Errori irrecuperabili con panico!
- Corso di Programmazione Rust Lezione 032 – Errori recuperabili con risultato
- Corso di Programmazione Rust Lezione 033 – Farsi prendere dal panico! O non farsi prendere dal panico!
- Corso di Programmazione Rust Lezione 034 – Tipi di dati generici
- Corso di Programmazione Rust Lezione 035 – Tratti: Definire il comportamento condiviso
- Corso di Programmazione Rust Lezione 036 – Convalida dei riferimenti con i tempi di vita
- Corso di Programmazione Rust Lezione 037 – Come scrivere i test
- Corso di Programmazione Rust Lezione 038 – Controllare il modo in cui vengono eseguiti i test
- Corso di Programmazione Rust Lezione 039 – Organizzazione del test
- Corso di Programmazione Rust Lezione 040 – Accettare gli argomenti della riga di comando
- Corso di Programmazione Rust Lezione 041 – Lettura di un File
- Corso di Programmazione Rust Lezione 042 – Rifattorizzazione per migliorare la modularità e la gestione degli errori
- Corso di Programmazione Rust Lezione 043 – Sviluppare la funzionalità della Biblioteca con lo Sviluppo guidato dai test
- Corso di Programmazione Rust Lezione 044 – Lavorare con le variabili d’ambiente
- Corso di Programmazione Rust Lezione 045 – Scrivere i messaggi di errore nell’Errore Standard invece che nell’Uscita Standard
- Corso di Programmazione Rust Lezione 046 – Chiusure: Funzioni anonime che catturano l’ambiente in cui si trovano
- Corso di Programmazione Rust Lezione 047 – Elaborazione di una serie di elementi con gli iteratori
- Corso di Programmazione Rust Lezione 048 – Migliorare il nostro progetto I/O
- Corso di Programmazione Rust Lezione 049 – Confronto delle prestazioni: Loops vs. Iteratori
- Corso di Programmazione Rust Lezione 050 – Personalizzazione delle build con i profili di rilascio
- Corso di Programmazione Rust Lezione 051 – Pubblicare una Crate su Crates.io
- Corso di Programmazione Rust Lezione 052 – Spazi di lavoro Cargo
- Corso di Programmazione Rust Lezione 053 – Installazione di binari da Crates.io con cargo install
- Corso di Programmazione Rust Lezione 054 – Estensione di Cargo con comandi personalizzati
- Corso di Programmazione Rust Lezione 055 – Utilizzo di Box per puntare ai dati sull’Heap
- Corso di Programmazione Rust Lezione 056 – Trattare i puntatori intelligenti come riferimenti regolari con il tratto Deref
- Corso di Programmazione Rust Lezione 057 – Esecuzione del codice in fase di pulizia con il tratto Drop
- Corso di Programmazione Rust Lezione 058 – Rc, il puntatore intelligente contato dai riferimenti
- Corso di Programmazione Rust Lezione 059 – RefCell e il modello di mutabilità interna
- Corso di Programmazione Rust Lezione 060 – I cicli di riferimento possono perdere memoria
- Corso di Programmazione Rust Lezione 061 – Utilizzo dei thread per l’esecuzione simultanea del codice
- Corso di Programmazione Rust Lezione 062 – Utilizzo del Message Passing per trasferire i dati tra i thread
- Corso di Programmazione Rust Lezione 063 – Concorrenza a stati condivisi
- Corso di Programmazione Rust Lezione 064 – Concorrenza estensibile con i tratti Sync e Send
- Corso di Programmazione Rust Lezione 065 – Caratteristiche dei linguaggi orientati agli oggetti
- Corso di Programmazione Rust Lezione 066 – Utilizzo di oggetti di tipo Trait che consentono valori di tipo diverso
- Corso di Programmazione Rust Lezione 067 – Implementazione di un modello di design orientato agli oggetti
- Corso di Programmazione Rust Lezione 068 – Tutti i luoghi in cui i modelli possono essere utilizzati
- Corso di Programmazione Rust Lezione 069 – Confutabilità: Se un modello potrebbe non corrispondere
- Corso di Programmazione Rust Lezione 070 – Sintassi degli schemi
- Corso di Programmazione Rust Lezione 071 – Unsafe Rust
- Corso di Programmazione Rust Lezione 072 – Tratti avanzati
- Corso di Programmazione Rust Lezione 073 – Tipi avanzati
- Corso di Programmazione Rust Lezione 074 – Funzioni e chiusure avanzate
- Corso di Programmazione Rust Lezione 075 – Le macro
- Corso di Programmazione Rust Lezione 076 – Costruire un server web a thread singolo
- Corso di Programmazione Rust Lezione 077 – Trasformazione del nostro server a thread singolo in un server multithreading
- Corso di Programmazione Rust Lezione 078 – Arresto e pulizia senza problemi