V programming language open source

nandika Midira ao amin'ny sokajy Open Compiler for fiteny V. V dia fiteny natambatra amin'ny milina mitendry statika izay mifantoka amin'ny fanamorana ny fikojakojana ny fampandrosoana ary tena haingana ny fanangonana. Code compiler, tranomboky ary fitaovana mifandraika amin'izany misokatra eo ambanin'ny lisansa MIT.

Ny syntax an'i V dia mitovy amin'ny Go, mindrana fananganana sasany avy amin'i Oberon, Rust, ary Swift. Ny fiteny dia notsorina araka izay azo atao ary, araka ny filazan'ny mpamorona, ny fianarana 30 minitra dia ampy hianarana ny fototra. tahirin-kevitra. Mandritra izany fotoana izany, ny fiteny dia mijanona ho matanjaka ary azo ampiasaina amin'ny asa mitovy amin'ny fampiasana fiteny fandaharana hafa (ohatra, ny tranomboky dia misy amin'ny sary 2D/3D, mamorona GUI sy fampiharana amin'ny Internet).

Ny famoronana fiteny vaovao dia natosiky ny faniriana hanatratra ny fitambaran'ny fahatsoran'ny fiteny Go amin'ny syntax, ny hafainganam-pandehan'ny fanangonana, ny fanamorana ny fampifanarahana ny asa, ny fampitaovana ary ny fikojakojana ny kaody miaraka amin'ny fahombiazan'ny C/C++, ny fiarovana ny Rust ary ny famokarana kaody milina amin'ny dingana fanangonana Zig. Te-hahazo compiler compact sy haingana aho izay afaka miasa tsy misy fiankinan-doha ivelany, manala ny sehatra manerantany (varimbazaha manerantany) ary manome fahafahana "mafana" mamerina ny code.

Raha ampitahaina amin'ny C ++, ny fiteny vaovao dia tsotra kokoa, manome haingana kokoa ny fanangonam-bokatra (hatramin'ny in-400), mampihatra teknika fandaharana azo antoka, tsy misy olana amin'ny fitondran-tena tsy voafaritra, ary manome fitaovana namboarina ho an'ny fampifanarahana ny asa. Raha ampitahaina amin'ny Python, V dia haingana kokoa, tsotra, azo antoka kokoa ary azo karakaraina kokoa. Raha ampitahaina amin'ny Go, V dia tsy manana fari-pahalalana manerantany, tsy misy nulls, ny soatoavina miovaova rehetra dia tsy maintsy faritana foana, ny zavatra rehetra dia tsy azo ovaina amin'ny alΓ lan'ny default, karazana asa iray ihany no tohanana ("a: = 0"), izay mirindra kokoa. runtime sy ny haben'ny rakitra azo tanterahana aterak'izany, ny fisian'ny portability mivantana avy amin'ny C, ny tsy fisian'ny mpanangom-pako, ny serialization haingana kokoa, ny fahafahana mampifandray tady (β€œprintln('$foo: $bar.baz')”).

fn main() {
faritra := ['lalao', 'web', 'fitaovana', 'siansa', 'rafitra', 'GUI', 'mobile'] a := 10
raha marina {
ny: = 20
}
ho an'ny faritra amin'ny faritra {
println('Manahoana, $mpamorona faritra!')
}
}

