V fa'apolokalame gagana tatala puna

Fa'aliliu i totonu o le vaega o le compiler tatala mo gagana V. V ose gagana fa'apipi'i fa'apipi'i fa'atutusa e fa'atatau i le fa'afaigofieina o le fa'atumauina ma vave tele ona fa'aputuina. Code compiler, faletusi ma meafaigaluega faʻapitoa tatala i lalo ole laisene MIT.

V's syntax e talitutusa lava ma Go, nono mai ni faufale mai Oberon, Rust, ma Swift. O le gagana e faʻafaigofieina i le tele e mafai ai ma, e tusa ai ma le atinaʻe, 30 minute o suʻesuʻega e lava e aʻoaʻo ai faʻavae. fa'amaumauga. I le taimi lava e tasi, o loʻo tumau pea le malosi o le gagana ma e mafai ona faʻaaogaina e faʻatino ai galuega tutusa e pei o le faʻaaogaina o isi gagana polokalame (mo se faʻataʻitaʻiga, faletusi o loʻo avanoa mo ata 2D / 3D, fatuina GUIs ma upega tafaʻilagi).

O le fatuina o se gagana fou na mafua ona o le manaʻo e ausia se tuʻufaʻatasiga o le Go language's simple of syntax, compilation speed, faigofie o parallelization of operations, portability and maintainability of code with the performance of C/C++, le saogalemu o Rust ma le fa'atupuina o fa'ailoga masini i le Zig tu'ufa'atasi tulaga. Na ou manaʻo foʻi e maua se faʻapipiʻi faʻapipiʻi ma vave e mafai ona galue e aunoa ma ni faʻalagolago i fafo, faʻaumatia le lautele o le lalolagi (suiga o le lalolagi) ma tuʻuina atu le malosi e "vevela" toe faʻaleleia le code.

Pe a faatusatusa i le C ++, o le gagana fou e sili atu ona faigofie, e maua ai le saoasaoa o le tuʻufaʻatasia (e oʻo atu i le 400 taimi), faʻataʻitaʻiina auala saogalemu polokalame, e leai ni faʻafitauli i amioga e le faʻamalamalamaina, ma tuʻuina atu meafaigaluega faʻapipiʻi mo le faʻatusaina o gaioiga. Pe a faatusatusa i le Python, V e vave, faigofie, saogalemu, ma sili atu ona tausia. Pe a faʻatusatusa i le Go, V e leai ni fesuiaiga o le lalolagi, leai ni nulls, e tatau ona faʻamalamalamaina uma tulaga taua, o mea uma e le mafai ona suia, e naʻo le tasi le ituaiga o tofiga e lagolagoina ("a : = 0"), o se mea e sili atu ona faʻatusatusa. taimi ta'avale ma le tele o faila e mafai ona fa'ataunu'uina, o le i ai o le feavea'i sa'o mai le C, le leai o se fa'aputu lapisi, fa'avavevave fa'asologa, le mafai ona fa'afeso'ota'i manoa ("println('$foo: $bar.baz')").

