Rhyddhau iaith raglennu V 0.4.3

Ar ôl 40 diwrnod o ddatblygiad, mae fersiwn newydd o'r iaith raglennu V (vlang) wedi'i theipio'n statig wedi'i chyhoeddi. Y prif nodau wrth greu V oedd rhwyddineb dysgu a defnyddio, darllenadwyedd uchel, crynhoad cyflym, gwell diogelwch, datblygiad effeithlon, defnydd traws-lwyfan, gwell rhyngweithrededd â'r iaith C, gwell trin gwallau, galluoedd modern, a rhaglenni mwy cynaliadwy. Mae'r cod casglwr, llyfrgelloedd ac offer cysylltiedig yn ffynhonnell agored o dan y drwydded MIT.

Yn y fersiwn newydd:

  • Gwelliannau iaith:
    • Modiwl newydd “amgodio.xml gyda pharser, dilysu, profion uned.
    • Gwell cefnogaeth ar gyfer couroutines (IO, rhwydwaith).
    • Lleihau gweithrediadau dyrannu cof mewn cymwysiadau vweb 80%.
    • Gweithredu "@VCURRENTHASH" i gymryd lle "C.V_CURRENT_COMMIT_HASH".
    • Mae'r gwaith o hyrwyddo math newydd o int wedi dechrau, sy'n gysylltiedig â'r math i64 (yn flaenorol, nodwyd y math int gyda'r math i32).
    • Rheolau gwirio math sefydlog ar gyfer y math int newydd a chynhyrchu cod wedi'i optimeiddio.
  • Newidiadau API sy'n torri cydnawsedd:
    • Mae'r geiriadur "Request.cookies" wedi'i anghymeradwyo. Wedi'i ddisodli gan "Request.cookie()" a "Request.add_cookie()".
    • Rheolau llymach ar gyfer mathau C, y mae'n rhaid eu datgan bob amser yn awr.
  • Math gwirio newidiadau system:
    • Mae'r rhybudd am y rhaniad opsiwn/canlyniad wedi'i symud i gategori gwall.
    • Trwsiwch alw "fn" gyda dadl ddewisol yn y modd di-wifr.
    • Mae siec enwi yn ôl: cas pascal ar gyfer arallenwau.
    • C.xx = arallenwau C.yy.
    • Caniatáu castio mathau cyfanrif fel ystodau mewn blociau mathemateg.
    • Rhybudd am ddibrisiant y math beit (o blaid y math u8) pan gaiff ei ddefnyddio fel paramedr fn.
    • Trwsio'r dull atodiad ar gyfer araeau generig.
    • Gwirio am wall wrth weithredu rhyngwyneb preifat modiwl arall.
    • Gwirio sefydlog ar gyfer gwerthoedd cap a len negyddol wrth gychwyn arae.
    • Troi'r rhybudd am enwau modiwlau var a param dyblyg yn wall.
    • Caniatáu ailbennu'r newidyn cyfan a rennir (tra'n cynnal cyflwr blaenorol y mutex).
  • Gwelliannau parser:
    • Sefydlog neilltuo dull statig i swyddogaethau dienw.
    • AST: Fformatio sefydlog datganiad strwythur gyda strwythur nythu.
    • Ychwanegwyd dulliau set_all + clear_all i'r "[baner]" bitfields.
    • Rhybuddiwch am fewnforion nas defnyddiwyd, hyd yn oed os cânt eu datgan â "mewnforio math { sin, cos }".
  • Newidiadau casglwr:
    • gwiriwr, adeiladwr, pref: cefnogwch y faner "-dump-defines" i weld yr holl ddiffiniadau defnyddiwr a system sydd ar gael ar gyfer rhaglen benodol.
    • mapiau: ychwanegwyd mapiau.merge() a mapiau.merge_in_place() swyddogaethau.
  • Llyfrgell Safonol:
    • builtin: ychwanegodd dull "anniogel { a.reset() }" i osod pob beit mewn arae i 0 yn gyflym.
    • math.fractions: Defnyddiwch orlwytho gweithredwr a rhoi'r gorau i hen swyddogaethau.
    • gg: Trwsiwch draw_rounded_rect_empty aliniad ffin gwaelod ar macos a linux.
    • crypto.bcrypt: bug sefydlog yn bcrypt.
    • sokol: wedi'i ddiweddaru i'r fersiwn diweddaraf
    • adeiledig: sizeof sefydlog (C.BOOL) (penodol ar gyfer ffenestri).
    • math.big: Trwsio rhaniad anghywir gyda rhifau negatif.
    • os: Ychwanegwyd ffordd gyfleus i anwybyddu rhai signalau system.
    • os: trwsio os.ls (ffolder) mewn ffenestri pan na ellir agor y cyfeiriadur gwarchodedig.
    • crypto.sha/md5/ : Cyfrifiad sefydlog o'r un gwerthoedd hash wrth alw .sum() sawl gwaith ar gyfer sha1/256/512.
    • os: gweithredwyd os.fd_is_pending/1, os.Process.pipe_read/1, os.Process.is_pending/1.
    • json2: cefnogaeth ychwanegol i strwythurau nythu.
  • we
    • vweb: ychwanegu mathau meim ar gyfer ffeiliau .md statig.
    • net.conv: Swyddogaethau ychwanegol varinttou64 ac u64tovarint ar gyfer amgodio newidiol o gyfanrifau heb eu llofnodi a ddisgrifir yn rfc-9000 (ar gyfer QUIC).
    • net.http: cefnogaeth yn nodi swyddogaethau galw'n ôl on_running, on_stopped, on_closed yn http.Server{}, yn ogystal â show_startup_message: false.
    • net.http: Cymorth pasio trwy ddirprwy HTTPgweinydd yn http.fetch.
    • net.http: Ychwanegu mecanwaith ailgynnig at http.fetch() ar gyfer gwallau soced na ellir eu hosgoi.
    • wasm: ar waith yn unol cynulliad.
    • net.http: cynyddodd gwerth max_redirects i 16.
    • picoev: gweithredu modd amrwd ar gyfer gwaith uniongyrchol gyda disgrifwyr ffeil.
    • net.http: cefnogaeth ychwanegol i ddirprwyon socks5 a http(s) ar gyfer systemau tebyg i unix.
  • ORM:
    • orm: trin ychwanegol o werthoedd null a meysydd dewisol.
    • orm: Mae'r gweithrediadau is_null/is_not_null yn cael eu gwneud yn unary.
  • Gyrwyr Cronfa Ddata:
    • tud: Mae galwadau C wedi'u symud i ffeiliau .cv.
  • Cefndir brodorol:
    • brodorol: cefnogaeth ar gyfer baner -no-builtin (cynhyrchu ffeiliau gweithredadwy < 1 KB) Linux gan ddefnyddio "v -no-builtin -b native examples/hello_world.v").
    • brodorol: defnyddiwch i32 yn lle int.
  • C-backend:
    • ast, native, cgen: cefnogaeth ychwanegol ar gyfer "$if brodorol {}".
  • vfmt:
    • Nawr yn dileu toriadau llinell ychwanegol ar ôl call_expr a chyn dadleuon strwythur.
    • Aliniad gwerth sefydlog wrth ddefnyddio allweddi gyda nodau uft8.
    • Aliniad ymadroddion teiran mewn blociau const.
  • Offer:
    • Ychwanegwyd cefnogaeth @LOCATION i wneud dadfygio yn haws heb orfod cyfuno @FILE a @LINE ar amser rhedeg.
    • meincnod: ychwanegwyd dulliau newydd b.record_measure/1 a b.all_recorded_measures/0.
    • ci: llif gwaith github c2v wedi'i ddiweddaru.
    • llinynnau: ychwanegwyd dull Bulder.write_decimal/1 (ar gyfer ysgrifennu rhif degol, heb ddyraniadau ychwanegol).
    • Mae gosod modiwl presennol gan ddefnyddio vpm (ffenestri) wedi'i drwsio.
    • tools.vpm: gwell gwaith gyda chyfeiriadau sy'n gorffen yn ".git".
    • Gofyniad ychwanegol am ffeil v.mod i osod modiwlau trwy ddolenni allanol gan ddefnyddio vpm.

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster