V Notes sur l'apprentissage des langues


Table des matières :


Introduction : vlang, la langue du futur

vlang, pour le front-end, le back-end, le big data, la blockchain, l'intelligence artificielle, imprègne tous les aspects de la société. Battre les autres langages de programmation et unifier le monde en 2050. Il est même devenu la lingua franca du monde, permettant à l'humanité de reconstruire la légendaire tour de Babel et de faire progresser la technologie à pas de géant .......

--- Cité par le Quotidien du Peuple 2050Ouvrir dans une nouvelle fenêtre

Préface

V语言Ouvrir dans une nouvelle fenêtre Vlang, le langage de programmation pour les hackers.

rust et zig sont bons, mais ils sont trop rigoureux et académiques.

V est plus un langage de démarrage rapide comme javascript, moins structuré, rapide à démarrer et bien sûr rapide.

Une grande partie du battage publicitaire sur la page d'accueil du V n'a pas encore pris racine (par exemple, le passage automatique de C à V) et a été qualifiée de propagande mensongère par beaucoupOuvrir dans une nouvelle fenêtre, par exemple :

La bonne stratégie consiste d'abord à faire de la propagande et ensuite à la concrétiser ; les êtres humains sont une communauté d'imagination.

La plupart des gens croient parce qu'ils voient, et certaines personnes voient parce qu'elles croient.

De même, la croyance au communisme est peut-être minoritaire, mais il y aura toujours un très petit nombre de personnes qui y croient vraiment, et le feu d'une étoile peut déclencher un feu de prairie. Sans le parti communiste, il n'y aurait pas de nouvelle Chine.

Les mathématiciens peuvent trouver V un peu frivole, mais je pense que les hackers vont adorer ce langage.

Penser, c'est agir, oser penser, oser essayer, et c'est peut-être là la différence entre l'art et les mathématiques. Un langage de programmation est-il un art ou des mathématiques ? C'est l'éternelle question.

Je pense que la meilleure chose à propos de V est l'effacement des frontières entre la conception du langage et le développement de programmes.

Il se compile lui-même, et en trois ou cinq secondes, il peut être recompilé, et le code est clair.

L'auteur de V écrit dans la structure de répertoire du code VOuvrir dans une nouvelle fenêtre:

J'ai essayé de rendre le compilateur et le code de la vlib aussi simples et lisibles que possible.

L'un des objectifs de V est d'être ouvert aux développeurs ayant différents niveaux d'expérience dans le développement de compilateurs. Le compilateur ne doit pas être une boîte noire pleine de magie que seules quelques personnes peuvent comprendre.

Le compilateur V est modulaire et peut être utilisé par d'autres applications. Il est situé à cmd/v/ et vlib/v/.

La commande la plus importante et la plus utile pour travailler avec le compilateur V est v self. Il reconstruit le compilateur V.

La structure du compilateur est très simple et comporte trois étapes différentes.

Analyser/générer l'AST ( v.parser) => vérifier le type ( v.checker) => générer le code C/JavaScript/machine ( v.gen)

On pourrait penser :

Sans compter le lexer et l'analyseur, le code de base ne compte que quelques milliers de lignes. Je peux seulement dire que l'auteur a fait un bon travail de marketing et que le site officiel y ressemble beaucoup.Ouvrir dans une nouvelle fenêtre

Mais je pense que cette simplicité est ce qu'il y a de mieux chez V.

Ne considérez pas V comme un langage de programmation traditionnel et encombrant, doté d'un compilateur qui n'est qu'un livre obscur dans le ciel.

Considérez-le comme un cadre frontal web, comme Vue, où la barrière à l'entrée est faible et où tout le monde peut s'impliquer.

Si vous avez un problème, il suffit de le changer.

Faites-le vous-même et vous aurez de quoi manger.

Un nouveau monde magnifique n'est pas quelque chose que l'on attend sans rien faire, c'est quelque chose que les travailleurs créent de leurs mains.

v self Compilez-le vous-même

V peut facilement se compiler lui-même en utilisant v self. Sur ma version 2015 de l'ordinateur portable d'Apple, il faut 5,63 secondes pour compiler une fois.

Je recommande de l'installer en tant que code source.

git clone git@github.com:vlang/v.git
make
sudo ./v symlink

Si vous avez des idées, allez-y et modifiez directement le code source du compilateur ou de la bibliothèque standard.

Utilisez ensuite v selfet compilez-le vous-même. Une fois que vous avez défini vos besoins, engagez et fusionnez-les dans le code source officiel.

Aujourd'hui, je viens d'apprendre V et j'ai lancé 3 demandes de fusion ( 1Ouvrir dans une nouvelle fenêtre, 2Ouvrir dans une nouvelle fenêtre, 3Ouvrir dans une nouvelle fenêtre ) avec une suggestion d'amélioration du langage : déclaration explicite facultative du support d'une interfaceOuvrir dans une nouvelle fenêtre.

Je ne parle pas bien l'anglais, mais avec le traducteur sur DeepLOuvrir dans une nouvelle fenêtre, il est facile de convertir le chinois en anglais pour une communication approfondie avec des amis internationaux.

V Rédaction de scripts

v init Après avoir initialisé le projet, j'ai besoin d'un script de compilation.

V peut être utilisé pour écrire ce script au lieu de bash.

Mon script de compilation est le suivant.

#!/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)

Surveiller les changements de fichiers et relancer automatiquement l'exécution

J'ai l'habitude d'écrire et d'exécuter un script une fois, et surveiller les changements et le redémarrer automatiquement est ce dont j'ai besoin.

v est livré avec v watch run xx.v pour faire cela.

J'ai créé un script pour faciliter l'utilisation de ./dev.sh comme suit.

#!/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\""

Pour le modèle de projet, voir rmw-link/rmw-v-templateOuvrir dans une nouvelle fenêtre.

Mises à jour:
De: gcxfd