ulia ir dinamiska, augsta līmeņa, augstas veiktspējas valoda tehniskajai skaitļošanai.
Pirms dažām dienām tika paziņots par programmēšanas valodas Julia 1.9 jaunās versijas izlaišanu, kas apvieno tādas īpašības kā augsta veiktspēja, atbalsts dinamiskai rakstīšanai un iebūvēti rīki paralēlai programmēšanai. Jūlijas sintakse ir tuva MATLAB, daži elementi ir aizgūti no Ruby un Lisp.
Julia izceļas ar to, ka tā ir daudzplatformu un vairāku paradigmu programmēšanas valoda ar dinamisku rakstīšanu augsta līmeņa, augstas veiktspējas ietvars vispārējai, tehniskai un zinātniskai skaitļošanai, kura sintakse ir līdzīga citām līdzīgām skaitļošanas vidēm.
Galvenās Jūlijas ziņas 1.9
Šajā jaunajā Julia 1.9 versijā, kas tiek prezentēta, vairākas uzlabojumi izpildlaikā/kompilatorā, kopš tur bija Būtiski samazināts laiks līdz pirmajam braucienam. Pakotnes iepriekšēja kompilācija tagad saglabā sākotnējo kodu "pkgimage", kas nozīmē, ka kods, kas ģenerēts iepriekšējas kompilācijas laikā, pēc pakotnes ielādes nebūs jāpārkompilē. Pkgimages režīma izmantošanu var atspējot ar opciju “–pkgimages=no”.
Vēl viena no izmaiņām, kas izceļas, ir Tagad var optimizēt zvanus ar tipam nespecifiskiem argumentiem izmantojot pievienošanas sadalījumu injekcijai vai statiskai izšķirtspējai, pat ja ir vairāki dažādi iesniegšanas kandidātu veidi. Tas var uzlabot veiktspēju noteiktās situācijās, kad objektu tipi nav pilnībā statiski atrisināti, statiski atrisinot zvanu vietnes.@nospecialize-d" un izvairieties no atkārtotas kompilācijas.
Viena rakstzīmes literāļi tagad atbalsta to pašu sintaksi kā virknes literāļi; šī sintakse var attēlot nederīgas UTF-8 sekvences, kā to atļauj Char tips.
Papildus tam operētājsistēmās Linux un Windows šī iespēja «--threads=auto» tagad mēģina noteikt pieejamo procesoru skaitu pamatojoties uz CPU afinitāti, kas ir maska, kas parasti tiek iestatīta HPC un mākoņa vidēs.
Opcija ir atspējota-- matemātikas režīms = ātrs", kura vietā ieteicams izmantot makro"@fastmath", kam papildus parametram ir labi definēta semantika–Vītnes» tagad ir formāts «auto | N[,auto|M]», kur M norāda veidojamo interaktīvo pavedienu skaitu.
Pievienotā opcija «--heap-size-hint=» lai iestatītu slieksni, pēc kura sākas aktīvā atkritumu savākšana. Lielumu var norādīt baitos, kilobaitos (1000 KB), megabaitos (300 MB) vai gigabaitos (1,5 GB).
Makro "@invoke". kas tika ieviests 1.7 versijā, tagad ir eksportēts un pieejams lietošanai. Turklāt, tagad izmantojiet metodi "Core.Typeof(x)". drīzāk "Jebkurš", ja tipa anotācija argumentam "x" ir izlaista. Tas ir nepieciešams, lai tipi, kas nodoti kā argumenti, tiktu pareizi apstrādāti.
Turklāt, "Threads.@spawn" tagad ir neobligāts pirmais arguments ":default" vai ":interactive". Interaktīvam uzdevumam ir nepieciešama zema latentuma reakcija, un tas ir paredzēts īsam vai biežam. Interaktīvie uzdevumi darbosies interaktīvos pavedienos, ja tie būs norādīti, startējot Julia.
Gada citas izmaiņas, kas izceļas:
- Noliedzot predikāta funkciju "!f", tagad anonīmas funkcijas vietā tiek atgriezta saliktā funkcija "(!) ∘ f".
- Dimensiju sadalīšanas funkcijas tagad darbojas vairākās dimensijās: «katra šķēle”, “katra rinda” un “katra kola” atgriezt objektu"Šķēles» kas ļauj nosūtīšanai nodrošināt efektīvākas metodes.
- Makro "@kwdef» ir pievienots publiskajai API.
- Novērsta problēma ar darbību secību "fld1".
- Kārtošana tagad vienmēr ir stabila laika gaitā (pārveidots QuickSort).
- Noklusētais BLAS pavedienu skaits tagad ir vienāds ar CPU pavedienu skaitu ARM arhitektūrā un pusi no CPU pavedienu skaita citās arhitektūrās.
- Printf: Pārstrādāti kļūdu ziņojumi nepareizi veidotām virknēm labākai lasāmībai.
- Profils: jauna funkcija "Profile.take_heap_snapshot(file)", kas ieraksta failu JSON formātā ".heapsnapshot", ko atbalsta pārlūks Chrome.
- Pievienots Unicode 15 specifikācijas atbalsts.
- Kā tipa parametrus tagad var izmantot ligzdotās kortežu kombinācijas un nosauktās rakstzīmju kopas.
Visbeidzot, ja jūs interesē uzzināt vairāk par to, varat iepazīties ar informāciju Šajā saitē.