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 2050Abrir en una nueva ventana

Prefacio

V语言Abrir en una nueva ventana 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 falsaAbrir en una nueva ventana, 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 VAbrir en una nueva ventana:

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

Sin contar el léxico y el analizador sintáctico, el código central tiene sólo unos pocos miles de líneas. Sólo puedo decir que el autor hizo un buen trabajo de marketing y la página web oficial se parece bastante.Abrir en una nueva ventana

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 selfy 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 (1Abrir en una nueva ventana, 2Abrir en una nueva ventana, 3Abrir en una nueva ventana ) con una sugerencia de mejora del lenguaje: declaración explícita opcional de soporte para una interfazAbrir en una nueva ventana.

No hablo bien el inglés, pero con el traductor de DeepLAbrir en una nueva ventana 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-templateAbrir en una nueva ventana

Actualizaciones:
Desde: gcxfd