V Valodu apguves piezīmes


Saturs :


Ievads: vlang - nākotnes valoda

vlang, front-end, back-end, lielo datu, blokķēdes, mākslīgais intelekts ir izplatīts visos sabiedrības aspektos. Pārspēt citas programmēšanas valodas un apvienot pasauli 2050. gadā. Tā pat kļuva par pasaules lingua franca, kas ļāva cilvēcei atjaunot leģendāro Bābeles torni un strauji attīstīties tehnoloģiju jomā. ......

--- Citēts no laikraksta People's Daily 2050Atvērt jaunā logā

Priekšvārds

V语言Atvērt jaunā logā , Vlang - programmēšanas valoda hakeriem.

rust un zig ir labi, bet tie ir pārāk stingri un akadēmiski.

V ir vairāk līdzīga ātrai uzsākšanas valodai, piemēram, javascript, mazāk strukturēta, ātri sākama un, protams, ātra.

Liela daļa no V mājaslapā paustā hype vēl nav pieņēmusies spēkā (piemēram, C uz V automātiski), un daudziAtvērt jaunā logā to ir nosaukuši par viltus propaganduAtvērt jaunā logā, piemēram, :

Tā ir pareiza stratēģija - vispirms uzsākt propagandu un tad to īstenot; cilvēki ir iztēles kopiena.

Lielākā daļa cilvēku tic, jo viņi redz, bet daži cilvēki redz, jo viņi tic.

Tāpat kā ticība komunismam var būt mazākumā, bet vienmēr būs ļoti neliels skaits cilvēku, kas patiešām tic, un zvaigznes uguns var izraisīt prēriju ugunsgrēku. Bez Komunistiskās partijas nebūtu jaunās Ķīnas.

Datormatemātiķiem V var šķist mazliet vieglprātīga, bet es ticu, ka hakeriem šī valoda patiks.

Domāšana ir rīcība, drosme domāt, drosme mēģināt, un varbūt tā ir atšķirība starp mākslu un matemātiku. Vai programmēšanas valoda ir māksla vai matemātika? Tas ir mūžīgais jautājums.

Manuprāt, labākais, kas, manuprāt, ir V, ir robežu izplūšana starp valodas dizainu un programmu izstrādi.

Tā kompilējas pati, un trīs vai piecu sekunžu laikā to var pārkompilēt, un kods ir skaidrs.

V autors raksta V koda direktoriju struktūrāAtvērt jaunā logā:

Esmu centies kompilatoru un vlib kodu padarīt pēc iespējas vienkāršāku un lasāmāku.

Viens no V mērķiem ir būt atvērtam izstrādātājiem ar dažāda līmeņa pieredzi kompilatoru izstrādē. Kompilatoram nav jābūt melnai, burvju pilnai kastītei, ko saprot tikai daži cilvēki.

V kompilators ir modulārs, un to var izmantot citās lietojumprogrammās. Tas atrodas cmd/v/ un vlib/v/.

Svarīgākā un noderīgākā komanda darbā ar V kompilatoru ir v self. Tas pārbūvē V kompilatoru.

Kompilatora struktūra ir ļoti vienkārša, un tajā ir trīs dažādi soļi.

AST analizēšana/ģenerēšana ( v.parser) => tipa pārbaude ( v.checker) => C/JavaScript/mašīnas koda ģenerēšana ( v.gen).

Varētu domāt:

Neskaitot lekseri un analizatoru, kodols sastāv tikai no dažiem tūkstošiem rindu. Es varu tikai teikt, ka autors ir paveicis labu mārketinga darbu, un oficiālā tīmekļa vietne izskatās diezgan līdzīgi.Atvērt jaunā logā

Taču, manuprāt, tieši šī vienkāršība ir labākā V.

Nedomājiet par V kā par tradicionālu neveiklu programmēšanas valodu ar kompilatoru, kas ir neskaidra, neskaidra grāmata debesīs.

Domājiet par to kā par tīmekļa front-end ietvaru, piemēram, Vue, kurā piekļuves barjera ir zema un kurā var iesaistīties ikviens.

Ja jums ir problēma, vienkārši to mainiet.

Dariet to paši, un jums būs ko ēst.

Jauna, skaista pasaule nav kaut kas tāds, ko var tikai sēdēt un gaidīt, to rada strādājoši cilvēki ar savām rokām.

v self Kompilējiet to pats

V var viegli kompilēt pats, izmantojot v self. Manā 2015. gada Apple klēpjdatorā kompilēšana vienu reizi aizņem 5,63 sekundes.

Es iesaku to instalēt kā pirmkodu.

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

Ja jums ir kādas idejas, mainiet tieši kompilatora vai standarta bibliotēkas pirmkodu.

Pēc tam izmantojiet v selfun kompilējiet to pats. Kad esat izstrādājis savas prasības, nododiet un apvienojiet tās ar oficiālo pirmkodu.

Šodien es tikko iemācījos V un esmu uzsācis 3 apvienošanas pieprasījumus (1Atvērt jaunā logā, 2Atvērt jaunā logā, 3Atvērt jaunā logā ) ar ierosinājumu valodas uzlabošanai: neobligāta skaidra interfeisa atbalsta deklarēšanaAtvērt jaunā logā.

Es labi nerunāju angliski, bet ar tulkotāju vietnē DeepLAtvērt jaunā logā ir viegli konvertēt no ķīniešu valodas uz angļu valodu, lai padziļināti sazinātos ar draugiem no ārzemēm.

V Scenāriju rakstīšana

v init Pēc projekta inicializēšanas man ir nepieciešams kompilēšanas skripts.

V var izmantot, lai uzrakstītu šo skriptu bash vietā.

Mans kompilēšanas skripts ir šāds.

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

Faila izmaiņu uzraudzīšana un automātiska darbības restartēšana

Man ir ieradums vienreiz uzrakstīt un palaist skriptu, un man ir nepieciešama izmaiņu uzraudzība un automātiska tā atkārtota palaišana.

v ir pieejams v watch run xx.v, lai to izdarītu.

Es izveidoju šādu skriptu, lai atvieglotu ./dev.sh izmantošanu.

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

Projekta veidni skatiet rmw-link/rmw-v-templateAtvērt jaunā logā

Atjauninājumi:
No: gcxfd