V cànan prògramadh stòr fosgailte

Eadar-theangaichte a-steach don roinn de neach-cruinneachaidh fosgailte airson cànan V. Tha V na chànan inneal air a chlò-bhualadh gu staitigeach a tha ag amas air leasachadh a dhèanamh nas fhasa a chumail suas agus gu math luath airson a chur ri chèile. Còd compiler, leabharlannan agus innealan co-cheangailte fosgailte fo chead MIT.

Tha co-chòrdadh V glè choltach ri Go, a 'faighinn iasad de chuid de rudan bho Oberon, Rust, agus Swift. Tha an cànan air a dhèanamh nas sìmplidhe cho mòr ‘s a ghabhas agus, a rèir an leasaiche, tha 30 mionaid de sgrùdadh gu leòr airson na bunaitean ionnsachadh sgrìobhainnean. Aig an aon àm, tha an cànan fhathast gu math cumhachdach agus faodar a chleachdadh gus na h-aon ghnìomhan a dhèanamh agus nuair a bhios tu a’ cleachdadh chànanan prògramaidh eile (mar eisimpleir, tha leabharlannan rim faighinn airson grafaigean 2D/3D, a’ cruthachadh GUIn agus tagraidhean lìn).

Chaidh cruthachadh cànan ùr a bhrosnachadh leis a’ mhiann a bhith a’ coileanadh measgachadh de shìmplidheachd co-chòrdadh cànan Go, astar cruinneachaidh, cho furasta ‘s a tha gnìomhachd co-shìnte, comasachd agus seasmhachd còd le coileanadh C / C ++, tèarainteachd Rust agus gineadh còd inneal aig ìre cruinneachaidh Zig. Bha mi cuideachd airson inneal-cruinneachaidh sgiobalta agus luath fhaighinn a dh’ fhaodadh a bhith ag obair às aonais eisimeileachd bhon taobh a-muigh, faighinn cuidhteas an raon chruinneil (caochladairean cruinne) agus comas a thoirt don chòd “teth” ath-luchdachadh.

An coimeas ri C ++, tha an cànan ùr gu math nas sìmplidh, a’ toirt seachad astar cruinneachaidh nas luaithe (suas ri 400 uair), a’ cleachdadh dòighean prògramaidh sàbhailte, saor bho dhuilgheadasan le giùlan neo-mhìnichte, agus a’ toirt seachad innealan togte airson obair co-shìnte a dhèanamh. An coimeas ri Python, tha V nas luaithe, nas sìmplidh, nas sàbhailte agus nas seasmhaiche. An coimeas ri Go, chan eil caochladairean cruinne aig V, no nulls, feumar a h-uile luach caochlaideach a mhìneachadh an-còmhnaidh, tha a h-uile nì so-ruigsinneach gu bunaiteach, chan eil ach aon seòrsa de shònrachadh a’ faighinn taic (“a := 0”), rud a tha gu math nas toinnte ùine ruith agus meud nam faidhlichean so-ghnìomhaichte a thig às, làthaireachd so-ghiùlain dìreach bho C, às aonais neach-cruinneachaidh sgudail, sreathachadh nas luaithe, an comas sreangan eadar-cheangailte ("println ('$ foo: $bar.baz')").

fn prìomh() {
raointean := ['geam', 'lìn', 'innealan', 'saidheans', 'siostaman', 'GUI', 'gluasadach'] a := 10
ma tha e fìor {
aig :=20
}
airson sgìre ann an sgìrean {
println ('Hello, $area luchd-leasachaidh!')
}
}

