V Poznámky k jazykovému vzdělávání


Obsah :


Úvod: vlang, jazyk budoucnosti

vlang, pro front-end, back-end, big data, blockchain, umělou inteligenci, proniká do všech aspektů společnosti. Překonání ostatních programovacích jazyků a sjednocení světa v roce 2050. Dokonce se stala světovým jazykem, který lidstvu umožnil obnovit legendární babylonskou věž a skokově pokročit v technologiích. ......

--- Citováno z People's Daily 2050Otevřít v novém okně

Předmluva

V语言Otevřít v novém okně , Vlang, programovací jazyk pro hackery.

rust a zig jsou dobré, ale jsou příliš přísné a akademické.

V je spíše jazyk pro rychlý start, jako je javascript, méně strukturovaný, rychlý na začátek a samozřejmě rychlý.

Mnohé z toho, co se uvádí na domovské stránce V, se ještě neujalo (např. automatický přechod z C na V) a mnozíOtevřít v novém okně to označují za lživou propaganduOtevřít v novém okně, např. :

Správnou strategií je nejprve propagovat a teprve potom uskutečňovat; lidé jsou společenství s velkou představivostí.

Většina lidí věří, protože vidí, a někteří lidé vidí, protože věří.

Stejně jako víra v komunismus může být v menšině, ale vždy bude existovat velmi malý počet lidí, kteří opravdu věří, a oheň hvězdy může zapálit požár prérie. Bez komunistické strany by žádná nová Čína neexistovala.

Počítačovým matematikům může jazyk V připadat poněkud frivolní, ale věřím, že hackeři si ho zamilují.

Myšlení je jednání, odvaha myslet, odvaha zkoušet, a to je možná rozdíl mezi uměním a matematikou. Je programovací jazyk umění nebo matematika? To je věčná otázka.

Myslím, že nejlepší na V je to, že se stírají hranice mezi návrhem jazyka a vývojem programu.

Sám se zkompiluje a za tři nebo pět vteřin ho lze překompilovat a kód je jasný.

Autor V píše v adresářové struktuře kódu VOtevřít v novém okně:

Snažil jsem se, aby kompilátor a kód vlib byly co nejjednodušší a nejčitelnější.

Jedním z cílů systému V je být otevřený vývojářům s různou úrovní zkušeností s vývojem překladačů. Překladač nemusí být černá skříňka plná kouzel, kterým rozumí jen pár lidí.

Překladač V je modulární a může být použit i v jiných aplikacích. Nachází se na adrese cmd/v/ a vlib/v/.

Nejdůležitějším a nejužitečnějším příkazem při práci s překladačem V je v self. Přestaví překladač V.

Struktura překladače je velmi jednoduchá a má tři různé kroky.

Parsování/generování AST ( v.parser) => kontrola typu ( v.checker) => generování C/JavaScript/strojového kódu ( v.gen).

Někdo by si mohl myslet, že :

Nepočítáme-li lexer a parser, má jádro kódu jen několik tisíc řádků. Mohu jen říci, že autor odvedl dobrou práci v oblasti marketingu a oficiální webové stránky vypadají docela podobně.Otevřít v novém okně

Myslím si však, že právě tato jednoduchost je na hře V to nejlepší.

Nepřemýšlejte o V jako o tradičním neohrabaném programovacím jazyce s kompilátorem, který je obskurní knihou v oblacích.

Představte si ho jako webový front-end framework, jako je Vue, kde je vstupní bariéra nízká a může se do něj zapojit každý.

Pokud máte problém, prostě ho změňte.

Udělejte to sami a budete mít co jíst.

Krásný nový svět není něco, na co se jen tak sedí a čeká, je to něco, co pracující lidé vytvářejí vlastníma rukama.

v self Zkompilujte si ji sami

V se může snadno zkompilovat pomocí stránky v self. Na mém notebooku Apple verze 2015 trvá kompilace jednou 5,63 sekundy.

Doporučuji jej nainstalovat jako zdrojový kód.

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

Pokud vás něco napadne, upravte přímo zdrojový kód překladače nebo standardní knihovny.

Pak použijte stránku v selfa zkompilujte ji sami. Po vypracování požadavků je odevzdejte a začleňte do oficiálního zdrojového kódu.

Dnes jsem se právě naučil V a zahájil jsem 3 merge requesty (1Otevřít v novém okně, 2Otevřít v novém okně, 3Otevřít v novém okně ) s návrhem na vylepšení jazyka: nepovinná explicitní deklarace podpory rozhraníOtevřít v novém okně.

Neumím dobře anglicky, ale s překladačem na DeepLOtevřít v novém okně je snadné převádět z čínštiny do angličtiny pro důkladnou komunikaci se zahraničními přáteli.

V Psaní scénářů

v init Po inicializaci projektu potřebuji kompilační skript.

V lze k zápisu tohoto skriptu použít místo bashe.

Můj kompilační skript je následující.

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

Sledování změn souborů a automatické restartování běhu

Mým zvykem je napsat a spustit skript jednou a sledování změn a jeho automatické restartování je to, co potřebuji.

v je dodáván se stránkou v watch run xx.v, která to umožňuje.

Vytvořil jsem skript, který usnadňuje používání stránky ./dev.sh, a to následujícím způsobem.

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

Šablona projektu viz rmw-link/rmw-v-templateOtevřít v novém okně.

Aktualizace:
Z: gcxfd