Izdanje programskog jezika Julia 1.3

objavljeno izdanje programskog jezika Julia 1.3, kombinujući kvalitete kao što su visoke performanse, podrška za dinamičko kucanje i ugrađeni alati za paralelno programiranje. Julijina sintaksa je bliska MATLAB-u, pozajmljujući neke elemente iz Ruby-ja i Lisp-a. Metoda manipulacije stringovima podsjeća na Perl. Šifra projekta distribuira pod MIT licencom.

В nova verzija:

  • Mogućnost implementirana dopune metode u apstraktne tipove;
  • Osigurana je podrška za Unicode 12.1.0 i mogućnost korištenja specifičnih stilova Unicode digitalnih znakova (𝟎-𝟗, 𝟘-𝟡) u identifikatorima;
  • Za prikaz i raščlanjivanje nestandardnih imena varijabli predložio nova sintaksa var"#str#";
  • Alati koji se odnose na višenitnost su prošireni: Makro Threads.@spawn i ključna riječ Channel(f::Function, spawn=true) su dodani da organiziraju pokretanje zadataka u bilo kojoj dostupnoj niti. Sve sistemske I/O operacije sa datotekama i utičnicama, kao i generator pseudo-slučajnih brojeva, prilagođeni su za višenitne aplikacije (thread-safe);
  • Dodane nove funkcije biblioteke uključujući
    findfirst, findlast, findnext, findprev, findall(uzorak, string), count(uzorak, string), sincosd(x) i nonmissingtype.

Ključne karakteristike jezika:

  • Vysokaya performanse: jedan od ključnih ciljeva projekta je postizanje performansi bliskih C programima. Julia kompajler je zasnovan na radu LLVM projekta i generiše efikasan izvorni mašinski kod za mnoge ciljne platforme;
  • Podržava različite paradigme programiranja, uključujući elemente objektno orijentisanog i funkcionalnog programiranja. Standardna biblioteka pruža, između ostalog, funkcije za asinhroni I/O, kontrolu procesa, evidentiranje, profilisanje i upravljanje paketima;
  • Dinamičko kucanje: jezik ne zahtijeva eksplicitnu definiciju tipova za varijable, slično programskim jezicima za skriptiranje. Podržan interaktivni način rada;
  • Opciona mogućnost eksplicitnog specificiranja tipova;
  • Sintaksa idealna za numeričko računanje, naučno računanje, mašinsko učenje i vizualizaciju podataka. Podrška za mnoge tipove numeričkih podataka i alate za paralelizaciju izračunavanja.
  • Mogućnost direktnog pozivanja funkcija iz C biblioteka bez dodatnih slojeva.
  • izvor: opennet.ru

Dodajte komentar