V Notas de aprendizaje de idiomas
Índice de contenidos :
Introducción: vlang, el lenguaje del futuro
vlang, para front-end, back-end, big data, blockchain, inteligencia artificial, impregna todos los aspectos de la sociedad. Vencer a otros lenguajes de programación y unificar el mundo en 2050. Incluso se convirtió en la lengua franca del mundo, lo que permitió a la humanidad reconstruir la legendaria Torre de Babel y avanzar en tecnología a pasos agigantados ......
--- Citado en el Diario del Pueblo 2050
Prefacio
V语言
Vlang, el lenguaje de programación para hackers.
El óxido y el zig son buenos, pero son demasiado rigurosos y académicos.
V es más bien un lenguaje de inicio rápido como javascript, menos estructurado, rápido de empezar y por supuesto rápido.
Gran parte del bombo y platillo de la página de inicio de V aún no ha cuajado (por ejemplo, C a V automáticamente) y ha sido calificado por muchos como propaganda falsa, por ejemplo :
La estrategia correcta es apostar primero por la propaganda y luego hacerla realidad; el ser humano es una comunidad de imaginación.
La mayoría de la gente cree porque ve, y algunos ven porque creen.
Al igual que, la creencia en el comunismo puede ser minoritaria, pero siempre habrá un número muy pequeño de personas que realmente creen, y el fuego de una estrella puede iniciar un incendio en la pradera. Sin el Partido Comunista no habría una nueva China.
Los matemáticos informáticos pueden encontrar V un poco frívolo, pero creo que a los hackers les encantará el lenguaje.
Pensar es actuar, atreverse a pensar, atreverse a intentarlo, y quizá esa sea la diferencia entre el arte y las matemáticas. ¿Un lenguaje de programación es arte o matemáticas? Esa es la eterna pregunta.
Creo que lo mejor de V es la difuminación de los límites entre el diseño del lenguaje y el desarrollo del programa.
Se compila solo, y en tres o cinco segundos se puede volver a compilar, y el código está claro.
El autor de V escribe en la estructura de directorios del código V:
He intentado hacer el compilador y el código vlib lo más sencillo y legible posible.
Uno de los objetivos de V es estar abierto a desarrolladores con diferentes niveles de experiencia en el desarrollo de compiladores. El compilador no tiene por qué ser una caja negra llena de magia que sólo unos pocos pueden entender.
El compilador V es modular y puede ser utilizado por otras aplicaciones. Se encuentra en
cmd/v/
yvlib/v/
.El comando más importante y útil cuando se trabaja con el compilador V es
v self
. Reconstruye el compilador V.La estructura del compilador es muy simple y tiene tres pasos diferentes.
Analizar/generar AST (
v.parser
) => comprobar el tipo (v.checker
) => generar código C/JavaScript/máquina (v.gen
)
Uno podría pensar :
Pero creo que esta simplicidad es lo mejor de V.
No pienses en V como en un lenguaje de programación tradicional y tosco con un compilador que es un libro oscuro y poco conocido en el cielo.
Piensa en él como un marco de trabajo de front-end web, como Vue, donde la barrera de entrada es baja y todo el mundo puede participar.
Si tienes un problema, cámbialo.
Hazlo tú mismo y tendrás mucho que comer.
Un mundo nuevo y hermoso no es algo que se espera sentado, es algo que la gente trabajadora crea con sus manos.
v self
Compílelo usted mismo
V puede compilarse fácilmente usando v self
. En mi versión 2015 del portátil de Apple, tarda 5,63 segundos en compilarse una vez.
Recomiendo instalarlo como código fuente.
git clone git@github.com:vlang/v.git
make
sudo ./v symlink
Si tienes alguna idea, ve a modificar el código fuente del compilador o de la biblioteca estándar directamente.
A continuación, utilice v self
y compílelo usted mismo. Una vez que hayas elaborado tus requisitos, confírmalos y fúndelos en el código fuente oficial.
Hoy acabo de conocer V y he lanzado 3 merge requests (1, 2, 3 ) con una sugerencia de mejora del lenguaje: declaración explícita opcional de soporte para una interfaz.
No hablo bien el inglés, pero con el traductor de DeepL es fácil pasar del chino al inglés para comunicarse en profundidad con amigos internacionales.
V Redacción de guiones
v init
Después de inicializar el proyecto, necesito un script de compilación.
Se puede utilizar V para escribir este script en lugar de bash.
Mi script de compilación es el siguiente.
#!/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)
Supervisar los cambios en los archivos y reiniciar automáticamente la ejecución
Tengo la costumbre de escribir y ejecutar un script una vez, y supervisar los cambios y reiniciarlo automáticamente es lo que necesito.
v viene con v watch run xx.v
para hacer esto.
He creado un script para facilitar el uso de ./dev.sh
de la siguiente manera.
#!/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 la plantilla del proyecto, véase rmw-link/rmw-v-template