V Noter til sprogindlæring


Indholdsfortegnelse :


Indledning: vlang, fremtidens sprog

vlang, til front-end, back-end, big data, blockchain, kunstig intelligens, gennemsyrer alle aspekter af samfundet. At slå andre programmeringssprog og forene verden i 2050. Det blev endda verdens lingua franca, hvilket gjorde det muligt for menneskeheden at genopbygge det legendariske Babelstårn og gøre teknologiske fremskridt med stormskridt ......

--- Citeret fra People's Daily 2050Åbn i et nyt vindue

Forord

V语言Åbn i et nyt vindue , Vlang, programmeringssproget for hackere.

rust og zig er gode, men de er for strenge og akademiske.

V er mere som et sprog til hurtigstart som javascript, mindre struktureret, hurtigt at komme i gang med og selvfølgelig hurtigt.

Meget af det, der står på V-hjemmesiden, er endnu ikke slået igennem (f.eks. automatisk fra C til V) og er af mange blevet kaldt falsk propagandaÅbn i et nyt vindue, f.eks:

Det er den rigtige strategi først at gå efter propaganda og derefter at gøre det til virkelighed; mennesker er et fællesskab af fantasifulde mennesker.

De fleste mennesker tror, fordi de ser, og nogle mennesker ser, fordi de tror.

Ligesom troen på kommunismen måske er i mindretal, men der vil altid være et meget lille antal mennesker, der virkelig tror på den, og en stjernes ild kan starte en præriebrand. Uden det kommunistiske parti ville der ikke være noget nyt Kina.

Computermatematikere vil måske finde V lidt useriøst, men jeg tror, at hackere vil elske sproget.

At tænke er at handle, at turde tænke, at turde prøve, og måske er det forskellen mellem kunst og matematik. Er et programmeringssprog kunst eller matematik? Det er det evige spørgsmål.

Jeg tror, at det bedste ved V er, at grænserne mellem sprogdesign og programudvikling udviskes.

Den kompilerer sig selv, og på tre eller fem sekunder kan den kompileres igen, og koden er klar.

Forfatteren af V skriver i V-kodens mappestrukturÅbn i et nyt vindue:

Jeg har forsøgt at gøre compileren og vlib-koden så enkel og letlæselig som muligt.

Et af målene med V er at være åben for udviklere med forskellige niveauer af erfaring med compilerudvikling. Compileren behøver ikke at være en sort boks fuld af magi, som kun nogle få mennesker kan forstå.

V-kompileren er modulær og kan bruges af andre programmer. Det ligger på cmd/v/ og vlib/v/.

Den vigtigste og mest nyttige kommando, når du arbejder med V-kompileren, er v self. Den genopbygger V-kompileren.

Compilerensatoren er meget enkel i sin opbygning og består af tre forskellige trin.

Parsing/generering af AST ( v.parser) => kontrol af typen ( v.checker) => generering af C/JavaScript/maskinkode ( v.gen)

Man kunne tro :

Uden at medregne lexer og parser er kernekoden kun et par tusinde linjer. Jeg kan kun sige, at forfatteren har gjort et godt stykke arbejde med markedsføringen, og den officielle hjemmeside ser stort set ud som den.Åbn i et nyt vindue

Men jeg synes, at denne enkelhed er det bedste ved V.

Du skal ikke tænke på V som et traditionelt klodset programmeringssprog med en compiler, der er en obskur, obskur bog i himlen.

Tænk på det som en webfront-end ramme, ligesom Vue, hvor adgangsbarrieren er lav, og hvor alle kan være med.

Hvis du har et problem, skal du bare ændre det.

Gør det selv, så har du masser at spise.

En smuk ny verden er ikke noget, man bare sidder og venter på, det er noget, som arbejdende mennesker skaber med deres hænder.

v self Kompilér det selv

V kan nemt kompilere sig selv ved hjælp af v self. På min 2015-version af Apples bærbare computer tager det 5,63 sekunder at kompilere én gang.

Jeg anbefaler at installere det som kildekode.

git clone git@github.com:vlang/v.git
make
sudo ./v symlink

Hvis du har nogle ideer, kan du ændre kildekoden til compileren eller standardbiblioteket direkte.

Brug derefter v selfog kompilér det selv. Når du har udarbejdet dine krav, skal du overføre dem til den officielle kildekode og flette dem sammen med den officielle kildekode.

I dag har jeg lige lært V, og jeg har lanceret 3 merge requests (1Åbn i et nyt vindue, 2Åbn i et nyt vindue, 3Åbn i et nyt vindue ) med et forslag til forbedring af sproget: valgfri eksplicit deklaration af understøttelse af en grænseflade.Åbn i et nyt vindue

Jeg taler ikke så godt engelsk, men med oversætteren på DeepLÅbn i et nyt vindue er det nemt at konvertere fra kinesisk til engelsk for at kunne kommunikere grundigt med internationale venner.

V Skriftlige manuskripter

v init Efter initialisering af projektet har jeg brug for et kompileringsscript.

V kan bruges til at skrive dette script i stedet for bash.

Mit kompileringsskript er som følger.

#!/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)

Overvåg filændringer og genstart automatisk kørslen

Jeg har for vane at skrive og køre et script én gang, og overvågning af ændringer og automatisk genstart er det, jeg har brug for.

v leveres med v watch run xx.v til at gøre dette.

Jeg har lavet et script til at lette brugen af ./dev.sh på følgende måde.

#!/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\""

For projektskabelonen se rmw-link/rmw-v-templateÅbn i et nyt vindue

Opdateringer:
Fra: gcxfd