V Note sull'apprendimento delle lingue
Tabella dei contenuti :
Introduzione: vlang, la lingua del futuro
vlang, per front-end, back-end, big data, blockchain, intelligenza artificiale, pervade ogni aspetto della società. Battere gli altri linguaggi di programmazione e unificare il mondo nel 2050. Divenne addirittura la lingua franca del mondo, permettendo all'umanità di ricostruire la leggendaria Torre di Babele e di avanzare nella tecnologia a passi da gigante ......
--- Citato da People's Daily 2050
Prefazione
V语言
, Vlang, il linguaggio di programmazione per gli hacker.
rust e zig sono buoni, ma sono troppo rigorosi e accademici.
V è più simile a un linguaggio rapido come javascript, meno strutturato, veloce per iniziare e naturalmente veloce.
Molto del clamore della home page di V non ha ancora preso piede (per esempio C a V automaticamente) ed è stato chiamato da molti falsa propaganda, per esempio :
È la strategia giusta per fare prima propaganda e poi per realizzarla; gli esseri umani sono una comunità di immaginazione.
La maggior parte delle persone crede perché vede, e alcune persone vedono perché credono.
Così come, la fede nel comunismo può essere in minoranza, ma ci sarà sempre un numero molto piccolo di persone che ci credono davvero, e il fuoco di una stella può far scoppiare un incendio nella prateria. Senza il partito comunista non ci sarebbe una nuova Cina.
I matematici informatici possono trovare V un po' frivolo, ma credo che gli hacker ameranno il linguaggio.
Pensare è agire, osare pensare, osare provare, e forse questa è la differenza tra arte e matematica. Un linguaggio di programmazione è arte o matematica? Questa è l'eterna domanda.
Penso che la cosa migliore di V sia l'offuscamento dei confini tra il design del linguaggio e lo sviluppo del programma.
Si compila da solo, e in tre o cinque secondi può essere ricompilato, e il codice è chiaro.
L'autore di V scrive nella struttura di directory del codice V:
Ho cercato di rendere il compilatore e il codice vlib il più semplice e leggibile possibile.
Uno degli obiettivi di V è quello di essere aperto agli sviluppatori con diversi livelli di esperienza nello sviluppo di compilatori. Il compilatore non deve essere una scatola nera piena di magia che solo poche persone possono capire.
Il compilatore V è modulare e può essere usato da altre applicazioni. Si trova su
cmd/v/
evlib/v/
.Il comando più importante e utile quando si lavora con il compilatore V è
v self
. Ricostruisce il compilatore V.La struttura del compilatore è molto semplice e ha tre passi diversi.
Parsing/generazione di AST (
v.parser
) => controllo del tipo (v.checker
) => generazione di codice C/JavaScript/macchina (v.gen
)
Si potrebbe pensare:
Ma penso che questa semplicità sia la cosa migliore di V.
Non pensate a V come a un tradizionale linguaggio di programmazione goffo con un compilatore che è un oscuro, oscuro libro nel cielo.
Pensatelo come un framework web front-end, come Vue, dove la barriera d'ingresso è bassa e tutti possono essere coinvolti.
Se hai un problema, cambialo e basta.
Fallo da solo e avrai molto da mangiare.
Un bel mondo nuovo non è qualcosa che si sta seduti ad aspettare, è qualcosa che le persone che lavorano creano con le loro mani.
v self
Compilalo tu stesso
V può facilmente compilare se stesso usando v self
. Sul mio portatile Apple versione 2015, ci vogliono 5,63 secondi per compilare una volta.
Vi consiglio di installarlo come codice sorgente.
git clone git@github.com:vlang/v.git
make
sudo ./v symlink
Se hai qualche idea, vai avanti e modifica direttamente il codice sorgente del compilatore o della libreria standard.
Poi usate v self
e compilatelo voi stessi. Una volta che hai elaborato i tuoi requisiti, fai il commit e il merge nel codice sorgente ufficiale.
Oggi ho appena imparato V e ho lanciato 3 richieste di fusione (1, 2, 3 ) con un suggerimento per il miglioramento del linguaggio: dichiarazione esplicita opzionale del supporto di un'interfaccia.
Non parlo bene l'inglese, ma con il traduttore su DeepL è facile convertire dal cinese all'inglese per una comunicazione approfondita con amici internazionali.
V Scrittura di sceneggiature
v init
Dopo aver inizializzato il progetto, ho bisogno di uno script di compilazione.
V può essere usato per scrivere questo script al posto di bash.
Il mio script di compilazione è il seguente.
#!/usr/bin/env -S v run
import v.vmod
fn sh(cmd string){
println("❯ $cmd")
print(execute_or_exit(cmd).output)
}
vm := vmod.decode( @VMOD_FILE ) or { panic(err) }
name := vm.name
sh('v -autofree -prod ${name}.v')
suffix := $if windows { '.exe' } $else { '' }
src := name + suffix
bin := join_path_single('bin',src)
mkdir('bin') or {}
mv(src, bin)?
println(' '+bin)
Controlla le modifiche ai file e riavvia automaticamente l'esecuzione
È mia abitudine scrivere ed eseguire uno script una volta, e monitorare i cambiamenti e riavviarlo automaticamente è ciò di cui ho bisogno.
v viene fornito con v watch run xx.v
per fare questo.
Ho creato uno script per facilitare l'uso di ./dev.sh
come segue.
#!/usr/bin/env bash
DIR=$(dirname $(realpath "$0"))
cd $DIR
set -ex
NAME=$(cat v.mod|grep name|awk -F\' '{print $2}')
SH="v watch run $NAME.v"
exec $SH \
-i '.git' \
-i 'bin' \
-c -s --before "printf \"\e[90m❯ ${SH}\e[0m\n\""
Per il modello di progetto vedere rmw-link/rmw-v-template