V Notatki z nauki języków obcych


Spis treści :


Wprowadzenie: vlang, język przyszłości

vlang, dla front-end, back-end, big data, blockchain, sztucznej inteligencji, przenika każdy aspekt życia społecznego. Pokonanie innych języków programowania i zjednoczenie świata w 2050 roku. Stał się nawet światowym lingua franca, umożliwiając ludzkości odbudowę legendarnej Wieży Babel i skokowy postęp technologiczny ......

--- Cytowane z Dziennika Ludowego 2050Otwórz w nowym oknie

Przedmowa

V语言Otwórz w nowym oknie Vlang - język programowania dla hakerów.

rust i zig są dobre, ale są zbyt rygorystyczne i akademickie.

V jest raczej językiem szybkiego startu, takim jak javascript, mniej ustrukturyzowanym, szybkim do rozpoczęcia pracy i oczywiście szybkim.

Wiele informacji zawartych na stronie głównej V jeszcze się nie przyjęło (np. o automatycznym przechodzeniu z C do V) i przez wielu zostało nazwanych fałszywą propagandąOtwórz w nowym oknie, np:

Właściwą strategią jest najpierw uprawianie propagandy, a potem jej realizacja; ludzie są wspólnotą wyobraźni.

Większość ludzi wierzy, bo widzi, a niektórzy widzą, bo wierzą.

Podobnie jak wiara w komunizm może być w mniejszości, ale zawsze znajdzie się niewielka liczba ludzi, którzy naprawdę wierzą, a ogień gwiazdy może wzniecić pożar prerii. Bez Partii Komunistycznej nie byłoby nowych Chin.

Matematycy komputerowi mogą uznać V za nieco niepoważny, ale wierzę, że hakerzy pokochają ten język.

Myślenie to działanie, odwaga myślenia, odwaga próbowania, i może na tym polega różnica między sztuką a matematyką. Czy język programowania jest sztuką czy matematyką? To jest odwieczne pytanie.

Myślę, że najlepszą rzeczą w V jest zacieranie się granic między projektowaniem języka a tworzeniem programów.

Kompiluje się sam i w ciągu trzech lub pięciu sekund można go ponownie skompilować, a kod jest czysty.

Autor V pisze w strukturze katalogu kodowego VOtwórz w nowym oknie:

Starałem się, aby kompilator i kod vlib były tak proste i czytelne, jak to tylko możliwe.

Jednym z celów V jest otwartość na programistów o różnym poziomie doświadczenia w tworzeniu kompilatorów. Kompilator nie musi być czarną skrzynką pełną magii, którą może zrozumieć tylko kilka osób.

Kompilator V ma budowę modułową i może być używany przez inne aplikacje. Znajduje się on pod adresem cmd/v/ i vlib/v/.

Najważniejszym i najbardziej przydatnym poleceniem podczas pracy z kompilatorem V jest v self. Powoduje przebudowę kompilatora V.

Struktura kompilatora jest bardzo prosta i składa się z trzech etapów.

Parsowanie/generowanie AST ( v.parser) => sprawdzanie typu ( v.checker) => generowanie kodu C/JavaScript/maszynowego ( v.gen)

Można by pomyśleć:

Nie licząc lexera i parsera, podstawowy kod liczy zaledwie kilka tysięcy wierszy. Mogę tylko powiedzieć, że autor wykonał dobrą robotę marketingową, a oficjalna strona internetowa wygląda całkiem podobnie.Otwórz w nowym oknie

Myślę jednak, że ta prostota jest najlepszą cechą V.

Nie myśl o V jak o tradycyjnym, niezgrabnym języku programowania z kompilatorem, który jest obskurną, nieznaną książką na niebie.

Pomyśl o nim jako o frameworku do tworzenia front-endów internetowych, takim jak Vue, gdzie bariera wejścia jest niska i każdy może się zaangażować.

Jeśli masz jakiś problem, po prostu go zmień.

Zrób to sam, a będziesz miał co jeść.

Nowy, piękny świat nie jest czymś, na co się czeka, lecz czymś, co ludzie pracy tworzą własnymi rękami.

v self Skompiluj go samodzielnie

V może łatwo skompilować się przy użyciu v self. Na moim laptopie Apple w wersji 2015 jednokrotna kompilacja zajmuje 5,63 sekundy.

Zalecam zainstalowanie go jako kodu źródłowego.

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

Jeśli masz jakieś pomysły, zmodyfikuj bezpośrednio kod źródłowy kompilatora lub biblioteki standardowej.

Następnie należy użyć strony v selfi skompilować ją samodzielnie. Po opracowaniu wymagań należy je zatwierdzić i scalić z oficjalnym kodem źródłowym.

Dziś właśnie poznałem V i zgłosiłem 3 żądania scalenia (1Otwórz w nowym oknie, 2Otwórz w nowym oknie, 3Otwórz w nowym oknie ) z sugestią ulepszenia języka: opcjonalna jawna deklaracja wsparcia dla interfejsuOtwórz w nowym oknie.

Nie mówię dobrze po angielsku, ale dzięki tłumaczowi na stronie DeepLOtwórz w nowym oknie mogę łatwo konwertować z języka chińskiego na angielski, co ułatwia komunikację z przyjaciółmi z zagranicy.

V Pisanie scenariuszy

v init Po zainicjowaniu projektu potrzebny jest skrypt kompilacji.

Do napisania tego skryptu zamiast basha można użyć V.

Mój skrypt kompilacji wygląda następująco.

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

Monitorowanie zmian w plikach i automatyczne wznawianie pracy

Mam w zwyczaju pisać i uruchamiać skrypt raz, a monitorowanie zmian i automatyczne uruchamianie go ponownie jest tym, czego potrzebuję.

v jest dostarczany z witryną v watch run xx.v, która to umożliwia.

Stworzyłem następujący skrypt ułatwiający korzystanie z witryny ./dev.sh.

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

Szablon projektu - patrz rmw-link/rmw-v-templateOtwórz w nowym oknie

Aktualizacje:
Ze strony: gcxfd