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äAvaa uudessa ikkunassa

Esipuhe

V语言Avaa uudessa ikkunassa , 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 kutsuneetAvaa uudessa ikkunassa niitä vääräksi propagandaksiAvaa uudessa ikkunassa, 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 hakemistorakenteeseenAvaa uudessa ikkunassa:

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/ ja vlib/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 :

Jos lekseriä ja jäsentäjää ei lasketa mukaan, ydinkoodi on vain muutamia tuhansia rivejä. Voin vain sanoa, että kirjailija on tehnyt hyvää työtä markkinoinnissa, ja viralliset verkkosivut näyttävät aika lailla siltä.Avaa uudessa ikkunassa

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 selfja 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öä (1Avaa uudessa ikkunassa, 2Avaa uudessa ikkunassa, 3Avaa uudessa ikkunassa ), joissa on ehdotus kielen parantamiseksi: valinnainen nimenomainen ilmoitus rajapinnan tuestaAvaa uudessa ikkunassa.

En puhu hyvin englantia, mutta DeepL -sivustonAvaa uudessa ikkunassa 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.Avaa uudessa ikkunassa

Päivitykset:
Osoitteesta: gcxfd