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 2050
Priekšvārds
V语言
, 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 daudzi to ir nosaukuši par viltus propagandu, 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ā:
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/
unvlib/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:
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 self
un 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 (1, 2, 3 ) ar ierosinājumu valodas uzlabošanai: neobligāta skaidra interfeisa atbalsta deklarēšana.
Es labi nerunāju angliski, bet ar tulkotāju vietnē DeepL 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-template