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ť:
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?