Dimittis de lingua programmandi 1.18

Dimissio linguae programmandi Go 1.18 exhibetur, quae augetur a Google participatione communitatis solutionis hybridis quae componit altam observantiam linguarum exaratarum cum tantis commoda linguarum scriptionis ut otium scribendi codicem. celeritas progressionis et erroris praesidium. In codice exertus licentia BSD distribuitur.

Syntaxum Ite in notis elementis linguae C fundatur cum quibusdam e Pythone linguae mutuatis. Lingua satis brevis est, sed codicem facile est legere et intelligere. Ire codicem in solas binarias exsecutabiles tabulas stantes exaravit quae sine usu virtualis machinae currunt (profiling, debugging moduli, et alia problemata deprehensio subsystema runtim sicut partes runtime integrantur), quae permittit ad faciendum comparandum cum C programs.

Proiectum initio evolvit cum oculo ad programmandi multi- plicandi et efficacem operationem in systemata multi-core, incluso modo operante-gradu comparando ad parallelas computandas et commercium inter methodos parallelos effectos ordinandi. Lingua etiam aedificata praebet in tutela contra memoriae caudices nimis partita et facultatem utendi quisquiliarum collectori praebet.

Nova versio subsidia addit pro functionibus genericis et speciebus (genericis), quarum ope elit definire et uti potest muneribus ad operandum pluribus simul generibus destinata. Possibile est etiam interfaces uti genera coniunctorum creare quae multiplices formas notarum exaequant. Firmamentum pro generica effectum est sine compatibilitate retrorsum fractione cum codice existente. // Sum valores pone, opera pro int64 et float64 genera func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V { var s V pro _, v := range m { s += v } return s } // Alia optio genus genericum definition: genus Number interface { int64 | float64 } func SumNumbers[K comparable, V Number](m map[K]V) V { var s V for _, v := range m { s += v } return s }

Aliae emendationes:

  • Utilitas pro codice probationis fuzzing in toolkit vexillum insertae sunt. In probatione fuzante, rivus omnium possibilium temere coniunctionum input datarum generatur et defectis possibilibus in eorum processui referuntur. Si sequentia inruerit vel responsioni exspectatae non congruit, hic mores valde probabile est ut cimex vel vulnerabilitas indicanda sit.
  • Addidit subsidium operarum multi modulorum, permittens mandata ex pluribus modulis simul exequi, permittens te simul in pluribus modulis codicem construere et currere.
  • Optimizationes significantes perficiendi causa factae sunt systemata in Apple M1, ARM64 et Processus PowerPC64. Facultatem ad tabulas pro ACERVUS effecit ut rationes ad munera transmitteret et exitum redderet. Improveed inline explicatio ansarum a compilator. Type checking in the compiler has been completely redesigned. Nonnullae probationes ostendunt 20% incrementum in codice perficiendi comparato ad priorem emissionem, sed compilatio ipsa circiter 15% longiorem accipit.
  • In runtime, efficacia redeundi liberatae memoriae ad systema operantem auctum est et operatio purgamentorum aucta est collector, cuius mores praedictio magis facti sunt.
  • Novae fasciculi rete/netip et debug/buildinfo ad bibliothecam vexillum additae sunt. Support pro TLS 1.0 et 1.1 per defaltam in clientis codice debilitatum est. Crypto/x509 modulus processus libellorum signati cessavit utens SHA-1 Nullam.
  • Requisita pro ambitu in Linux evecti sunt; ad operandum, nunc debes habere Linux nucleum saltem versionis 2.6.32. In altera emissione, similes mutationes exspectantur pro FreeBSD (auxilium pro FreeBSD 11.x ramus cessabit) et saltem FreeBSD 12.2 laborandum erit.

Source: opennet.ru