V Notas de Aprendizagem de Línguas
Tabela de conteúdos :
Introdução: vlang, a linguagem do futuro
vlang, para front-end, back-end, grandes dados, blockchain, inteligência artificial, permeia todos os aspectos da sociedade. Vencendo outras linguagens de programação e unificando o mundo em 2050. Tornou-se mesmo a língua franca do mundo, permitindo à humanidade reconstruir a lendária Torre de Babel e avançar na tecnologia a passos largos ......
--- Citado do People's Daily 2050
Prefácio
V语言
Vlang, a linguagem de programação para hackers.
ferrugem e zig são bons, mas são demasiado rigorosos e académicos.
V é mais como uma linguagem de início rápido como o javascript, menos estruturada, rápida para começar e, claro, rápida.
Grande parte do hype na página inicial do V ainda não se concretizou (por exemplo, C para V automaticamente) e tem sido chamado de propaganda falsa por muitos, por exemplo :
É a estratégia certa para ir primeiro à propaganda e depois fazê-la acontecer; os seres humanos são uma comunidade de imaginação.
A maioria das pessoas acredita porque vê, e algumas pessoas vêem porque acreditam.
Assim como a crença no comunismo pode estar em minoria, mas sempre haverá um número muito pequeno de pessoas que realmente acreditam, e o fogo de uma estrela pode iniciar um incêndio na pradaria. Sem o Partido Comunista não haveria uma nova China.
Os matemáticos informáticos podem achar o V um pouco frívolo, mas acredito que os hackers vão adorar a linguagem.
Pensar é agir, ousar pensar, ousar tentar, e talvez seja essa a diferença entre arte e matemática. Uma linguagem de programação é arte ou matemática? Essa é a eterna questão.
Acho que o melhor do V é o esbatimento das fronteiras entre o design da linguagem e o desenvolvimento de programas.
Ele se compila a si mesmo, e em três ou cinco segundos pode ser recompilado, e o código é claro.
O autor de V escreve na estrutura do diretório de códigos V:
Eu tentei fazer o compilador e o código vlib tão simples e legível quanto possível.
Um dos objetivos do V é estar aberto a desenvolvedores com diferentes níveis de experiência no desenvolvimento de compiladores. O compilador não precisa de ser uma caixa negra cheia de magia que apenas algumas pessoas conseguem compreender.
O compilador V é modular e pode ser usado por outras aplicações. Está localizado em
cmd/v/
evlib/v/
.O comando mais importante e útil quando se trabalha com o compilador V é
v self
. Ele reconstrói o compilador V.A estrutura do compilador é muito simples e tem três passos diferentes.
Parsing/generating AST (
v.parser
) => verificando o tipo (v.checker
) => gerando código C/JavaScript/machine (v.gen
)
Poder-se-ia pensar :
Mas eu acho que esta simplicidade é a melhor coisa do V.
Não pense em V como uma tradicional linguagem de programação desajeitada com um compilador que é um livro obscuro e obscuro no céu.
Pense nisso como uma estrutura de front-end na web, como a Vue, onde a barreira à entrada é baixa e todos podem se envolver.
Se tiveres algum problema, muda-o.
Faça-o você mesmo e terá muito que comer.
Um lindo mundo novo não é algo que você simplesmente senta e espera, é algo que os trabalhadores criam com as mãos.
v self
Compile-a você mesmo
V pode facilmente compilar-se usando v self
. Na minha versão de 2015 do laptop da Apple, leva 5,63 segundos para compilar-se uma vez.
Eu recomendo instalá-lo como código fonte.
git clone git@github.com:vlang/v.git
make
sudo ./v symlink
Se você tiver alguma idéia, vá em frente e modifique o código fonte do compilador ou da biblioteca padrão diretamente.
Depois use v self
e compile-o você mesmo. Uma vez que você tenha trabalhado seus requisitos, comprometa-os e funda-os no código fonte oficial.
Hoje acabei de aprender V e lancei 3 pedidos de fusão (1, 2, 3 ) com uma sugestão para melhorar o idioma: declaração explícita de suporte opcional para uma interface.
Eu não falo bem inglês, mas com o tradutor em DeepL é fácil converter do chinês para o inglês para uma comunicação profunda com amigos internacionais.
V Redação de roteiros
v init
Após a inicialização do projeto, preciso de um roteiro de compilação.
V pode ser usado para escrever este guião em vez de bash.
O meu guião de compilação é o seguinte.
#!/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)
Monitorar as alterações do arquivo e reiniciar automaticamente a execução
É meu hábito escrever e executar um script uma vez, e monitorar por mudanças e reiniciá-lo automaticamente é o que eu preciso.
v vem com v watch run xx.v
para fazer isto.
Eu criei um script para facilitar o uso do ./dev.sh
da seguinte forma.
#!/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\""
Para o modelo de projeto ver rmw-link/rmw-v-template