V Note de învățare a limbilor străine


Cuprins :


Introducere: vlang, limbajul viitorului

vlang, pentru front-end, back-end, big data, blockchain, inteligență artificială, pătrunde în fiecare aspect al societății. Învingerea altor limbaje de programare și unificarea lumii în 2050. A devenit chiar lingua franca a lumii, permițând omenirii să reconstruiască legendarul Turn Babel și să avanseze în tehnologie cu pași repezi ......

--- Citat din People's Daily 2050Deschideți într-o fereastră nouă

Prefață

V语言Deschideți într-o fereastră nouă , Vlang, limbajul de programare pentru hackeri.

Rust și Zig sunt bune, dar sunt prea riguroase și academice.

V este mai degrabă un limbaj de început rapid, precum javascript, mai puțin structurat, rapid de început și, bineînțeles, rapid.

O mare parte din ceea ce se vehiculează pe pagina de start a V nu a avut încă efect (de exemplu, trecerea automată de la C la V) și a fost numită propagandă falsă de mulțiDeschideți într-o fereastră nouă, de exemplu :

Este strategia corectă să faci propagandă mai întâi și apoi să o faci să se întâmple; ființele umane sunt o comunitate a imaginației.

Cei mai mulți oameni cred pentru că văd, iar unii oameni văd pentru că cred.

La fel cum, credința în comunism poate fi minoritară, dar va exista întotdeauna un număr foarte mic de oameni care chiar cred, iar focul unei stele poate declanșa un incendiu de preerie. Fără Partidul Comunist nu ar exista o nouă China.

Matematicienii ar putea găsi V un pic frivol, dar cred că hackerii vor adora acest limbaj.

A gândi înseamnă a acționa, a îndrăzni să gândești, a îndrăzni să încerci, și poate că aceasta este diferența dintre artă și matematică. Este un limbaj de programare artă sau matematică? Aceasta este eterna întrebare.

Cred că cel mai bun lucru despre V este faptul că se estompează granițele dintre proiectarea limbajului și dezvoltarea de programe.

Se compilează singur, iar în trei sau cinci secunde poate fi recompilat, iar codul este clar.

Autorul lui V scrie în structura de directoare a codului VDeschideți într-o fereastră nouă:

Am încercat să fac compilatorul și codul vlib cât mai simplu și mai ușor de citit posibil.

Unul dintre obiectivele V este de a fi deschis dezvoltatorilor cu diferite niveluri de experiență în dezvoltarea de compilatoare. Compilatorul nu trebuie să fie o cutie neagră plină de magie pe care doar câțiva oameni o pot înțelege.

Compilatorul V este modular și poate fi utilizat de alte aplicații. Acesta este situat la cmd/v/ și vlib/v/.

Cea mai importantă și utilă comandă atunci când se lucrează cu compilatorul V este v self. Aceasta reconstruiește compilatorul V.

Structura compilatorului este foarte simplă și are trei etape diferite.

Parsarea/generarea AST ( v.parser) => verificarea tipului ( v.checker) => generarea de cod C/JavaScript/mașină ( v.gen)

S-ar putea crede :

Fără a pune la socoteală lexerul și parserul, codul de bază are doar câteva mii de linii. Pot spune doar că autorul a făcut o treabă bună de marketing, iar site-ul oficial arată cam așa.Deschideți într-o fereastră nouă

Dar cred că această simplitate este cel mai bun lucru la V.

Nu vă gândiți la V ca la un limbaj de programare tradițional și greoi, cu un compilator care este o carte obscură, obscură în cer.

Gândiți-vă la el ca la un cadru de front-end web, precum Vue, în care bariera de intrare este redusă și în care toată lumea se poate implica.

Dacă aveți o problemă, pur și simplu schimbați-l.

Fă-o singur și vei avea ce mânca.

O lume nouă și frumoasă nu este ceva ce trebuie să aștepți, ci ceva ce oamenii care muncesc creează cu mâinile lor.

v self Compilați-l singur

V se poate compila singur cu ușurință folosind v self. Pe versiunea 2015 a laptopului meu Apple, durează 5,63 secunde pentru a compila o singură dată.

Vă recomand să îl instalați ca și cod sursă.

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

Dacă aveți vreo idee, puteți modifica direct codul sursă al compilatorului sau al bibliotecii standard.

Apoi, utilizați v selfși compilați-l singur. După ce ați stabilit cerințele, confirmați-le și unificați-le în codul sursă oficial.

Astăzi tocmai am aflat V și am lansat 3 cereri de fuziune (1Deschideți într-o fereastră nouă, 2Deschideți într-o fereastră nouă, 3Deschideți într-o fereastră nouă ) cu o sugestie de îmbunătățire a limbajului: declararea explicită opțională a suportului pentru o interfațăDeschideți într-o fereastră nouă.

Nu vorbesc bine engleza, dar cu ajutorul traducătorului de pe DeepLDeschideți într-o fereastră nouă este ușor să convertesc din chineză în engleză pentru o comunicare aprofundată cu prietenii internaționali.

V Scrierea scenariilor

v init După inițializarea proiectului, am nevoie de un script de compilare.

V poate fi folosit pentru a scrie acest script în loc de bash.

Scriptul meu de compilare este următorul.

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

Monitorizarea modificărilor de fișiere și repornirea automată a execuției

Obișnuiesc să scriu și să execut un script o singură dată, iar monitorizarea modificărilor și repornirea automată a acestuia este ceea ce am nevoie.

v vine cu v watch run xx.v pentru a face acest lucru.

Am creat un script pentru a facilita utilizarea ./dev.sh după cum urmează.

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

Pentru șablonul de proiect, vezi rmw-link/rmw-v-templateDeschideți într-o fereastră nouă.

Actualizări:
De la: gcxfd