V je nový, open source, staticky napísaný programovací jazyk, ktorý vytvoril Alexander Medvednikov. V sľubuje, že bude jednoduchý, rýchly a bezpečný na vytváranie udržiavateľného softvéru. Niekoľko jazykov ovplyvnilo dizajn V vrátane Oberon, Swift, Kotlin a Python.

Získajte informácie o jazyku V, jeho funkciách a porovnaní s inými jazykmi.

Veci, ktoré môžete robiť s V

V má veľa výkonu a môžete ho použiť takmer v akomkoľvek odvetví, vrátane systémového programovania, vývoja webu a vývoja hier. Jazyk je jednoduchý, rýchly a bezpečný.

V ponúka širokú škálu výkonných grafických knižníc pre vývoj hier. Tieto sú založené na GDI+/Cocoa Drawing a OpenGL pre sofistikovanejšie 2D/3D aplikácie.

V má modul používateľského rozhrania, ktorý využíva natívne sady nástrojov GUI pre mobilné aplikácie, WinAPI/GDI+ pre Windows, Cocoa pre macOS a vlastné kreslenie pre Linux.

Dôvody, prečo vyskúšať V

Hoci V je nový jazyk, tieto výhody z neho robia legitímnu možnosť.

Jednoduchosť

Ak chcete vytvoriť svoj projekt, stačí spustiť:

instagram viewer
v.

Nemusíte nastavovať prostredie na zostavovanie, vytvárať súbor makefile, importovať hlavičky ani nastavovať virtuálne prostredie. Ak chcete nainštalovať nové knižnice cez vpm (V správca balíkov), stačí spustiť

v nainštalovať <názov_balíka>

Bezpečnosť

V predvolenom nastavení má V:

  • nemenné premenné
  • nemenné štruktúry
  • možnosti/výsledky a povinné kontroly chýb
  • typy súčtu
  • generiká
  • nemenná funkcia args

a nie:

  • nulový
  • variabilné tienenie
  • nedefinované správanie
  • globálne premenné (možno povoliť pre aplikácie na nízkej úrovni, ako sú jadrá, pomocou príznaku)

Rýchlosť kompilácie

Niektoré programovacie jazyky sú rýchlejšie ako iné, pokiaľ ide o vykonávanie alebo kompiláciu. V je rovnako výkonný ako C. Môže sa pochváliť dobou kompilácie približne 110 000 loc/s s backendom C a približne 1 milión loc/s s natívnym a tcc backendom. V sa tiež vyhýba zbytočným alokáciám, aby poskytol jednoduchý prístup kódovania bez abstrakcie.

Správa pamäte

V nepoužíva garbage collector, čím sa líši od jazykov ako Go a Java. Namiesto toho V spravuje pamäť v čase kompilácie, ale funguje len v základných situáciách. V zložitejších prípadoch ho musíte spravovať manuálne.

Formátovanie pre konzistentnosť štýlu kódu

Môžete použiť vfmt formátovač na formátovanie kódu V a zlepšenie jeho čitateľnosti spustením:

v fmt -w <your_filename>.v

Priateľské chybové správy

Chybové hlásenia V sú podrobné, informatívne a užitočné. Pozrite si tento príklad:

user.v:8:14: chyba: `update_user` parameter „používateľ“. je premenlivé, musíte poskytnúť `mut`: `update_user (mut user)`
7 | mut user := User{}
8 | update_user (používateľ)
| ~~~~
9 | }

Pomocou chybového hlásenia môžete opraviť tento kód:

mut user := User{}
update_user (mut user)

C++ vs. Ísť vs. V: Porovnanie troch jazykov

V týchto príkladoch môžete vidieť, ako sa kód C++, Go a V líši v konkrétnych prípadoch použitia programovania.

Ahoj svet

V C++:

#include <iostream>

inthlavné(){
std:: cout <<"Ahoj svet!"<< std:: endl;
}

Na ceste:

balík hlavné
importovať "fmt"

func hlavné(){
fmt. Println("Ahoj svet!")
}

Vo V:

println('Ahoj svet!')

V tomto základnom programe -tlač textu "Ahoj svet!"-Môžete vidieť, že V je oveľa jednoduchšie ako C++ alebo Go. Pre takýto jednoduchý program nepotrebujete importovať ani zahrnúť žiadne knižnice.

Inicializácia vektorov

V C++:

std:: vektor<int> čísla = {1, 2, 3, 4};

Na ceste:

čísla := []int{1, 2, 3, 4}

Vo V:

čísla := [1, 2, 3, 4]

V tomto prípade použitia môžete vidieť, že V stále vytvára čistejší kód ako ostatné dva. Na rozdiel od Go and C++ vektory, V nevyžaduje, aby jeho vektory obsahovali hodnoty pevného typu.

Tlač vektora

V C++:

std::kopírovať (numbers.begin(), čísla.koniec(),
std:: ostream_iterator<int>(std:: cout, ""));

std:: cout << std:: endl;

Na ceste:

fmt.Println(čísla)

Vo V:

println (čísla)

Funkcia println V dokáže vytlačiť vektorovú premennú natívne, rovnako ako funkcia Go, hoci tá používa balík fmt. Hlavičkové súbory C++ iostream poskytujú podobnú funkčnosť. Stále sa však budete musieť postarať o tlač jednotlivých prvkov vektora sami.

Čítanie súboru

V C++:

#zahŕňajú
#zahŕňajú

inthlavné(){
std::reťazec cesta = "/etc/hosts";
std::ifstream f(cesta);
std::reťazec text;
text.assign(std::istreambuf_iterator<char>(f), {});

ak (!f)
std::cerr << "chyba pri citani zo suboru" << std::endl;
}

Na ceste:

balík hlavné

importovať (
"io/ioutil"
"log"
)

func hlavné(){
cesta := "/etc/hosts"
b, chyba := ioutil. ReadFile (cesta)

if err != nula {
log.Println(chybovať)
vrátiť
}

text := reťazec (b)
}

Vo V:

importovať os

cesta := "/etc/hosts"
text := os.read_file (cesta) alebo {
eprintln (chyba)
vrátiť
}

Na čítanie súborov používa V modul os na poskytovanie bežných funkcií nezávislých od OS/platformy. Tieto zvládajú úlohy, ako je prístup k argumentom príkazového riadka, čítanie súborov a spracovanie procesov. V tomto prípade chceme načítať súbor cesta a vráťte obsah, takže ho budete používať read_file (cesta) funkciu. read_file vráti chybu, ak v danom súbore neexistuje žiadny obsah cesta. Ak sa chcete dozvedieť viac o ďalšie moduly V, možno si budete chcieť pozrieť ich dokumentáciu.

Ste pripravení vyskúšať V?

V je nový programovací jazyk, ktorý je stále v ranom štádiu vývoja. Napriek tomu má veľkú silu a je rýchly, bezpečný, jednoduchý a udržiavateľný.

V má čistejší kód ako C++ a Go. To naznačuje, že V môže pomôcť programátorom pri dodržiavaní jedného zo základných princípov programovania. Takže, ste pripravení vyskúšať V?