V Nyelvtanulási jegyzetek


Tartalomjegyzék :


Bevezetés: vlang, a jövő nyelve

vlang, front-end, back-end, big data, blockchain, mesterséges intelligencia, a társadalom minden területét áthatja. Más programozási nyelvek legyőzése és a világ egyesítése 2050-ben. Még a világ lingua francájává is vált, lehetővé téve az emberiség számára, hogy újjáépítse a legendás Bábel tornyát és ugrásszerűen fejlődjön a technológia terén ......

--- Idézi a People's Daily 2050Új ablakban megnyitás

Előszó

V语言Új ablakban megnyitás , Vlang, a hackerek programozási nyelve.

A rozsda és a zig jó, de túl szigorúak és akadémikusak.

A V inkább olyan gyorsindító nyelv, mint a javascript, kevésbé strukturált, gyorsan elkezdhető és persze gyors.

A V honlapon található hype-ok nagy része még nem vált be (pl. C-ről V-re automatikusan), és sokan hamis propagandának neveztékÚj ablakban megnyitás, például :

Az a helyes stratégia, hogy először a propagandára törekszünk, és csak azután valósítjuk meg; az emberek a képzelet közösségei.

A legtöbb ember azért hisz, mert lát, és néhányan azért látnak, mert hisznek.

Ahogyan a kommunizmusban való hit is lehet, hogy kisebbségben van, de mindig lesz egy nagyon kis számú ember, aki valóban hisz, és egy csillag tüze préritüzet gyújt. A kommunista párt nélkül nem lenne új Kína.

A számítógépes matematikusok talán kissé komolytalannak találják a V-t, de szerintem a hackerek imádni fogják a nyelvet.

A gondolkodás cselekvés, merész gondolkodás, merész próbálkozás, és talán ez a különbség a művészet és a matematika között. Egy programozási nyelv művészet vagy matematika? Ez az örök kérdés.

Szerintem a legjobb dolog a V-ben az, hogy elmosódnak a határok a nyelvtervezés és a programfejlesztés között.

Magától lefordítja magát, és három-öt másodperc alatt újrafordítható, és a kód tiszta.

A V szerzője a V kód könyvtárszerkezetébenÚj ablakban megnyitás írja :

Igyekeztem a fordítót és a vlib kódot a lehető legegyszerűbbé és olvashatóbbá tenni.

A V egyik célja, hogy nyitott legyen a különböző szintű fordítófejlesztői tapasztalattal rendelkező fejlesztők számára. A fordítónak nem kell egy varázslatokkal teli fekete doboznak lennie, amelyet csak néhány ember érthet meg.

A V fordító moduláris, és más alkalmazások is használhatják. Az alábbi címen található: cmd/v/ és vlib/v/.

A V fordítóval való munka során a legfontosabb és leghasznosabb parancs a v self. Újraépíti a V fordítót.

A fordító felépítése nagyon egyszerű, és három különböző lépésből áll.

AST elemzése/generálása ( v.parser) => típusellenőrzés ( v.checker) => C/JavaScript/gépi kód generálása ( v.gen)

Azt gondolhatnánk :

A lexert és az elemzőt nem számítva a magkód mindössze néhány ezer sor. Csak azt tudom mondani, hogy a szerző jó marketingmunkát végzett, és a hivatalos honlap is eléggé úgy néz ki.Új ablakban megnyitás

De szerintem ez az egyszerűség a legjobb dolog a V-ben.

Ne úgy gondolj a V-re, mint egy hagyományos, nehézkes programozási nyelvre, amelynek fordítója egy homályos, homályos könyv az égvilágon.

Gondolj rá úgy, mint egy webes front-end keretrendszerre, mint a Vue, ahol a belépési korlát alacsony, és mindenki részt vehet benne.

Ha problémája van, csak változtasson rajta.

Csináld magad, és lesz mit enned.

Egy szép új világ nem olyasmi, amire csak ülsz és vársz, hanem olyasmi, amit a dolgozó emberek a kezükkel teremtenek.

v self Állítsd össze magad

A V könnyedén lefordítja magát a v self segítségével. Az én 2015-ös verziójú Apple laptopomon 5,63 másodperc alatt egyszer lefordítja magát.

Javaslom, hogy forráskódként telepítsd.

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

Ha van valami ötlete, menjen előre, és módosítsa közvetlenül a fordító vagy a szabványos könyvtár forráskódját.

Ezután használja a v selfcímet, és fordítsa le saját maga. Miután kidolgoztad a követelményeidet, rögzítsd és egyesítsd őket a hivatalos forráskóddal.

Ma tanultam meg a V-t, és elindítottam 3 egyesítési kérelmet (1Új ablakban megnyitás, 2Új ablakban megnyitás, 3Új ablakban megnyitás ) egy nyelvfejlesztési javaslattal: egy interfész támogatásának opcionális explicit deklarálásaÚj ablakban megnyitás.

Nem beszélek jól angolul, de a DeepL weboldalon találhatóÚj ablakban megnyitás fordítóval könnyű kínairól angolra váltani, így a nemzetközi barátokkal való mélyreható kommunikációhoz könnyű a fordítás.

V Forgatókönyvek írása

v init A projekt inicializálása után szükségem van egy fordítási szkriptre.

V használható a szkript megírására a bash helyett.

A fordítási szkriptem a következő.

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

A fájlváltozások figyelése és a futás automatikus újraindítása

Az a szokásom, hogy egyszer írok és futtatok egy szkriptet, és a változások figyelése és automatikus újraindítása az, amire szükségem van.

v a v watch run xx.v oldalon található, hogy ezt megtehesse.

Létrehoztam egy szkriptet a ./dev.sh használatának megkönnyítésére a következőképpen.

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

A projektsablonért lásd rmw-link/rmw-v-templateÚj ablakban megnyitás

Frissítések:
A címről: gcxfd