Feartan pròiseict:

  • Compact agus inneal-cruinneachaidh luath, a bhios còmhla ris an leabharlann àbhaisteach a 'toirt suas mu 400 KB. Tha astar cruinneachaidh àrd air a choileanadh tro ghineadh dìreach de chòd inneal agus modularity. Tha an astar cruinneachaidh timcheall air 1.2 millean loidhne de chòd gach diog air aon chridhe CPU (thèid a thoirt fa-near gum faod V C a chleachdadh rè obrachadh, an uairsin bidh an astar a’ tuiteam gu 100 mìle loidhne san diog). Bidh fèin-chruinneachadh an cruinneachaidh, a tha cuideachd sgrìobhte sa chànan V (tha dreach iomraidh ann an Go cuideachd), a’ toirt timcheall air 0.4 diogan. Ro dheireadh na bliadhna, thathar an dùil gum bi obair air optimizations a bharrachd deiseil, a lughdaicheas ùine togail an cruinneachaidh gu 0.15 diogan. A ’breithneachadh leis na deuchainnean a rinn an leasaiche, feumaidh fèin-chruinneachadh Go 512 MB de dh’ àite diosc agus ruith e ann an aon mhionaid gu leth, feumaidh Rust 30 GB agus 45 mionaidean, GCC - 8 GB agus 50 mionaidean, Clang - 90 GB agus 25 mionaid,
    Swift - 70 GB agus 90 mionaid;

  • Tha prògraman air an cur ri chèile ann am faidhlichean so-ghnìomhaichte gun eisimeileachd bhon taobh a-muigh. Chan eil meud faidhle so-ghnìomhaichte frithealaiche http sìmplidh às deidh co-chruinneachadh ach 65 KB;
  • Tha coileanadh thagraidhean cruinnichte aig ìre co-chruinneachaidhean phrògraman C;
  • Comas eadar-obrachadh gu sgiobalta le còd C, gun chosgaisean a bharrachd. Faodar gnìomhan sa chànan C a ghairm bho chòd anns a’ chànan V, agus a chaochladh, faodar còd sa chànan V a ghairm ann an cànan sam bith a tha co-chosmhail ri C;
  • Taic airson pròiseactan C/C++ eadar-theangachadh gu riochdachadh sa chànan V. Bithear a’ cleachdadh parser bho Clang airson eadar-theangachadh. Chan eil a h-uile feart de inbhe C a’ faighinn taic fhathast, ach tha comasan gnàthach an eadar-theangair gu leòr mu thràth eadar-theangachadh ann an cànan a’ gheama V DOOM. Tha an t-eadar-theangair C ++ fhathast aig ìre leasachaidh tràth;
  • Taic sreathachaidh togte, gun a bhith ceangailte ri ùine ruith;
  • A 'lùghdachadh gnìomhachd riarachadh cuimhne;
  • A’ dèanamh cinnteach à sàbhailteachd: gun NULL, caochladairean cruinne, luachan neo-mhìnichte agus ath-mhìneachadh caochlaideach. Sgrùdadh thar-ruith bufair togte. Taic airson gnìomhan coitcheann (Coitcheann). Rudan agus structaran nach gabh atharrachadh gu bunaiteach;
  • Comas ath-luchdachadh còd “teth” (a ’nochdadh atharrachaidhean ann an còd air an itealan gun ath-chruinneachadh);
  • Innealan airson dèanamh cinnteach à multithreading. Dìreach mar anns a’ chànan Go, thathas a’ cleachdadh structar mar “run foo()” gus snàithlean cur gu bàs ùr a thòiseachadh (coltach ri “go foo()”). Anns an àm ri teachd, thathar a 'dealbhadh taic airson goroutines agus clàr-ama snàithlean;
  • Taic airson siostaman obrachaidh Windows, macOS, Linux, * BSD. Thathas an dùil taic a chuir ris airson Android agus iOS ro dheireadh na bliadhna;
  • Riaghladh cuimhne aig àm cruinneachaidh (mar ann an Rust), gun a bhith a ’cleachdadh neach-cruinneachaidh sgudail;
  • Cothrom air inneal ioma-àrd-ùrlar airson toradh grafaigean, a’ cleachdadh GDI +/Cocoa agus OpenGL airson a thoirt seachad (tha taic airson DirectX, Vulkan agus APIan Meatailt san amharc). Tha innealan ann airson a bhith ag obair le nithean 3D, beòthalachd cnàimhneach agus smachd camara;
  • Leabharlann ri fhaighinn airson eadar-aghaidh grafaigeach a chruthachadh le eileamaidean dealbhaidh a tha dùthchasach do gach OS. Bidh Windows a’ cleachdadh WinAPI/GDI+, bidh macOS a’ cleachdadh Cocoa, agus bidh Linux a’ cleachdadh a sheata de widgets fhèin. Tha an leabharlann air a chleachdadh mar-thà ann an leasachadh Volt - neach-dèiligidh airson Slack, Skype, Gmail, Twitter agus Facebook;

    Is e am plana tagradh dealbhaidh eadar-aghaidh coltach ri Delphi a chruthachadh, API dearbhach a thoirt seachad coltach ri SwiftUI agus React Native, agus taic a thoirt seachad airson a bhith a’ cruthachadh aplacaidean gluasadach airson iOS agus Android;

    V cànan prògramadh stòr fosgailte

  • Ri fhaighinn air frèam lìn togte, a tha air a chleachdadh gus làrach-lìn, fòram agus blog a chruthachadh airson luchd-leasachaidh a’ phròiseict. Thathas a’ toirt taic do ro-chruinneachadh teamplaidean HTML, gun a bhith gan giullachd air gach iarrtas;
  • Taic airson tar-chruinneachadh. Gus am faidhle so-ghnìomhaichte a thogail airson Windows, dìreach ruith “v -os windows”, agus airson Linux - “v -os linux” (tha dùil ri taic tar-chruinneachadh airson macOS nas fhaide air adhart). Bidh tar-chruinneachadh cuideachd ag obair airson tagraidhean grafaigeach;
  • Manaidsear eisimeileachd togte, manaidsear pacaid agus innealan togail. Gus am prògram a thogail, dìreach ruith “v.”, gun a bhith a’ cleachdadh dèanamh no goireasan taobh a-muigh. Gus leabharlannan a bharrachd a stàladh, dìreach ruith, mar eisimpleir, “v get sqlite”;
  • Na tha ri fhaighinn de plugins airson leasachadh sa chànan V ann an luchd-deasachaidh Còd VS и Vim.

Leasachadh air am faicinn coimhearsnachd le spleuchd, leis gun do sheall an còd foillsichte nach deach a h-uile comas dearbhte a chuir an gnìomh fhathast agus gu bheil feum air tòrr obrach gus a h-uile plana a bhuileachadh.
A bharrachd air an sin, an toiseach bha an stòr air a phostadh còd briste aig a bheil duilgheadasan le co-chruinneachadh agus coileanadh. Thathas den bheachd nach eil an t-ùghdar fhathast air an ìre aig an do thòisich iad a’ mothachadh lagh Pareto, a rèir a bheil 20% de oidhirp a 'toirt a-mach 80% den toradh, agus chan eil an 80% eile den oidhirp a' toirt a-mach ach 20% den toradh.

Aig an aon àm, chaidh timcheall air 10 puist a thoirt air falbh bho rianadair bug Project V taisbeanadh còd càileachd ìosal, mar eisimpleir, a’ comharrachadh cleachdadh C-inserts agus cleachdadh anns an leabharlann de ghnìomhan airson cuir às don eòlaire den àithne rm tron ​​​​ghairm os.system (“rm -rf $path”). Ùghdar a’ phròiseict air ainmeachadhgun do chuir e às ach na teachdaireachdan, foillsichte troll (le atharrachaidhean a’ dearbhadh dligheachd a’ chàineadh, dh'fhuirich в deasaich eachdraidh).

Source: fosgailtenet.ru

Cuir beachd ann