V keeleõppe märkmed
Sisukord :
Sissejuhatus: vlang, tuleviku keel
vlang, front-end, back-end, suured andmed, blockchain, tehisintellekt, läbib kõiki ühiskonna aspekte. Teiste programmeerimiskeelte edestamine ja maailma ühendamine 2050. aastal. Sellest sai isegi maailma lingua franca, mis võimaldas inimkonnal ehitada uuesti üles legendaarse Paabeli torni ja areneda tehnoloogiliselt hüppeliselt ......
--- Tsiteeritud People's Daily 2050
Eessõna
V语言
, Vlang, programmeerimiskeel häkkeritele.
rooste ja zig on head, kuid need on liiga ranged ja akadeemilised.
V on rohkem nagu javascript'i sarnane kiirkeel, vähem struktureeritud, kiire alustamine ja muidugi kiire.
Suur osa V kodulehekülje hype'ist ei ole veel kinnistunud (nt C-st V-ks automaatselt) ja paljud on seda nimetanud valepropagandaks, näiteks :
See on õige strateegia, et kõigepealt püüelda propaganda poole ja siis seda ellu viia; inimesed on kujutlusvõime kogukond.
Enamik inimesi usub, sest nad näevad, ja mõned inimesed näevad, sest nad usuvad.
Nii nagu ka kommunismi usk võib olla vähemuses, kuid alati on väga väike hulk inimesi, kes tõesti usuvad, ja ühe tähe tuli võib süüdata preeriatule. Ilma kommunistliku parteita ei oleks uut Hiinat.
Arvutimatemaatikutele võib V tunduda veidi kergemeelne, kuid ma usun, et häkkerid armastavad seda keelt.
Mõtlemine on tegutsemine, mõtlemise julgus, proovimise julgus, ja võib-olla ongi see kunsti ja matemaatika vahe. Kas programmeerimiskeel on kunst või matemaatika? See on igavene küsimus.
Minu arvates on V parim asi see, et keele disaini ja programmiarenduse piirid hägustuvad.
See kompileerib end ise ja kolme või viie sekundiga saab selle uuesti kompileerida ning kood on selge.
V autor kirjutab V koodi kataloogistruktuuris:
Olen püüdnud teha kompilaatori ja vlib-koodi võimalikult lihtsaks ja loetavaks.
Üks V eesmärkidest on olla avatud erineva kompilaatorite arendamise kogemusega arendajatele. Kompilaator ei pea olema must kast täis maagiat, millest vaid mõned inimesed saavad aru.
V kompilaator on modulaarne ja seda saab kasutada teiste rakenduste jaoks. See asub aadressil
cmd/v/
javlib/v/
.Kõige olulisem ja kasulikum käsk V kompilaatoriga töötamisel on
v self
. See ehitab V kompilaatori ümber.Kompilaatori struktuur on väga lihtne ja koosneb kolmest erinevast etapist.
AST analüüsimine/genereerimine (
v.parser
) => tüübi kontrollimine (v.checker
) => C/JavaScript/masinakoodi genereerimine (v.gen
)
Võib arvata:
Aga ma arvan, et see lihtsus ongi V parim asi.
Ärge mõelge V-st kui traditsioonilisest kohmakast programmeerimiskeelest, mille kompilaator on mingi hämaram, hämaram raamat taevas.
Mõelge sellest kui veebi esiplaani raamistikust, nagu Vue, kus sisenemisbarjäär on madal ja igaüks saab osaleda.
Kui teil on probleem, siis lihtsalt muutke seda.
Tehke seda ise ja teil on palju süüa.
Ilusat uut maailma ei saa lihtsalt istuda ja oodata, seda loovad tööinimesed oma kätega.
v self
Koostage see ise
V saab hõlpsasti ise kompileerida, kasutades v self
. Minu 2015. aasta versioonis Apple'i sülearvutis võtab kompileerimine kord 5,63 sekundit.
Soovitan seda paigaldada lähtekoodina.
git clone git@github.com:vlang/v.git
make
sudo ./v symlink
Kui teil on mingeid ideid, minge edasi ja muutke otse kompilaatori või standardraamatukogu lähtekoodi.
Seejärel kasutage v self
ja koostage see ise. Kui olete oma nõuded selgeks saanud, võtke need üle ja ühendage need ametlikku lähtekoodi.
Täna õppisin just V ja olen käivitanud 3 ühinemispäringut (1, 2, 3 ) koos keele parandamise ettepanekuga: valikuline selgesõnaline liidese toetuse deklareerimine.
Ma ei oska hästi inglise keelt, kuid tõlkijaga aadressil DeepL on lihtne hiina keelest inglise keelde konverteerida, et rahvusvaheliste sõpradega põhjalikult suhelda .
V Skriptide kirjutamine
v init
Pärast projekti initsialiseerimist vajan ma kompileerimisskripti.
V saab kasutada selle skripti kirjutamiseks bash'i asemel.
Minu kompileerimisskript on järgmine.
#!/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)
Jälgib faili muutusi ja käivitab automaatselt uuesti
Mul on kombeks kirjutada ja käivitada skript üks kord ning jälgida muutusi ja käivitada see automaatselt uuesti, mida ma vajan.
v on kaasas v watch run xx.v
, et seda teha.
Lõin skripti, mis hõlbustab ./dev.sh
kasutamist järgmiselt.
#!/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\""
Projekti malli vt rmw-link/rmw-v-template