fn autu() {
vaega := ['ta'aloga', 'upega tafa'ilagi', 'meafaigaluega', 'saienisi', 'systems', 'GUI', 'mobile'] a := 10
afai e moni {
ia:= 20
}
mo eria i eria {
println('Talofa, $area atia'e!')
}
}

Vaega o Poloketi:

  • Fa'apipi'i fa'atasi ma vave, lea fa'atasi ma le faletusi fa'ata'ita'i e tusa ma le 400 KB. O le saoasaoa o le tuʻufaʻatasia maualuga e maua e ala i le faʻatulagaina saʻo o le numera o masini ma le faʻaogaina. O le saoasaoa o le tuʻufaʻatasia e tusa ma le 1.2 miliona laina o le code i le sekone i luga o le tasi CPU core (o loʻo maitauina i le taimi o le taotoga V e mafai ona faʻaaoga C, ona pa'ū lea o le saoasaoa i le 100 afe laina i le sekone). O le faʻapipiʻiina e le tagata lava ia o le tuʻufaʻatasiga, o loʻo tusia foʻi i le gagana V (o loʻo i ai foʻi se faʻamatalaga i le Go), e tusa ma le 0.4 sekone. E oʻo atu i le faaiuga o le tausaga, e tatau ona maeʻa galuega i luga o faʻaopoopoga faʻaopoopo, lea o le a faʻaitiitia ai le taimi o le tuʻufaʻatasia i le 0.15 sekone. I le faʻamasinoina o suʻega na faia e le tagata faʻapitoa, o le faʻapipiʻiina e le tagata lava ia o Go e manaʻomia ai le 512 MB o le avanoa tisiki ma tamoe i le tasi ma le afa minute, Rust manaʻomia 30 GB ma 45 minute, GCC - 8 GB ma 50 minute, Clang - 90 GB ma 25 minute,
    Swift - 70 GB ma 90 minute;

  • O polokalame e tu'ufa'atasia i faila e mafai ona fa'atinoina e aunoa ma ni fa'alagolago i fafo. Ole tele faila ole faila ole faigofie http server pe a uma le fa'apotopotoga e na'o le 65 KB;
  • O le fa'atinoga o talosaga tu'ufa'atasia o lo'o i le tulaga o fa'apotopotoga o polokalame C;
  • Le mafai ona fegalegaleai lelei ma le C code, e aunoa ma se faʻaopoopoga faʻaopoopo. O galuega i le gagana C e mafai ona valaʻau mai le faʻailoga i le gagana V, ma le isi itu, code i le gagana V e mafai ona valaʻau i soʻo se gagana e fetaui ma C;
  • Lagolago mo le fa'aliliuina o poloketi C/C++ i se fa'atusa i le gagana V. E fa'aoga se parser mai Clang mo le fa'aliliuga. E le o lagolagoina uma vaega o le C standard, ae o le gafatia o loʻo iai nei o le faaliliu ua lava lea mo faaliliuga i le gagana o le taaloga V DOOM. O le C++ faaliliu o loʻo i ai pea i le amataga o le atinaʻe;
  • Fausia-i le serialization lagolago, e aunoa ma le noatia i le taimi taʻavale;
  • Fa'aiti'itia le fa'asoaina o mea e manatua;
  • Faʻamautinoa le saogalemu: leai NULL, fesuiaiga o le lalolagi, tau le faʻamalamalamaina ma le toe faʻamalamalamaina. Si'itia le fa'ato'a fa'ato'a fa'atosina. Lagolago mo galuega lautele (Generic). Mea ma fausaga e le mafai ona suia ona o le faaletonu;
  • Avanoa o le "vevela" code reloading (faʻaalia suiga i code i luga o le lele e aunoa ma le toe faʻapipiʻiina);
  • Meafaigaluega mo le faʻamautinoaina o multithreading. E pei lava o le gagana Go, o se fausaga e pei o le "run foo()" e faʻaaogaina e amata ai se filo fou o le faʻatinoga (e tutusa ma le "go foo ()"). I le lumanaʻi, o loʻo faʻatulagaina le lagolago mo goroutine ma se faasologa o filo;
  • Lagolago mo Windows, macOS, Linux, *BSD operating system. O loʻo fuafua e faʻaopoopo le lagolago mo Android ma iOS i le faaiuga o le tausaga;
  • Puleaina o manatua ile taimi fa'aopoopo (pei o le Rust), e aunoa ma le fa'aogaina o se lapisi;
  • Avanoa o le tele-platform toolkit mo faʻataʻitaʻiga faʻataʻitaʻiga, faʻaaoga GDI +/Cocoa ma OpenGL mo le faʻaliliuina (lagolago mo DirectX, Vulkan ma Metal API ua fuafuaina). O loʻo i ai meafaigaluega mo le galue i mea faitino 3D, faʻafiafiaga skeletal ma le pulea o mea pueata;
  • Avanoa o se faletusi mo le fa'atupuina o feso'ota'iga fa'akomepiuta fa'atasi ai ma elemene mamanu fa'apitoa i OS ta'itasi. E fa'aaoga e Windows le WinAPI/GDI+, fa'aoga e le macOS le Koko, ma fa'aaoga e Linux lana lava seti o widget. O le faletusi ua uma ona faʻaaogaina i le atinaʻeina Volt - tagata o tausia mo Slack, Skype, Gmail, Twitter ma Facebook;

    O le fuafuaga o le fatuina lea o se Delphi-like interface design application, tuʻuina atu se API faʻaalia e tutusa ma SwiftUI ma React Native, ma tuʻuina atu le lagolago mo le fatuina o talosaga feaveaʻi mo iOS ma Android;

    V fa'apolokalame gagana tatala puna

  • Avanoa o se 'upega tafaʻilagi faʻapipiʻiina, lea e faʻaaogaina e fausia ai se upega tafaʻilagi, faʻasalalauga ma le blog mo le au atinaʻe. E lagolagoina le fa'apipi'iina muamua o fa'ata'ita'iga HTML, e aunoa ma le fa'agaioiina mo talosaga ta'itasi;
  • Lagolago tu'ufa'atasiga. Mo le fausiaina o le faila faila mo Windows, naʻo le taʻavale "v -os windows", ma mo Linux - "v -os linux" (o loʻo faʻamoemoeina le lagolago tuʻufaʻatasia mo macOS mulimuli ane). E aoga foi le tu'ufa'atasiga mo fa'aoga fa'akalafi;
  • Pule fa'alagolago i totonu, pule o pusa ma mea faigaluega fau. Ina ia fausia le polokalame, naʻo le taʻavale "v.", e aunoa ma le faʻaogaina o mea faʻaoga poʻo fafo. Ina ia faʻapipiʻi isi faletusi, tau lava o le tamoe, mo se faʻataʻitaʻiga, "v get sqlite";
  • Avanoa o plugini mo le atinaʻeina i le gagana V i faatonu VS Code и Vim.

Atinaʻe iloa nuu ma masalosalo, talu ai o le faʻasalalauga faʻasalalau na faʻaalia ai e leʻo faʻaalia uma gafatia na faʻatinoina ma e manaʻomia le tele o galuega e faʻatino ai fuafuaga uma.
E le gata i lea, i le taimi muamua na i ai le fale teu oloa lafoina code malepe e iai fa'afitauli ile fa'apotopotoga ma le fa'atinoina. E fa'apea e le'i o'o le tusitala i le tulaga e amata ai ona latou matauina Tulafono a Pareto, e tusa ai ma le 20% o taumafaiga e maua ai le 80% o le taunuuga, ma le 80% o totoe o le taumafaiga e maua ai na o le 20% o le taunuuga.

I le taimi nei, ole Project V's bug tracker e tusa ma le 10 pou na aveese mai fa'ata'ita'iga code maualalo maualalo, mo se faʻataʻitaʻiga, o loʻo faʻaalia ai le faʻaogaina o C-inserts ma le faʻaogaina i le faletusi o galuega mo le tapeina o le lisi o le rm poloaiga e ala i le valaau os.system("rm -rf $path"). Tusitala o le poloketi folafolainana ia tapeina na o savali, lomia faasalalau troll (faatasi ai ma suiga e faʻamaonia ai le saʻo o le faitioga, totoe в teuteu tala'aga).

puna: opennet.ru

Faaopoopo i ai se faamatalaga