V teanga cláir foinse oscailte

Aistrithe isteach sa chatagóir tiomsaitheoir oscailte le haghaidh teanga V. Is teanga meaisín- tiomsaithe go statach í V a dhíríonn ar fhorbairt a dhéanamh níos éasca le cothabháil agus an-tapa le tiomsú. Cód tiomsaitheoir, leabharlanna agus uirlisí gaolmhara oscailte faoi ​​cheadúnas MIT.

Tá comhréir V an-chosúil le Go, ag fáil roinnt tógála ar iasacht ó Oberon, Rust, agus Swift. Déantar an teanga a shimpliú oiread agus is féidir agus, de réir an fhorbróra, is leor 30 nóiméad staidéir chun na bunghnéithe a fhoghlaim doiciméadú. Ag an am céanna, tá an teanga sách cumhachtach i gcónaí agus is féidir í a úsáid chun na tascanna céanna a dhéanamh agus a úsáidtear nuair a bhíonn teangacha ríomhchlárúcháin eile in úsáid (mar shampla, tá leabharlanna ar fáil le haghaidh grafaicí 2D/3D, ag cruthú GUIanna agus feidhmchláir ghréasáin).

Spreag cruthú teanga nua an fonn chun meascán a bhaint amach de shimplíocht chomhréire na teanga Go, luas tiomsaithe, éascaíocht chomhthreomhar oibríochtaí, inaistritheacht agus inchothaitheacht an chóid le feidhmíocht C/C++, slándáil Rust agus giniúint cód meaisín ag céim tiomsaithe Zig. Theastaigh uaim freisin tiomsaitheoir dlúth agus tapa a fháil a d’fhéadfadh oibriú gan spleáchais sheachtracha, fáil réidh leis an raon feidhme domhanda (athróga domhanda) agus an cumas an cód a athlódáil “te”.

I gcomparáid le C++, tá an teanga nua i bhfad níos simplí, soláthraíonn sí luas tiomsaithe níos tapúla (suas le 400 uair), cleachtann sí teicníochtaí sábháilte ríomhchláraithe, saor ó fhadhbanna iompair neamhshainithe, agus soláthraíonn sí uirlisí ionsuite le haghaidh oibríochtaí comhthreomhara. I gcomparáid le Python, tá V níos tapúla, níos simplí, níos sábháilte, agus níos inbhuanaithe. I gcomparáid le Go, níl aon athróg dhomhanda ag V, níl aon nulls ann, ní mór gach luach athróg a shainiú i gcónaí, tá gach réad do-athchurtha de réir réamhshocraithe, ní thacaítear ach le cineál amháin sannacháin (“a := 0”), rud atá i bhfad níos dlúithe am rite agus méid na gcomhad inrite mar thoradh air, láithreacht iniomparthachta díreach ó C, easpa bailitheoir truflais, sraithiú níos tapúla, an cumas teaghráin a idirshuí ("println('$ foo: $bar.baz')").

fn príomh() {
réimsí := ['cluiche', 'gréasán', 'uirlisí', 'eolaíocht', 'córais', 'GUI', 'soghluaiste'] a := 10
más fíor {
chuig := 20
}
do cheantar i gceantair {
println('Dia duit, forbróirí $area!')
}
}