Toetran'ny tetikasa:

  • Compiler compact sy haingana, izay miaraka amin'ny tranomboky mahazatra dia mahatratra 400 KB. Ny hafainganam-pandeha avo lenta dia azo amin'ny alΓ lan'ny famokarana mivantana ny code machine sy ny modularity. Ny hafainganam-pandehan'ny fanangonana dia manodidina ny 1.2 tapitrisa andalana code isan-tsegondra amin'ny fototra CPU iray (marihina fa mandritra ny fandidiana V dia afaka mampiasa C, avy eo ny hafainganam-pandeha dia midina ho andalana 100 arivo isan-tsegondra). Ny famorian-tena ny compiler, izay voasoratra amin'ny fiteny V ihany koa (misy dikan-teny reference ao amin'ny Go), dia mila 0.4 segondra eo ho eo. Amin'ny faran'ny taona dia andrasana ho vita ny asa amin'ny fanatsarana fanampiny, izay hampihena ny fotoana fananganana compiler ho 0.15 segondra. Raha tsaraina amin'ny fitsapana nataon'ny mpamorona, ny fivorian'ny Go dia mitaky 512 MB ny habaka kapila ary mandeha ao anatin'ny iray minitra sy sasany, ny Rust dia mitaky 30 GB sy 45 minitra, GCC - 8 GB ary 50 minitra, Clang - 90 GB ary 25 minitra,
    Swift - 70 GB sy 90 minitra;

  • Ny programa dia natambatra ho rakitra azo tanterahana tsy misy fiankinan-doha ivelany. Ny haben'ny rakitra azo ampiasaina amin'ny mpizara http tsotra aorian'ny fivoriambe dia 65 KB;
  • Ny fahombiazan'ny rindranasa natambatra dia eo amin'ny ambaratongan'ny fivorian'ny programa C;
  • Ny fahafahana mifandray amin'ny kaody C, tsy misy overhead fanampiny. Ny fiasa amin'ny fiteny C dia azo antsoina amin'ny fehezan-dalΓ na amin'ny fiteny V, ary ny mifamadika amin'izany, ny fehezan-dalΓ na amin'ny fiteny V dia azo antsoina amin'ny fiteny rehetra mifanaraka amin'ny C;
  • Fanohanana ny fandikana ny tetikasa C/C++ ho fanehoana amin'ny fiteny V. Ny parser avy amin'ny Clang no ampiasaina amin'ny fandikana. Tsy mbola tohanana avokoa ny endri-javatra rehetra amin'ny fenitra C, fa ny fahaizan'ny mpandika teny amin'izao fotoana izao dia efa ampy fandikan-teny amin'ny fitenin'ny lalao V DOOM. Ny mpandika teny C++ dia mbola eo am-piandohan'ny fivoarana;
  • Fanohanana serialization naorina, tsy mifatotra amin'ny runtime;
  • Manamaivana ny asa fitsinjarana fahatsiarovana;
  • Fiantohana fiarovana: tsy misy NULL, fari-piainana manerantany, soatoavina tsy voafaritra ary fanavaozana miovaova. Fanamarinana ny overrun buffer. Fanohanana ny fiasa ankapobeny (Generic). Zavatra sy rafitra tsy azo ovaina amin'ny alΓ lan'ny default;
  • Ny mety hisian'ny famerenan'ny kaody "mafana" (mitarafana ny fiovan'ny kaody amin'ny sidina tsy misy famerenana indray);
  • Fitaovana hiantohana ny multithreading. Tahaka ny amin'ny fiteny Go, ny fananganana toy ny "run foo()" dia ampiasaina hanombohana andiana famonoana vaovao (mitovy amin'ny "go foo()"). Amin'ny ho avy, ny fanohanana ny goroutine sy ny fandaharam-potoana kofehy dia nomanina;
  • Fanohanana ho an'ny Windows, macOS, Linux, * BSD rafitra fandidiana. Mikasa ny hanampy ny Android sy iOS amin'ny faran'ny taona;
  • Fitantanana fahatsiarovana amin'ny fotoana fanangonana (toy ny amin'ny Rust), tsy mampiasa mpanangom-pako;
  • Ny fisian'ny fitaovana misy sehatra maro ho an'ny famoahana sary, mampiasa GDI+/Cocoa sy OpenGL ho an'ny fandefasana (fanohanana ny DirectX, Vulkan ary Metal API no nomanina). Misy fitaovana miasa amin'ny zavatra 3D, animation skeletal ary fanaraha-maso fakantsary;
  • Ny fisian'ny tranomboky hamoronana fifandraisana an-tsary miaraka amin'ireo singa famolavolana avy amin'ny OS tsirairay. Mampiasa WinAPI/GDI+ ny Windows, mampiasa Cocoa ny macOS, ary mampiasa widgets manokana ny Linux. Ny tranomboky dia efa ampiasaina amin'ny fampandrosoana volt - mpanjifa ho an'ny Slack, Skype, Gmail, Twitter ary Facebook;

    Ny drafitra dia ny hamorona fampiharana famolavolana interface tsara Delphi, manome API fanambarana mitovy amin'ny SwiftUI sy React Native, ary manome fanohanana amin'ny famoronana rindranasa finday ho an'ny iOS sy Android;

    V programming language open source

  • Ny fisian'ny rafitra web naorina, izay ampiasaina hamoronana tranokala, forum ary bilaogy ho an'ny mpamorona tetikasa. Tohanana ny fanangonana mialoha ny maodely HTML, tsy misy fanodinana azy amin'ny fangatahana tsirairay;
  • Fanohanana cross compilation. Mba hananganana ny rakitra azo tanterahana ho an'ny Windows, mandehana fotsiny ny "v -os windows", ary ho an'ny Linux - "v -os linux" (miandry ny fanohanana cross-compilation ho an'ny macOS aoriana). Ny cross-compilation koa dia miasa amin'ny fampiharana grafika;
  • Mpitantana fiankinan-doha naorina, mpitantana fonosana ary fitaovana fananganana. Mba hananganana ny programa, mandehana fotsiny "v.", tsy mampiasa make na fitaovana ivelany. Raha hametraka trano famakiam-boky fanampiny, mandehana fotsiny, ohatra, "v get sqlite";
  • Ny fisian'ny plugins ho an'ny fampandrosoana amin'ny fiteny V amin'ny tonian-dahatsoratra VS Code ΠΈ vim.

famolavolana TSINJONAO fiaraha-monina miaraka amin'ny fisalasalana, satria nasehon'ny fehezan-dalΓ na navoaka fa tsy mbola nampiharina ny fahaiza-manao nambara rehetra ary asa be dia be no takiana mba hanatanterahana ny drafitra rehetra.
Ankoatra izany, tamin'ny voalohany dia nisy ny repository namoaka kaody tapaka izay manana olana amin'ny fivoriambe sy ny famonoana. Heverina fa mbola tsy tonga amin’ny dingana anombohan’ny mahatsikaritra azy ny mpanoratra LalΓ n'i Pareto, araka izay ny 20% amin'ny ezaka dia mamokatra 80% amin'ny vokatra, ary ny 80% amin'ny ezaka sisa dia mamokatra 20% amin'ny vokatra ihany.

Mandritra izany fotoana izany, ny mpitsikilo ny bug an'ny Project V dia manana lahatsoratra 10 teo ho eo nesorina fampisehoana kaody ambany kalitao, ohatra, dia manondro ny fampiasana ny C-insert sy ny fampiasana ao amin'ny tranomboky ny asa famafana ny lahatahiry ny rm baiko amin'ny alalan'ny antso os.system("rm -rf $ lalana"). Mpanoratra ny tetikasa Hoy izyfa nofafany fotsiny ny hafatra, namoaka troll (miaraka amin'ny fanovana manamafy ny fahamarinan'ny tsikera, mbola Π² manova tantara).

Source: opennet.ru

Add a comment