V Hinweise zum Sprachenlernen
Inhaltsverzeichnis :
Einführung: vlang, die Sprache der Zukunft
vlang, für Front-End, Back-End, Big Data, Blockchain, künstliche Intelligenz, durchdringt jeden Aspekt der Gesellschaft. Andere Programmiersprachen besiegen und die Welt im Jahr 2050 vereinen. Sie wurde sogar zur Weltsprache und ermöglichte der Menschheit den Wiederaufbau des legendären Turms von Babel und einen sprunghaften technischen Fortschritt ......
--- Zitiert aus People's Daily 2050
Vorwort
V语言
Vlang, die Programmiersprache für Hacker.
rust und zig sind gut, aber sie sind zu streng und akademisch.
V ist eher eine Schnellstartsprache wie Javascript, weniger strukturiert, schnell einsatzbereit und natürlich schnell.
Vieles, was auf der V-Homepage angepriesen wird, hat sich noch nicht durchgesetzt (z.B. C zu V automatisch) und wurde von vielen als falsche Propaganda bezeichnet, z.B. :
Es ist die richtige Strategie, erst Propaganda zu machen und sie dann zu verwirklichen; die Menschen sind eine Gemeinschaft der Phantasie.
Die meisten Menschen glauben, weil sie sehen, und manche Menschen sehen, weil sie glauben.
Genauso wie der Glaube an den Kommunismus in der Minderheit sein mag, aber es wird immer eine sehr kleine Anzahl von Menschen geben, die wirklich daran glauben, und das Feuer eines Sterns kann einen Präriebrand auslösen. Ohne die Kommunistische Partei gäbe es kein neues China.
Computermathematiker mögen V ein wenig frivol finden, aber ich glaube, dass Hacker diese Sprache lieben werden.
Denken ist Handeln, sich trauen zu denken, sich trauen zu versuchen, und vielleicht ist das der Unterschied zwischen Kunst und Mathematik. Ist eine Programmiersprache Kunst oder Mathematik? Das ist die ewige Frage.
Das Beste an V ist meiner Meinung nach die Verwischung der Grenzen zwischen Sprachdesign und Programmentwicklung.
Er kompiliert sich selbst, und in drei oder fünf Sekunden kann er neu kompiliert werden, und der Code ist eindeutig.
Der Autor von V schreibt in der V-Code-Verzeichnisstruktur:
Ich habe versucht, den Compiler und den vlib-Code so einfach und lesbar wie möglich zu gestalten.
Eines der Ziele von V ist die Offenheit für Entwickler mit unterschiedlicher Erfahrung in der Compilerentwicklung. Der Compiler muss keine Blackbox voller Magie sein, die nur wenige Menschen verstehen können.
Der V-Compiler ist modular aufgebaut und kann von anderen Anwendungen verwendet werden. Es befindet sich unter
cmd/v/
undvlib/v/
.Der wichtigste und nützlichste Befehl bei der Arbeit mit dem V-Compiler ist
v self
. Er baut den V-Compiler neu auf.Die Struktur des Compilers ist sehr einfach und besteht aus drei verschiedenen Schritten.
Parsing/Generierung von AST (
v.parser
) => Überprüfung des Typs (v.checker
) => Generierung von C/JavaScript/Maschinencode (v.gen
)
Man könnte meinen:
Aber ich denke, dass diese Einfachheit das Beste an V ist.
Betrachten Sie V nicht als eine traditionelle, klobige Programmiersprache mit einem Compiler, der ein obskures Buch im Himmel ist.
Betrachten Sie es als ein Web-Frontend-Framework wie Vue, bei dem die Einstiegshürde niedrig ist und jeder mitmachen kann.
Wenn Sie ein Problem haben, ändern Sie es einfach.
Machen Sie es selbst und Sie haben genug zu essen.
Eine schöne neue Welt ist nichts, worauf man nur wartet, sondern etwas, das arbeitende Menschen mit ihren Händen schaffen.
v self
Kompilieren Sie es selbst
V kann sich mit v self
leicht selbst kompilieren. Auf meinem 2015er Apple-Laptop dauert es 5,63 Sekunden, um einmal zu kompilieren.
Ich empfehle, ihn als Quellcode zu installieren.
git clone git@github.com:vlang/v.git
make
sudo ./v symlink
Wenn Sie eine Idee haben, können Sie den Quellcode des Compilers oder der Standardbibliothek direkt ändern.
Verwenden Sie dann v self
und kompilieren Sie es selbst. Sobald Sie Ihre Anforderungen ausgearbeitet haben, binden Sie sie in den offiziellen Quellcode ein.
Heute habe ich gerade V gelernt und ich habe 3 Merge Requests (1, 2, 3 ) mit einem Vorschlag zur Verbesserung der Sprache gestartet: optionale explizite Erklärung der Unterstützung für eine Schnittstelle.
Ich spreche nicht gut Englisch, aber mit dem Übersetzer auf DeepL ist es einfach, vom Chinesischen ins Englische zu konvertieren, um mit internationalen Freunden ausführlich zu kommunizieren.
V Drehbücher schreiben
v init
Nach der Initialisierung des Projekts benötige ich ein Kompilierungsskript.
V kann zum Schreiben dieses Skripts anstelle von bash verwendet werden.
Mein Kompilierungsskript sieht wie folgt aus.
#!/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)
Dateiänderungen überwachen und den Lauf automatisch neu starten
Ich habe die Angewohnheit, ein Skript einmal zu schreiben und auszuführen, und die Überwachung auf Änderungen und den automatischen Neustart ist das, was ich brauche.
v wird mit v watch run xx.v
geliefert, um dies zu tun.
Ich habe ein Skript erstellt, das die Verwendung von ./dev.sh
wie folgt erleichtert.
#!/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\""
Für die Projektvorlage siehe rmw-link/rmw-v-template