V Kielen oppiminen Huomautuksia
Sisällysluettelo :
Johdanto: vlang, tulevaisuuden kieli
vlang, front-end, back-end, big data, lohkoketju, tekoäly, läpäisee kaikki yhteiskunnan osa-alueet. Muiden ohjelmointikielten voittaminen ja maailman yhdistäminen vuonna 2050. Siitä tuli jopa maailman lingua franca, jonka ansiosta ihmiskunta pystyi rakentamaan uudelleen legendaarisen Baabelin tornin ja etenemään teknologiassa harppauksin ......
--- Lainattu People's Daily 2050 -lehdestä
Esipuhe
V语言
, Vlang, hakkerien ohjelmointikieli.
rust ja zig ovat hyviä, mutta ne ovat liian tiukkoja ja akateemisia.
V on pikemminkin kuin javascriptin kaltainen pikakäynnistyskieli, joka on vähemmän jäsennelty, nopea aloittaa ja tietenkin nopea.
Suuri osa V:n kotisivulla esitetyistä huhuista ei ole vielä toteutunut (esim. C:stä automaattisesti V:ksi), ja monet ovat kutsuneet niitä vääräksi propagandaksi, esimerkiksi :
On oikea strategia ensin pyrkiä propagandaan ja sitten toteuttaa se; ihmiset ovat mielikuvitusyhteisö.
Useimmat ihmiset uskovat, koska he näkevät, ja jotkut näkevät, koska he uskovat.
Aivan kuten kommunismiin uskominen voi olla vähemmistönä, mutta aina tulee olemaan hyvin pieni määrä ihmisiä, jotka todella uskovat, ja tähden tuli voi sytyttää preerian palon. Ilman kommunistista puoluetta ei olisi uutta Kiinaa.
Tietokonematemaatikot saattavat pitää V:tä hieman kevytmielisenä, mutta uskon, että hakkerit tulevat rakastamaan kieltä.
Ajattelu on toimintaa, uskallusta ajatella, uskallusta yrittää, ja ehkä juuri siinä on taiteen ja matematiikan ero. Onko ohjelmointikieli taidetta vai matematiikkaa? Se on ikuinen kysymys.
Mielestäni parasta V:ssä on se, että kielisuunnittelun ja ohjelmankehityksen rajat hämärtyvät.
Se kääntyy itsestään, ja kolmessa tai viidessä sekunnissa se voidaan kääntää uudelleen, ja koodi on selkeä.
V:n kirjoittaja kirjoittaa V-koodin hakemistorakenteeseen:
Olen yrittänyt tehdä kääntäjän ja vlib-koodin mahdollisimman yksinkertaiseksi ja luettavaksi.
Yksi V:n tavoitteista on olla avoin kehittäjille, joilla on eritasoista kokemusta kääntäjien kehittämisestä. Kääntäjän ei tarvitse olla musta laatikko täynnä taikuutta, jota vain harvat ymmärtävät.
V-kääntäjä on modulaarinen ja sitä voidaan käyttää muissa sovelluksissa. Se sijaitsee osoitteessa
cmd/v/
javlib/v/
.Tärkein ja hyödyllisin komento V-kääntäjän kanssa työskenneltäessä on
v self
. Se rakentaa V-kääntäjän uudelleen.Kääntäjän rakenne on hyvin yksinkertainen, ja siinä on kolme eri vaihetta.
AST:n jäsentäminen/luominen (
v.parser
) => tyypin tarkistaminen (v.checker
) => C/JavaScript/konekoodin luominen (v.gen
).
Voisi ajatella :
Mutta mielestäni tämä yksinkertaisuus on V:n paras puoli.
Älä ajattele V:tä perinteisenä kömpelönä ohjelmointikielenä, jonka kääntäjä on hämärä, hämärä kirja taivaalla.
Ajattele sitä Vue:n kaltaisena web front-end -kehyksenä, jossa sisäänpääsyn kynnys on matala ja jossa kaikki voivat osallistua.
Jos sinulla on ongelma, vaihda se.
Tee se itse, niin sinulla on paljon syötävää.
Kaunista uutta maailmaa ei voi vain istua odottamassa, vaan sitä luovat työtätekevät ihmiset käsillään.
v self
Käännä se itse
V kääntää itsensä helposti käyttämällä v self
. Minun 2015-versiossani Applen kannettavassa tietokoneessa kääntäminen kestää 5,63 sekuntia.
Suosittelen sen asentamista lähdekoodina.
git clone git@github.com:vlang/v.git
make
sudo ./v symlink
Jos sinulla on ideoita, voit muuttaa suoraan kääntäjän tai standardikirjaston lähdekoodia.
Käytä sitten v self
ja käännä se itse. Kun olet selvittänyt vaatimuksesi, vahvista ja yhdistä ne viralliseen lähdekoodiin.
Tänään olen juuri oppinut V:n ja käynnistänyt 3 yhdistämispyyntöä (1, 2, 3 ), joissa on ehdotus kielen parantamiseksi: valinnainen nimenomainen ilmoitus rajapinnan tuesta.
En puhu hyvin englantia, mutta DeepL -sivuston kääntäjän avulla on helppo kääntää kiinasta englanniksi, jotta voit kommunikoida syvällisesti kansainvälisten ystävien kanssa.
V Käsikirjoitusten kirjoittaminen
v init
Projektin alustamisen jälkeen tarvitsen kääntämisskriptin.
V:tä voidaan käyttää tämän skriptin kirjoittamiseen bashin sijasta.
Käännösskriptini on seuraava.
#!/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)
Seuraa tiedostomuutoksia ja käynnistä ajo automaattisesti uudelleen
Minulla on tapana kirjoittaa ja ajaa skripti kerran, ja tarvitsen muutosten seurantaa ja sen automaattista uudelleenkäynnistämistä.
v:n mukana tulee v watch run xx.v
tätä varten.
Olen luonut skriptin, joka helpottaa ./dev.sh
käyttöä seuraavasti.
#!/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\""
Projektimalli on osoitteessa rmw-link/rmw-v-template.