È stato pubblicato il rilascio del linguaggio di programmazione staticamente tipizzato V 0.4.10 (vlang). Gli obiettivi principali nella creazione di V erano la facilità di apprendimento e utilizzo, l'alta leggibilità, la rapida compilazione, una maggiore sicurezza, uno sviluppo efficiente, l'uso multipiattaforma, un miglioramento dell'interazione con il linguaggio C, una migliore gestione degli errori, un garbage collector (GC) disattivabile, funzionalità moderne e una manutenzione più semplice dei programmi. Il progetto sta anche sviluppando la propria libreria grafica e il gestore di pacchetti. Il codice del compilatore, delle librerie e degli strumenti correlati è aperto sotto licenza MIT.
Tra le modifiche nella nuova versione:
- Strutture anonime aggiunte.

- È stata rimossa la vecchia funzionalità precedentemente dichiarata obsoleta (prima veniva emesso un avviso durante la compilazione del progetto per questo codice per sei mesi).
- Numerosi miglioramenti nel parser e nel verificatore (checker) del linguaggio.
- Cambiamenti incompatibili:
- La vecchia sintassi «[attr]» ora genera un errore, si deve utilizzare «@[attr]».
- string.index_after() ora restituisce Option (come string.index()), per il comportamento precedente si deve utilizzare string.index_after_().
- vweb è stato dichiarato obsoleto a favore di veb, che è più veloce, stabile e semplice da usare.
- Nella libreria standard, oltre a numerose ottimizzazioni e all'incremento della documentazione, si possono evidenziare:
- Aggiunto il metodo integrato string.split_by_space()
- Nel modulo os sono stati aggiunti metodi ausiliari File.write_u8/1 e File.read_u8/0.
- Nel modulo os è stata aggiunta la funzione disk_usage, che mostra lo spazio disponibile per un percorso di file.
- Nel modulo time è stata aggiunta la funzione week_of_year().
- Aggiunto Any.as_map_of_strings/0 in x.json2.
- Tra le modifiche web:
- Rimosso il modulo x.vweb (ora è il modulo veb).
- In veb.request_id è stata aggiunta una nuova interfaccia (middleware) per il tracciamento degli ID delle richieste.
- Aggiornato il manuale su veb.
- Database:
- Nel modulo orm è stato corretto il generatore di codice per l'opzione fk.
- In db.sqlite è stata aggiunta la tracciabilità per un numero maggiore di chiamate utilizzando «-d trace_sqlite», non solo per l'ORM.
- In db.pg è stato aggiunto il supporto per gli operatori — db.prepare/3 e db.exec_prepared/2.
- In db.mysql è stato aggiunto il supporto SSL ed è stato estratto nel flag di connessione.
- Esempi:
- Aggiunto un esempio di server HTTP vanilla_http_server — veloce, multithreading, non bloccante, che riutilizza porte e host, sicuro per i thread e utilizza epoll.
- Aggiunto un esempio «1 Billion Row Challenge» per dimostrare le capacità di prestazione del linguaggio.
- Aggiunto un esempio di gioco «Campo Minato» (examples/gg/minesweeper.v).
- Aggiunto un esempio di rompicapo Sokoban con livelli.
- Aggiunto un esempio di gioco sugli asteroidi (ora contiene < 400 righe di codice e utilizza gg).
- Aggiunto un esempio di un piccolo gioco che supporta controllo da tastiera e touch.
- Nell'utilità «v» è stato aggiunto il flag «-show-depgraph», che genera un'immagine con ModGraph:

- Il progetto sta sviluppando un nuovo sistema operativo Vinix con il proprio kernel, scritto da zero in linguaggio V. Vinix ora può lavorare con GTK3:

Fonte: opennet.ru



