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 2050Abrir em uma nova janela

Prefácio

V语言Abrir em uma nova janela 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 muitosAbrir em uma nova janela, 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 VAbrir em uma nova janela:

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/ e vlib/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 :

Sem contar com o Lexer e o Parser, o código central é apenas alguns milhares de linhas. Só posso dizer que o autor fez um bom trabalho de marketing e o site oficial se parece muito com isso.Abrir em uma nova janela

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 selfe 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 (1Abrir em uma nova janela, 2Abrir em uma nova janela, 3Abrir em uma nova janela ) com uma sugestão para melhorar o idioma: declaração explícita de suporte opcional para uma interfaceAbrir em uma nova janela.

Eu não falo bem inglês, mas com o tradutor em DeepLAbrir em uma nova janela é 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-templateAbrir em uma nova janela

Actualizações:
A partir de: gcxfd