V Umthombo ovulekile wolimi lokuhlela

Kuhunyushwe esigabeni se-compiler esivulekile ulimi V. I-V iwulimi oluthayiphiwe ngokwezibalo, oluhlanganiswe ngokomdabu olugxile ekwenzeni lula ukugcinwa kokuthuthukiswa kanye nokuqinisekisa isivinini sokuhlanganisa esiphezulu kakhulu. Umdidiyeli, imitapo yolwazi, namathuluzi asekelayo afakiwe. vula ngaphansi kwelayisensi ye-MIT.

I-syntax ka-V ifana kakhulu ne-Go, iboleka ezinye izakhiwo kwa-Oberon, Rust, kanye ne-Swift. Ulimi lwenziwe lula kakhulu, futhi, ngokusho konjiniyela, imizuzu engama-30 yanele ukufunda izinto eziyisisekelo. imibhaloNgesikhathi esifanayo, ulimi luhlala lunamandla futhi lungasetshenziswa ukwenza imisebenzi efanayo naleyo lapho usebenzisa ezinye izilimi zokuhlela (isibonelo, imitapo yolwazi iyatholakala ngemifanekiso ye-2D/3D, ukwakhiwa kwe-GUI, nezinhlelo zokusebenza zewebhu).

Ukwakhiwa kolimi olusha kwaqhutshwa isifiso sokuhlanganisa ubulula be-Go be-syntax, isivinini sokuhlanganisa, ukufana kalula, ukuphatheka, nokugcinwa kwekhodi ngokusebenza kwe-C/C++, ukuphepha kwe-Rust, kanye nokukhiqizwa kwekhodi yomshini esigabeni sokuhlanganisa se-Zig. Siphinde safuna inhlanganisela ehlangene nesheshayo ekwazi ukusebenza ngaphandle kokuncika kwangaphandle, isuse ububanzi bomhlaba wonke (okuguquguqukayo komhlaba), futhi ivumele ukulayishwa kabusha kwekhodi eshisayo.

Uma kuqhathaniswa ne-C++, ulimi olusha lulula kakhulu, luhlinzeka ngokuhlanganisa ngokushesha (kufika ku-400 izikhathi), lwenza amasu okuhlela aphephile, alunazinkinga zokuziphatha ezingachazwanga, futhi luhlinzeka ngamathuluzi akhelwe ngaphakathi okusebenza okuhambisanayo. Uma kuqhathaniswa nePython, i-V iyashesha, ilula, iphephile, futhi iyalondolozeka. Uma kuqhathaniswa ne-Go, i-V ayinakho okuguquguqukayo komhlaba wonke, ayikho into engekho, wonke amanani aguquguqukayo kufanele achazwe njalo, zonke izinto aziguquleki ngokuzenzakalelayo, uhlobo olulodwa kuphela lomsebenzi olusekelwayo ("a:= 0"), isikhathi sokusebenza esihlangene kakhulu nosayizi wamafayela asebenzisekayo angumphumela, ukuphatheka okuqondile kusuka ku-C, ukungabikho komqoqi kadoti, ikhono lokuhlukanisa udoti ngokushesha, ikhono lokuhlukanisa ("println('$foo: $bar.baz')").

i-fnmain() {
izindawo := ['umdlalo', 'iwebhu', 'amathuluzi', 'isayensi', 'izinhlelo', 'i-GUI', 'iselula']
awu:=10
uma kuyiqiniso {
awu:=20
}
endaweni ezindaweni {
println('Sawubona, $area developers!')
}
}

