V Opombe o učenju jezikov
Vsebina :
Uvod: vlang, jezik prihodnosti
vlang, za front-end, back-end, big data, blockchain, umetno inteligenco, prodira v vse vidike družbe. Premagovanje drugih programskih jezikov in poenotenje sveta leta 2050. Postal je celo svetovni jezik, ki je človeštvu omogočil obnovo legendarnega Babilonskega stolpa in skokovit tehnološki napredek. ......
--- Citirano v People's Daily 2050
Predgovor
V语言
Vlang, programski jezik za hekerje.
rust in zig sta dobra, vendar sta preveč toga in kolegialna.
V je bolj podoben jeziku za hiter začetek, kot je javascript, manj strukturiran, hiter za začetek in seveda hiter.
Veliko razburjenja okoli domače strani V se še ni prijelo (npr. C na V samodejno) in mnogi so ga označili za lažno, npr:
Prava strategija je najprej oglaševati, nato pa se zavedati, da so ljudje skupnost domišljije.
Večina ljudi verjame, ker vidi, nekateri pa vidijo, ker verjamejo.
Tako kot je lahko vera v komunizem v manjšini, vendar bo vedno obstajalo zelo majhno število ljudi, ki dejansko verjamejo, in ogenj zvezde lahko sproži prerijo. Brez komunistične partije ne bi bilo nove Kitajske.
Morda se bo računalniškim matematikom jezik V zdel nekoliko lahkoten, vendar sem prepričan, da bo všeč hekerjem.
Razmišljanje je delovanje, upanje razmišljati, upanje poskusiti, in morda je to razlika med umetnostjo in matematiko. Je programski jezik umetnost ali matematika? To je večno vprašanje.
Mislim, da je največja prednost V zabrisovanje meja med načrtovanjem jezika in razvojem programa.
Sestavi se sama in v treh ali petih sekundah jo lahko ponovno sestavite, koda pa je jasna.
Avtor programa V piše v strukturi imenika kode V:
Poskušal sem narediti prevajalnik in kodo vlib čim bolj preproste in berljive.
Eden od ciljev programa V je, da je odprt za razvijalce z različnimi stopnjami izkušenj pri razvoju prevajalnikov. Prevajalniku ni treba biti črna škatla, polna čarovnij, ki jih lahko razume le nekaj ljudi.
Prevajalnik V je modularen in ga lahko uporabljajo tudi druge aplikacije. Nahaja se na spletnih straneh
cmd/v/
invlib/v/
.Najpomembnejši in najuporabnejši ukaz pri uporabi prevajalnika V je
v self
. Ponovno vzpostavi prevajalnik V.Struktura prevajalnika je zelo preprosta in ima tri različne korake.
Razčlenjevanje/generiranje AST (
v.parser
) => preverjanje tipa (v.checker
) => generiranje kode C/JavaScript/strojne kode (v.gen
)
Nekateri morda mislijo, da :
Menim, da je ta preprostost največja prednost sistema V.
O jeziku V ne razmišljajte kot o tradicionalnem okornem programskem jeziku s prevajalnikom, ki je obskurna, neznana knjiga na nebu.
Predstavljajte si ga kot spletno ogrodje za sprednji del, kot je Vue, ki ima nizko vstopno oviro in v katerega se lahko vključi vsakdo.
Če imate težave, jih preprosto zamenjajte.
Naredite to sami in dobro se boste nahranili.
Krasen nov svet ni nekaj, na kar bi samo sedeli in čakali, temveč nekaj, kar ustvarjajo delovni ljudje s svojimi rokami.
v self
se sestavi sam
Program V se zlahka sestavi sam s pomočjo spletne strani v self
, na mojem prenosnem računalniku Apple iz leta 2015 pa za enkratno sestavo potrebuje 5,63 sekunde.
Priporočam, da ga namestite kot izvorno kodo.
git clone git@github.com:vlang/v.git
make
sudo ./v symlink
Za vse zamisli spremenite izvorno kodo prevajalnika ali standardne knjižnice neposredno.
Nato uporabite v self
in ga sestavite sami. Ko določite svoje zahteve, jih objavite in združite v uradno izvorno kodo.
Danes sem se pravkar naučil V in sprožil 3 zahteve za združitev (1, 2, 3 ) s predlogom za izboljšanje jezika: neobvezna izrecna izjava o podpori vmesniku.
Ne govorim dobro angleško, vendar s prevajalnikom na spletni strani DeepL zlahka poglobljeno komuniciram z mednarodnimi prijatelji o kitajščini v angleščino.
V Pisanje scenarijev
Po inicializaciji projekta na naslovu v init
potrebujem skripto za sestavljanje.
V lahko napišete takšne skripte namesto basha.
Moj skript za sestavljanje je naslednji.
#!/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)
Spremljanje sprememb datotek in samodejni ponovni zagon
Moja navada je, da napišem in zaženem enkrat, spremljanje sprememb v datotekah in njihov samodejni ponovni zagon pa je nekaj, kar preprosto potrebujem.
v je na voljo v watch run xx.v
, ki to omogoča.
Ustvaril sem skripto za lažjo uporabo spletne strani ./dev.sh
, kot sledi.
#!/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\""
Za predlogo projekta glejte rmw-link/rmw-v-template