Gnéithe an Tionscadail:

  • Tiomsaitheoir dlúth agus tapa, a thógann suas le thart ar 400 KB in éineacht leis an leabharlann chaighdeánach. Baintear amach luas ard tiomsaithe trí chód meaisín agus modúlacht a ghiniúint go díreach. Is é an luas tiomsaithe thart ar 1.2 milliún línte cód in aghaidh an tsoicind ar chroí amháin LAP (tugtar faoi deara gur féidir le V úsáid a bhaint as C, ansin titeann an luas go 100 míle líne in aghaidh an tsoicind). Tógann an tiomsaitheoir féin-chóimeáil, atá scríofa sa teanga V freisin (tá leagan tagartha in Go) thart ar 0.4 soicind. Faoi dheireadh na bliana, táthar ag súil go mbeidh obair ar bharrfheabhsú breise críochnaithe, rud a laghdóidh am tógála an tiomsaitheora go 0.15 soicind. Ag breithiúnas ó na tástálacha a rinne an forbróir, éilíonn féin-thionól Go 512 MB de spás diosca agus ritheann sé i gceann go leith nóiméad, éilíonn Rust 30 GB agus 45 nóiméad, GCC - 8 GB agus 50 nóiméad, Clang - 90 GB agus 25 nóiméad,
    Swift - 70 GB agus 90 nóiméad;

  • Tiomsaítear cláir i gcomhaid inrite gan spleáchais sheachtracha. Is é an méid comhaid inrite de fhreastalaí http simplí tar éis tionóil ach 65 KB;
  • Tá feidhmíocht na bhfeidhmchlár tiomsaithe ag leibhéal tionóil chláir C;
  • An cumas idirghníomhú gan uaim le cód C, gan forchostais bhreise. Is féidir feidhmeanna sa teanga C a ghlaoch ó chód sa teanga V, agus vice versa, is féidir cód sa teanga V a ghlaoch in aon teanga atá ag luí le C;
  • Tacaíocht chun tionscadail C/C++ a aistriú go léiriúchán sa teanga V. Úsáidtear parsálaí ó Clang le haghaidh aistriúcháin. Ní thacaítear le gach gné den chaighdeán C go fóill, ach is leor cumais reatha an aistritheora cheana féin aistriúchán i dteanga an chluiche V DOOM. Tá an t-aistritheoir C++ fós ag céim luath forbartha;
  • Tacaíocht sraitheachú ionsuite, gan a bheith ceangailte le ham rite;
  • Oibríochtaí leithdháilte cuimhne a íoslaghdú;
  • Sábháilteacht a chinntiú: gan NULL, athróga domhanda, luachanna neamhshainithe agus athshainiú athraitheach. Seiceáil róchaiteachais maoláin ionsuite. Tacaíocht d'fheidhmeanna cineálacha (Cineálta). Cuspóirí agus struchtúir nach féidir a athrú de réir réamhshocraithe;
  • Féidearthacht cód “te” a athlódáil (a léiríonn athruithe sa chód ar an eitilt gan ath-thiomsú);
  • Uirlisí chun multithreading a chinntiú. Díreach mar atá sa teanga Go, úsáidtear tógáil cosúil le “run foo()” chun snáithe nua cur i gcrích a thosú (cosúil le “go foo()”). Sa todhchaí, tá sé beartaithe tacaíocht a thabhairt do goroutines agus sceidealóir snáithe;
  • Tacaíocht do chórais oibriúcháin Windows, macOS, Linux, *BSD. Tá sé beartaithe tacaíocht a chur leis do Android agus iOS faoi dheireadh na bliana;
  • Bainistíocht cuimhne ag am tiomsaithe (mar atá i Rust), gan úsáid a bhaint as bailitheoir truflais;
  • Foireann uirlisí il-ardán a bheith ar fáil le haghaidh aschur grafaice, ag baint úsáide as GDI+/Cocoa agus OpenGL le haghaidh rindreála (tá tacaíocht do DirectX, Vulkan agus APInna Miotail beartaithe). Tá uirlisí ann chun oibriú le rudaí 3D, beochan cnámharlaigh agus rialú ceamara;
  • Leabharlann a bheith ar fáil chun comhéadain ghrafacha a ghiniúint le heilimintí dearaidh atá dúchasach do gach OS. Úsáideann Windows WinAPI/GDI+, úsáideann macOS Cócó, agus úsáideann Linux a shraith giuirléidí féin. Tá an leabharlann in úsáid cheana féin i bhforbairt Volta — cliant le haghaidh Slack, Skype, Gmail, Twitter agus Facebook;

    Is é an plean feidhmchlár deartha comhéadain cosúil le Delphi a chruthú, API dearbhaithe cosúil le SwiftUI agus React Native a sholáthar, agus tacaíocht a sholáthar chun feidhmchláir shoghluaiste a chruthú le haghaidh iOS agus Android;

    V teanga cláir foinse oscailte

  • Infhaighteacht creat gréasáin ionsuite, a úsáidtear chun suíomh gréasáin, fóram agus blag a chruthú d'fhorbróirí an tionscadail. Tacaítear le réamh-thiomsú teimpléid HTML, gan iad a phróiseáil ar gach iarratas;
  • Tacaíocht tras-thiomsaithe. Chun an comhad inrite do Windows a thógáil, níl le déanamh ach “v -os windows” a reáchtáil, agus le haghaidh Linux - “v -os linux” (táthar ag súil le tacaíocht tras-thiomsaithe do macOS níos déanaí). Oibríonn tras-thiomsú freisin le haghaidh feidhmeanna grafacha;
  • Bainisteoir spleáchais ionsuite, bainisteoir pacáiste agus uirlisí tógála. Chun an clár a thógáil, níl le déanamh ach “v” a reáchtáil, gan úsáid a bhaint as déanamh nó as fóntais sheachtracha. Chun leabharlanna breise a shuiteáil, ní gá ach rith, mar shampla, “v get sqlite”;
  • Infhaighteacht breiseán le forbairt sa teanga V in eagarthóirí Cód VS и vim.

Forbairt a fheictear pobail le amhras, ós rud é gur léirigh an cód foilsithe nach bhfuil gach cumas dearbhaithe curtha i bhfeidhm go fóill agus go bhfuil gá le méid mór oibre chun na pleananna go léir a chur i bhfeidhm.
Ina theannta sin, ar dtús bhí an stór phostáil cód briste a bhfuil fadhbanna aige le cóimeáil agus le cur i gcrích. Glactar leis nach bhfuil an chéim bainte amach ag an údar go fóill ina dtosaíonn siad ag tabhairt faoi deara Dlí Pareto, dá réir a tháirgeann 20% den iarracht 80% den toradh, agus ní tháirgeann an 80% eile den iarracht ach 20% den toradh.

Idir an dá linn, baineadh thart ar 10 bpostáil de rianaire fabhtanna Tionscadal V taispeántais Léiríonn cód ar chaighdeán íseal, mar shampla, úsáid C-inserts agus úsáid sa leabharlann feidhmeanna chun eolaire an ordaithe rm a scriosadh tríd an nglao os.system ("rm -rf $path"). Údar an tionscadail Dúirtgur scrios sé ach na teachtaireachtaí, foilsithe troll (le hathruithe a dheimhníonn bailíocht na cáineadh, fhan в stair in eagar).

Foinse: oscailtenet.ru

Add a comment