Izici zephrojekthi:

  • Inhlanganisela ehlangene futhi esheshayo, yona, kanye nelabhulali ejwayelekile, ethatha cishe u-400 KB. Isivinini esikhulu sokuhlanganiswa sitholakala ngokukhiqizwa kwekhodi yomshini oqondile kanye ne-modularity. Isivinini sokuhlanganiswa cishe siyizigidi ezingu-1.2 imigqa yekhodi ngomzuzwana ku-CPU core eyodwa (kuyaphawuleka ukuthi i-V ingasebenzisa u-C ngesikhathi sokusebenza, lapho ijubane lehla liye kumigqa eyinkulungwane eyi-100 ngomzuzwana). Ukuzihlanganisa ngokwakho komhlanganisi, okuphinde kubhalwe ngo-V (inguqulo eyireferensi kokuthi Go iyatholakala), kuthatha cishe imizuzwana engu-0.4. Ekupheleni konyaka, umsebenzi wokuthuthukisa okwengeziwe kulindeleke ukuthi uqedwe, okuzonciphisa isikhathi sokwakha isihlanganisi sibe imizuzwana engu-0.15. Uma sibheka izivivinyo zonjiniyela, i-Go self-compilation idinga u-512 MB wesikhala sediski futhi iqedwa ngemizuzu engu-1.5, iRust idinga u-30 GB kanye nemizuzu engu-45, i-GCC - 8 GB nemizuzu engu-50, i-Clang - 90 GB nemizuzu engu-25.
    I-Swift - 70 GB nemizuzu engu-90;
  • Izinhlelo zihlanganiswa zibe amafayela asebenzisekayo ngaphandle kokuncika kwangaphandle. Usayizi wefayela elisebenzisekayo leseva ye-HTTP elula ngemva kokuhlanganiswa ngu-65 KB kuphela;
  • Ukusebenza kwezicelo ezihlanganisiwe kusezingeni lemihlangano yezinhlelo ze-C;
  • Ukusebenzisana okungenazihibe ngekhodi engu-C, ngaphandle kwanoma iyiphi i-overhead eyengeziwe. Ikhodi yolimi lwe-V ingabiza imisebenzi ye-C, futhi ngokuphambene nalokho; Ikhodi yolimi lwe-V ingabizwa nganoma yiluphi ulimi oluhambisana no-C;
  • Ukusekela ukuhumusha amaphrojekthi e-C/C++ ekumeleleni kolimi C. Umhlahleli kaClang usetshenziselwa ukuhumusha. Akuzona zonke izici zezinga elingu-C ezisekelwayo okwamanje, kodwa amandla amanje omhumushi anele ukuhumusha olimini lwe-V lomdlalo we-DOOM. Umhumushi ovela ku-C++ usesezigabeni zokuqala zokuthuthuka;
  • Usekelo olwakhelwe ngaphakathi lwe-serialization, ngaphandle kokuncika kwesikhathi sokusebenza;
  • Ukunciphisa imisebenzi yokwabiwa kwenkumbulo;
  • Izici zokuphepha: akukho NULL, akukho okuguquguqukayo komhlaba wonke, awekho amanani angachazwanga, futhi akukho ukwabiwa kabusha okuhlukile. Ukuhlola ukuchichima kwebhafa eyakhelwe ngaphakathi. Ukusekelwa komsebenzi ojwayelekile. Izinto nezakhiwo ezingenakuguqulwa ngokuzenzakalelayo;
  • Amathuba okulayisha kabusha ikhodi “eshisayo” (ebonisa izinguquko kukhodi endizeni ngaphandle kokuhlanganiswa kabusha);
  • Ukusekelwa kokufunda okuningi. Njengaku-Go, ukwakhiwa okufana nokuthi "run foo()" (okufana nokuthi "go foo()") kusetshenziselwa ukuqalisa uchungechunge olusha lokuqalisa. Ukusekelwa kwama-goroutines kanye nesihleli sentambo kuhlelelwe ikusasa;
  • Usekelo lwesistimu yokusebenza Windows, macOS, Linux*BSD. Usekelo luhlelwe ukuthi lufakwe ekupheleni konyaka. Android kanye ne-iOS;
  • Ukuphathwa kwememori yesikhathi sokuhlanganisa (njengakuRust), ngaphandle kokusebenzisa umqoqi wezibi;
  • Ikhithi yamathuluzi ezithombe zezingxenyekazi eziningi esebenzisa i-GDI+/Cocoa ne-OpenGL ukuze inikeze (usekelo oluhleliwe lwe-DirectX, i-Vulkan, ne-Metal APIs). Kuhlanganisa amathuluzi okusebenza ngezinto ze-3D, ukugqwayiza kwamathambo, nokulawula ikhamera.
  • Ukutholakala komtapo wolwazi wokudala izixhumi ezibonakalayo ezinezici zokuklama ezitholakala ku-OS ngayinye. Windows Kusetshenziswa i-WinAPI/GDI+, macOS - I-Cocoa, ngaphakathi Linux — isethi yamawijethi enziwe ngokwezifiso. Umtapo wolwazi usuvele usetshenziswa ekuthuthukisweni. I-Volt - iklayenti le-Slack, i-Skype, i-Gmail, i-Twitter ne-Facebook;

    Uhlelo luwukudala uhlelo lokusebenza lokuklama isikhombimsebenzisi esifana neDelphi, ukuhlinzeka nge-API echazayo efana neSwiftUI kanye neReact Native, kanye nokusekela ukudala izinhlelo zokusebenza zeselula ze-iOS kanye ne- Android;

    V Umthombo ovulekile wolimi lokuhlela
  • Uhlaka lwewebhu olwakhelwe ngaphakathi lusetshenziswa ukwakha iwebhusayithi yephrojekthi, inkundla, kanye nebhulogi yonjiniyela. Ukuhlanganiswa kwangaphambili kwezifanekiso ze-HTML kuyasekelwa, okuqeda isidingo sokuzicubungula esicelweni ngasinye.
  • Ukusekelwa kokuhlanganiswa okuhlanganisiwe. Ukwakha ifayela elisebenzisekayo le Windows kwanele ukusebenzisa ama-"v -os windows", futhi Linux — "v -os linux" (usekelo lokuhlanganiswa okuhlanganisiwe lwe- macOS (kulindeleke kamuva). Ukuhlanganiswa okuhlanganisiwe kusebenza futhi ezinhlelweni zokusebenza zezithombe;
  • Umphathi wokuncika owakhelwe ngaphakathi, umphathi wephakheji, namathuluzi wokwakha. Ukwakha uhlelo, vele usebenzise okuthi "v .", ngaphandle kokusebenzisa i-make noma izinsiza zangaphandle. Ukufaka imitapo yolwazi eyengeziwe, vele ugijime, isibonelo, "v get sqlite."
  • Ukutholakala kwama-plugin okuthuthukiswa kolimi lwe-V kubahleli Ikhodi ye-VS и Vim.

Ukuthuthukiswa bonile umphakathi nge ukungabaza, njengoba ikhodi eshicilelwe ibonise ukuthi akuwona wonke amakhono amenyeziwe aseqalisiwe okwamanje futhi inani elikhulu kakhulu lomsebenzi elidingekayo ukuze kusetshenziswe zonke izinhlelo.
Ngaphezu kwalokho, inqolobane yayiqukethwe ekuqaleni okuthunyelwe ikhodi engasebenzi ekhombisa izinkinga zokwakha nesikhathi sokusebenza. Kucatshangwa ukuthi umbhali akakafiki esigabeni lapho beqala ukuqaphela khona Umthetho kaPareto, ngokusho ukuthi i-20% yemizamo inikeza i-80% yemiphumela, futhi i-80% esele yemizamo inikeza kuphela i-20% yemiphumela.

Ngaleso sikhathi, cishe imilayezo eyi-10 isusiwe kusilandeleli sesiphazamisi sephrojekthi ye-V. ukuboniswa Ikhodi yekhwalithi ephansi, isibonelo, ukusetshenziswa kokufakwa kwe-C kanye nokusetshenziswa komyalo we-rm emisebenzini yelabhulali yokususa uhla lwemibhalo ngokubiza os.system("rm -rf $path"). Umbhali wephrojekthi ememezelweukuthi wasusa imiyalezo kuphela, kushicilelwe i-troll (ngasikhathi sinye, izinguquko eziqinisekisa ubuqiniso bokugxekwa, wasala в hlela umlando).

Source: opennet.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster